- Python-Essentials:
- Installation von neuen Modulen
- Jupyter Notebooks / Jupyter Lab
- Verwendung von Funktionen und Methoden
- Python im Vergleich zu anderen Sprachen
Grundlegende Datenstrukturen:
- Einführung in grundlegende Datentypen (String, Integer, Float, NaN)
- Erläuterung wichtiger Strukturen: Liste, Tupel, Wörterbuch
- Einführung in List Comprehension
pandas-Datenverarbeitung - DataFrames:
- Erkunden der DataFrame-Struktur (Zeilen, Spalten)
- Auswahl von Zeilen/Spalten
- Erstellen, Löschen und Bearbeiten von Zeilen/Spalten
- Boolean Indexing für Zeilenauswahl
Statistiken direkt in pandas DataFrames berechnen:
- Einfache Statistiken auf DataFrames (Mittelwert, Min, Max, Summe, Median, Varianz usw.)
- Daten aggregieren und filtern
- Fehlende Werte behandeln
- Kreuztabellen erstellen
Programmablaufsteuerung:
- Eigene Funktionen erstellen
- Default-Parameter in Funktionen festlegen (Positional und Keyword Arguments)
- For-Schleifen verwenden
- If-Else-Bedingungen implementieren
Datendarstellung mit seaborn / matplotlib:
- Grundlagen von matplotlib kennenlernen
- Anpassung von Achsen, Legende, Titel
- Diagramme speichern
- In seaborn verschiedene Diagrammtypen erstellen
- Darstellungen variieren/festsetzen (Größe, Farbe, Gruppierung)
Daten einlesen und speichern:
- Arbeitsverzeichnis in Python festlegen
- Einlesen und Speichern von CSV- und Excel-Dateien
- Daten von URLs beziehen
- Überblick über Parameter
- Lesen und Schreiben im Python-Format pickle
- Umgang mit großen Daten
Datenbankzugriff mit SQLAlchemy:
- Verbindung zur Datenbank herstellen
- Tabellen extrahieren/schreiben
- SQL-Befehle an die Datenbank senden
- Datenabfragen per SQL-Statement direkt aus Python
Numpy-Einführung:
- Einführung in numpy-Arrays und deren Attribute
- Arrays erstellen und befüllen
- Mathematische Operationen und Statistikfunktionen
Datenverarbeitung:
- Daten normalisieren
- Fehlende Werte ergänzen
- Dummy-Variablen und One-Hot-Encoding
Machine Learning-Überblick:
- Grundlagen des Machine Learning
- Praktische Anwendungen
- Unterschiede von KI, Machine Learning und Deep Learning
- Überwachtes und unüberwachtes Lernen
- Vermeidung von Overfitting, Train-Test-Split
Lineare Regression mit scikit-learn:
- Aufteilung der Daten, Modellbau und Validierung
- Grundlagen der linearen Regression
- Implementierung in Python mit scikit-learn
- Validierung der Ergebnisse (MSE)
Logistische Regression mit statsmodels:
- Verwendung von statsmodels für statistische Modelle
- Modellbau und Validierung
- Grundlagen der logistischen Regression
- Ergebnisvalidierung
Entscheidungsbaum mit scikit-learn:
- Datenaufteilung, Modellbau und Validierung
- Grundlagen des Entscheidungsbaums
- Implementierung in Python
- Validierung der Ergebnisse (u.a. Verwirrungsmatrix, Sensitivität, Genauigkeit)
- Anpassung von Hyperparametern
Ensemblemethoden (+ AdaBoost):
- Erstellung und Training von Ensembles mit scikit-learn
- Bagging und Boosting
- Grundlagen von AdaBoost für Klassifikation und Regression
- Implementierung und Validierung
Random Forest:
- Datenaufteilung, Modellbau und Validierung
- Grundlagen des Random-Forest-Algorithmus
- Validierung der Ergebnisse
- Out-of-bag error
- Random Forest für Regression
- Anpassung von Hyperparametern
Weitere Algorithmen im Überblick:
- Einführung in K-nearest Neighbor und einfache neuronale Netzwerke (MLP) mit scikit-learn
- Implementierung und Validierung
- Anwendung weiterer Algorithmen mit scikit-learn
Grid Search & Cross Validation:
- Kreuzvalidierung und Grid Search mit scikit-learn
- Automatisierte Suche nach Hyperparametern
- Training des finalen Modells nach Kreuzvalidierung
Clustering (K-Means, DBSCAN):
- Erstellung und Validierung von Cluster-Modellen
- Grundlagen von K-Means und DBSCAN
- Implementierung und Validierung
Abschluss und Fallstudie:
- Auswahl des geeigneten Algorithmus
- Visualisierung von Entscheidungsgrenzen
- Fallstudie zur Wiederholung und Diskussion
Methode
Unser Fokus in der umfangreichen Data Science Weiterbildung liegt auf der praktischen Anwendung. Die Teilnehmer haben die Möglichkeit, eigenständig Übungsaufgaben in Python mit der Entwicklungsumgebung JupyterLab (.ipynb) zu bearbeiten, um die neuen Konzepte besser zu verstehen. Bei auftretenden Fragen oder Unklarheiten steht der Trainer direkt zur Verfügung, um die Teilnehmer zu unterstützen und einen hohen Lernerfolg zu gewährleisten.