Skip to content

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

OrdnerVerfahrenTyp
01_Lineare_RegressionLineare Regression (LinearRegression)Regression
02_Polynomiale_RegressionPolynomiale Regression (PolynomialFeatures + Pipeline)Regression
03_RegularisierungRidge & Lasso (Ridge, Lasso)Regression
04_Logistische_RegressionLogistische Regression (LogisticRegression)Klassifikation
05_KlassifikationsmetrikenKonfusionsmatrix & Report (confusion_matrix, classification_report)Klassifikation
06_ROC_und_AUCROC-Kurve & AUC (roc_curve, roc_auc_score)Klassifikation
07_Entscheidungsbaum_KlassifikationEntscheidungsbaum (DecisionTreeClassifier, plot_tree)Klassifikation
08_Entscheidungsbaum_RegressionEntscheidungsbaum (DecisionTreeRegressor)Regression
09_Random_ForestRandom Forest & Feature Importance (RandomForestClassifier)Klassifikation
10_SVMSupport Vector Machine (SVC, linear & RBF-Kernel)Klassifikation
11_Support_Vector_RegressionSupport Vector Regression (SVR)Regression
12_KMeans_ClusteringK-Means (KMeans, silhouette_score)Clustering
13_Gaussian_MixtureGaussian Mixture Model (GaussianMixture)Clustering
14_PCAHauptkomponentenanalyse (PCA)Dimensionsreduktion
15_Kreuzvalidierung_GridSearchKreuzvalidierung & Hyperparameter (cross_val_score, GridSearchCV)Modellwahl
16_RANSACRobuste 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

Packages

Contributors

Languages