1 – PYTHON FÜR DATA SCIENCE
- Verwenden von Modulen
- Auflisten der Methoden in einem Modul
- Erstellen eigener Module
- List Comprehension
- Dictionary Comprehension
- String Comprehension
- Python 2 vs. Python 3
- Sets (Python 3+)
- Python-Idiome
- Das Data-Science-«Ökosystem» von Python
- NumPy
- NumPy-Arrays
- NumPy-Idiome
- pandas
- Data Wrangling mit dem DataFrame von pandas
- SciPy
- Scikit-learn
- SciPy oder scikit-learn?
- Matplotlib
- Python vs. R
- Python auf Apache Spark
- Python-Entwicklungstools und REPLs
- Anaconda
- IPython
- Visual Studio Code
- Jupyter
- Grundlegende Jupyter-Befehle
- Zusammenfassung
2 – ANGEWANDTE DATA SCIENCE
- Was ist Data Science?
- Data-Science-Ökosystem
- Data Mining vs. Data Science
- Business Analytics vs. Data Science
- Data Science, Machine Learning, KI?
- Wer ist Data Scientist?
- Venn-Diagramm der Data-Science-Kompetenzen
- Data Scientists bei der Arbeit
- Beispiele für Data-Science-Projekte
- Ein Beispiel für ein Datenprodukt
- Angewandte Data Science bei Google
- Stolperfallen in der Data Science
- Zusammenfassung
3 – PHASEN DES DATENANALYSE-LEBENSZYKLUS
- Big-Data-Analytics-Pipeline
- Phase der Datenermittlung (Data Discovery)
- Phase der Datengewinnung (Data Harvesting)
- Phase der Datenaufbereitung (Data Priming)
- Datenlogistik und Data Governance
- Explorative Datenanalyse
- Phase der Modellplanung
- Phase der Modellerstellung
- Kommunizieren der Ergebnisse
- Produktiv-Rollout
- Zusammenfassung
4 – REPARIEREN UND NORMALISIEREN VON DATEN
- Reparieren und Normalisieren von Daten
- Umgang mit fehlenden Daten
- Beispieldatensatz
- Abrufen von Informationen zu Nulldaten
- Entfernen einer Spalte
- Interpolieren fehlender Daten in pandas
- Ersetzen fehlender Werte durch den Mittelwert
- Skalieren (Normalisieren) der Daten
- Datenvorverarbeitung mit scikit-learn
- Skalieren mit der Funktion scale()
- Das Objekt MinMaxScaler
- Zusammenfassung
5 – BERECHNEN DESKRIPTIVER STATISTIKEN IN PYTHON
- Deskriptive Statistik
- Ungleichförmigkeit einer Wahrscheinlichkeitsverteilung
- Verwenden von NumPy zum Berechnen deskriptiver statistischer Kennzahlen
- Ermitteln von Minimum und Maximum in NumPy
- Verwenden von pandas zum Berechnen deskriptiver statistischer Kennzahlen
- Korrelation
- Regression und Korrelation
- Kovarianz
- Ermitteln paarweiser Korrelations- und Kovarianzkennzahlen
- Ermitteln von Minimum und Maximum in einem pandas-DataFrame
- Zusammenfassung
6 – DATENAGGREGATION UND GRUPPIERUNG
- Datenaggregation und Gruppierung
- Beispieldatensatz
- Das Objekt pandas.core.groupby.SeriesGroupBy
- Gruppieren nach zwei oder mehr Spalten
- Nachbilden der WHERE-Klausel von SQL
- Pivot-Tabellen
- Kreuztabellierung
- Zusammenfassung
7 – DATENVISUALISIERUNG MIT MATPLOTLIB
- Datenvisualisierung
- Was ist matplotlib?
- Erste Schritte mit matplotlib
- Das Plotfenster
- Die Figure-Optionen
- Die Funktion matplotlib.pyplot.plot()
- Die Funktion matplotlib.pyplot.bar()
- Die Funktion matplotlib.pyplot.pie()
- Subplots
- Verwenden des Objekts matplotlib.gridspec.GridSpec
- Die Funktion matplotlib.pyplot.subplot()
- Praktische Übung
- Abbildungen (Figures)
- Speichern von Abbildungen in einer Datei
- Visualisierung mit pandas
- Arbeiten mit matplotlib in Jupyter Notebooks
- Zusammenfassung
8 – DATA-SCIENCE- UND ML-ALGORITHMEN IN SCIKIT-LEARN
- Data Science, Machine Learning, KI?
- Arten von Machine Learning
- Terminologie: Features und Beobachtungen
- Stetige und kategoriale Features (Variablen)
- Terminologie: Achse
- Das Paket scikit-learn
- scikit-learn-Estimators
- Modelle, Estimators und Predictors
- Gängige Distanzmetriken
- Die euklidische Metrik
- Das LIBSVM-Format
- Skalieren der Features
- Der Fluch der Dimensionalität
- Überwachtes vs. unüberwachtes Machine Learning
- Algorithmen für überwachtes Machine Learning
- Algorithmen für unüberwachtes Machine Learning
- Auswählen des richtigen Algorithmus
- Lebenszyklen der Machine-Learning-Entwicklung
- Aufteilen der Daten in Trainings- und Testdatensätze
- Datenaufteilung in scikit-learn
- Praktische Übung
- Beispiele für Klassifizierung
- Klassifizieren mit k-Nearest Neighbors (SL)
- k-Nearest-Neighbors-Algorithmus
- Die Fehlerrate
- Praktische Übung
- Dimensionsreduktion
- Die Vorteile der Dimensionsreduktion
- Hauptkomponentenanalyse (PCA)
- Praktische Übung
- Data Blending
- Entscheidungsbäume (SL)
- Terminologie von Entscheidungsbäumen
- Klassifizierung mit Entscheidungsbäumen im Kontext der Informationstheorie
- Definition der Informationsentropie
- Die Formel der Shannon-Entropie
- Der vereinfachte Entscheidungsbaum-Algorithmus
- Verwenden von Entscheidungsbäumen
- Random Forests
- SVM
- Naive-Bayes-Klassifikator (SL)
- Das naive bayessche Wahrscheinlichkeitsmodell in Kürze
- Bayes-Formel
- Klassifizierung von Dokumenten mit Naive Bayes
- Typ des unüberwachten Lernens: Clustering
- Beispiele für Clustering
- k-Means-Clustering (UL)
- k-Means-Clustering in Kürze
- Merkmale von k-Means
- Regressionsanalyse
- Einfaches lineares Regressionsmodell
- Lineare vs. nichtlineare Regression
- Veranschaulichung der linearen Regression
- Wichtige zugrunde liegende Annahmen der Regressionsanalyse
- Methode der kleinsten Quadrate (LSM)
- Lokal gewichtete lineare Regression
- Regressionsmodelle in Excel
- Multiple Regressionsanalyse
- Logistische Regression
- Regression vs. Klassifizierung
- Zeitreihenanalyse
- Zerlegen von Zeitreihen
- Zusammenfassung
9 – LAB-ÜBUNGEN
- Lab 1 – Kennenlernen der Lab-Umgebung
- Lab 2 – Verwenden von Jupyter Notebook
- Lab 3 – Reparieren und Normalisieren von Daten
- Lab 4 – Berechnen deskriptiver Statistiken
- Lab 5 – Gruppieren und Aggregieren von Daten
- Lab 6 – Datenvisualisierung mit matplotlib
- Lab 7 – Aufteilen von Daten
- Lab 8 – k-Nearest-Neighbors-Algorithmus
- Lab 9 – Der k-Means-Algorithmus
- Lab 10 – Der Random-Forest-Algorithmus