Zum Inhalt springen →

30 Tage scikit-learn

Tag 1: Einführung und Installation

  • Was ist scikit-learn?
  • Installation:
    pip install scikit-learn
  • Überblick über die wichtigsten Module (Datasets, Modelle, Preprocessing)

Tag 2: Erstes Modell erstellen

  • Importieren eines einfachen Datasets (z.B. Iris)
  • Train/Test Split (train_test_split)
  • Einfaches Modell trainieren (z.B. LogisticRegression)
  • Vorhersagen und Auswertung (accuracy_score)

Tag 3: Daten verstehen und vorbereiten

  • Überblick über die Dataset-Attribute (.data, .target)
  • Feature Scaling (StandardScaler)
  • Umgang mit kategorischen Daten (OneHotEncoding)

Tag 4: Klassifikationsmodelle kennenlernen – k-NN

  • Implementiere k-Nearest Neighbors (KNeighborsClassifier)
  • Parameter verstehen (k-Wert)
  • Überprüfen, wie sich der k-Wert auf Accuracy auswirkt

Tag 5: Regression einfach erklärt

  • Lineare Regression implementieren (LinearRegression)
  • Interpretation der Koeffizienten
  • Vorhersagen und Fehlermaße (MSE, R2)

Tag 6: Train/Test Split und Cross Validation

  • Unterschied zwischen Train/Test Split und Cross-Validation
  • cross_val_score verwenden

Tag 7: Feature Engineering

  • Neue Features erzeugen (Polynomiale Features mit PolynomialFeatures)
  • Feature Auswahl: Simple Methoden mit SelectKBest

Tag 8: Entscheidungsbäume

  • Implementierung von DecisionTreeClassifier
  • Visualisierung des Baumes (z.B. mit export_graphviz / plot_tree)

Tag 9: Random Forest

  • RandomForestClassifier anwenden
  • Vorteile gegenüber einzelnen Entscheidungsbäumen

Tag 10: Gradient Boosting

  • Einführung in GradientBoostingClassifier
  • Unterschied zu Random Forest

Tag 11: Hyperparameter Tuning mit GridSearchCV

  • GridSearchCV einsetzen
  • SVM mit Hyperparameter Optimierung

Tag 12: Support Vector Machines (SVM)

  • SVC verwenden
  • Kernel verstehen (linear, rbf)

Tag 13: Pipeline erstellen

  • Erklärung und Vorteile von Pipeline
  • Beispiel Pipeline mit Skalierung + Modell

Tag 14: Feature Scaling vertiefen

Unterschied zwischen StandardScaler, MinMaxScaler
Wann ist Skalierung unbedingt notwendig?

Tag 15: Umgang mit fehlenden Werten

  • SimpleImputer lernen
  • Beispiel zur Imputation in Daten

Tag 16: Clustering-Grundlagen – KMeans

  • KMeans
  • Elbow-Methode für Clusteranzahl

Tag 17: Bewertungskriterien für Klassifikation

  • Confusion Matrix, Precision, Recall, F1-Score
  • classification_report verstehen

Tag 18: Mehr Klassifikatoren vergleichen

  • Vergleich von Logistic Regression, SVM und RandomForest

Tag 19: Pipeline + Cross-Validation kombinieren

  • Cross-Validation innerhalb einer Pipeline durchführen

Tag 20: Dimensionalitätsreduktion mit PCA

  • Prinzipielle Einführung in PCA
  • Anwendung von PCA auf Datensätze

Tag 21: Textdaten mit scikit-learn

  • Einfaches Bag-of-Words Modell mit CountVectorizer
  • Klassifikation von Textdaten testen

Tag 22: Modell speichern und laden

  • joblib zum Speichern und Laden von Modellen verwenden

Tag 23: Regression: Ridge und Lasso

  • Unterschied zu einfacher LinearRegression
  • Einfluss von Regularisierung verstehen

Tag 24: Mehrfeature-Datensätze verwenden

  • California Housing Dataset
  • Diabetes Dataset

Tag 25: Advanced Cross-Validation: Stratified KFold

  • Stratifikation bei Klassifikationsproblemen anwenden

Tag 26: Unbalancierte Datensätze

  • Umgang mit unbalancierten Klassen (z.B. class_weight, SMOTE mit externen Bibliotheken)

Tag 27: Evaluierung mit ROC und AUC

  • ROC-Kurve plotten und AUC berechnen (roc_auc_score)

Tag 28: Pipelines für Preprocessing und Modell

  • Komplexere Pipelines mit Preprocessing-Schritten

Tag 29: Multi-Output Regression und Klassifikation

  • Einführung in Multi-Output Methoden

Tag 30: Eigenes kleines Projekt

  • Komplettes Mini-Projekt mit scikit-learn durchführen
  • Von Daten laden bis Modell evaluieren und speichern

OK, das ist meine TODO-Liste für die nächsten 30 Tage. Ich plane für jeden Tag ca. 2 Stunden die ich mich mit dem jeweiligen Thema befasse. Ausnahme ist der Tag 30, der vermutlich wesentlich mehr als 2 Stunden in Anspruch nehmen wird und ich lasse das ein wenig nebenbei laufen. Ziel ist es abseits vom Gen-AI Hype ein wenig die Grundlagen von KI und Maschine-Learning aufzufrischen und die Grundlagen von scikit-learn zu verstehen und zu verinnerlichen.
Zur Unterstützung werde ich Google AI Studio verwenden. Gemini 2.5 Pro Preview 05-06 wird hier mein Lehrer sein und mich neben der offiziellen scikit-learn Doku unterstützen.
Zum Ausführen der scikit-learn Beispiele verwende ich mein lokal installiertes jupyter-lab und google-colab und verwende scikit-learn Version 1.6. Das ist aber eigentlich egal. Da scikit-learn keine Deep-Learning Bibliothek ist und die Beispiele nur geringe Anforderungen an die Hardware hat, kann man die Code-Examples auf typischen Consumer-PCs laufen lassen.

Veröffentlicht in Allgemein