Author: Taha El Amine Kassabi
Course: Machine Learning 2 (WS 2023/24)
Instructor: Prof. Dr. Dominik Heider
University: Heinrich Heine University DΓΌsseldorf (HHU)
This repository contains solutions to all 11 exercises from the Machine Learning 2 course at HHU. Each assignment covers foundational or advanced topics in classical machine learning β from matrix manipulation and statistics to support vector machines and neural networks. Most solutions consist of Jupyter notebooks, supplementary markdown or PDF answers, and linked datasets.
Sheets/
βββ Sheet 0 β Conda, YAML, file IO
βββ Sheet 1 β Text processing & matrices
βββ Sheet 2 β Descriptive statistics, correlation
βββ Sheet 3 β PCA & MDS (PCoA)
βββ Sheet 4 β Clustering (K-Means, Hierarchical)
βββ Sheet 5 β Linear and logistic regression
βββ Sheet 6 β k-Nearest Neighbors
βββ Sheet 7 β Support Vector Machines
βββ Sheet 8 β Decision Trees
βββ Sheet 9 β Random Forest & Performance Measures
βββ Sheet 10 β Neural Nets, Backprop, CNN filters
Each folder includes a task sheet (exercise_N.pdf) and data or helper files. Solutions are
under Solutions/Exercise N.
| Exercise | Topics |
|---|---|
| 0 | Conda setup, YAML, reading/writing files |
| 1 | Text parsing, matrix algebra |
| 2 | Descriptive stats, skewness, correlation |
| 3 | PCA & classical MDS |
| 4 | K-means, silhouettes, hierarchical clustering |
| 5 | Linear regression, logistic regression |
| 6 | k-Nearest Neighbors (k-NN), normalization |
| 7 | SVM, Lagrange multipliers, separating hyperplanes |
| 8 | Decision trees, information gain, Gini |
| 9 | Random forests, Gini importance, AUC, precision/recall |
| 10 | McCulloch/Pitts networks, backpropagation, CNN filters, MNIST training (bonus) |
pip install -r requirements.txtYou may also use JupyterLab or Google Colab for individual notebooks.
Navigate to any exercise in Solutions/Exercise N, open the notebook(s), and run the cells. Some tasks also
include .md, .pdf, or .docx explanations for handwritten answers.
- Most exercises were completed using Python with NumPy, Pandas, Matplotlib, Scikit-learn, and **SciPy **.
- For neural networks (Exercise 10 bonus), models were implemented using Keras/TensorFlow and PyTorch.