Skip to content

lookynch/Machine-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Übungsaufgaben Maschinelles Lernen (sklearn-Version)

Einfache, in sich abgeschlossene Python-Übungen zum Kurs Maschinelles Lernen (Semester 2). Der Fokus liegt auf den Standard-Workflows mit scikit-learn:

Daten laden → Train/Test-Split → mit sklearn fitten → vorhersagen → mit fertigen Funktionen bewerten → plotten → interpretieren.

Es wird nichts „von Hand" implementiert. Zum Bewerten und Plotten werden die fertigen Funktionen von sklearn, numpy und matplotlib genutzt (z. B. accuracy_score, confusion_matrix, roc_auc_score, r2_score, silhouette_score, plot_tree, ConfusionMatrixDisplay, RocCurveDisplay, DecisionBoundaryDisplay).

Erlaubte Bibliotheken

Nur numpy, matplotlib und scikit-learnkein pandas. Alle Eingabedaten liegen als CSV vor und werden immer mit np.genfromtxt(CSV_PATH, delimiter=",", skip_header=1) eingelesen.

Themenübersicht

Ordner Verfahren Typ
01_Lineare_Regression Lineare Regression (LinearRegression) Regression
02_Polynomiale_Regression Polynomiale Regression (PolynomialFeatures + Pipeline) Regression
03_Regularisierung Ridge & Lasso (Ridge, Lasso) Regression
04_Logistische_Regression Logistische Regression (LogisticRegression) Klassifikation
05_Klassifikationsmetriken Konfusionsmatrix & Report (confusion_matrix, classification_report) Klassifikation
06_ROC_und_AUC ROC-Kurve & AUC (roc_curve, roc_auc_score) Klassifikation
07_Entscheidungsbaum_Klassifikation Entscheidungsbaum (DecisionTreeClassifier, plot_tree) Klassifikation
08_Entscheidungsbaum_Regression Entscheidungsbaum (DecisionTreeRegressor) Regression
09_Random_Forest Random Forest & Feature Importance (RandomForestClassifier) Klassifikation
10_SVM Support Vector Machine (SVC, linear & RBF-Kernel) Klassifikation
11_Support_Vector_Regression Support Vector Regression (SVR) Regression
12_KMeans_Clustering K-Means (KMeans, silhouette_score) Clustering
13_Gaussian_Mixture Gaussian Mixture Model (GaussianMixture) Clustering
14_PCA Hauptkomponentenanalyse (PCA) Dimensionsreduktion
15_Kreuzvalidierung_GridSearch Kreuzvalidierung & Hyperparameter (cross_val_score, GridSearchCV) Modellwahl
16_RANSAC Robuste Regression (RANSACRegressor) Regression

Die alten Übungen (mit „von Hand"-Implementierungen) liegen im Ordner archiv/.

Aufbau eines Übungsordners

Jeder Ordner enthält vier Dateien:

  • aufgabe.py – Die Aufgabenstellung als Kommentar (Teile a, b, c …) mit fast keinem vorgegebenen Code. Hier schreibst du deine Lösung ab der Zeile # ab hier selbst schreiben ....
  • loesung.py – Die Musterlösung. Vor jedem Codeblock steht der jeweilige Aufgaben-Kommentar, gefolgt von # --- LÖSUNG --- und dem Lösungscode. So ist klar getrennt, was zu tun war und wie es gelöst wird.
  • daten_erzeugen.py – Erzeugt die CSV-Datei neu (nutzt sklearn.datasets bzw. einen numpy-Zufallsgenerator). Nur zur Reproduktion nötig – die CSV liegt bereits bei.
  • <datensatz>.csv – Die Eingabedaten.

Einrichtung

pip install -r requirements.txt

Benötigt Python 3.10+ mit numpy, scikit-learn, matplotlib (kein pandas).

Ausführen

# CSV bei Bedarf neu erzeugen und die Lösung starten, z. B.:
python 01_Lineare_Regression/daten_erzeugen.py
python 01_Lineare_Regression/loesung.py

Die Skripte öffnen matplotlib-Fenster (plt.show()). Möchtest du sie ohne Fenster nur auf Fehler prüfen, setze das Agg-Backend:

# PowerShell
$env:MPLBACKEND="Agg"; python 01_Lineare_Regression/loesung.py

Empfohlener Ablauf pro Übung

  1. aufgabe.py öffnen und die Aufgabenteile lesen.
  2. Ab # ab hier selbst schreiben ... selbst lösen (nur numpy/matplotlib/sklearn).
  3. Ausführen, Ausgaben und Plots prüfen.
  4. Mit loesung.py vergleichen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages