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.