1. Übersicht#

In diesem Teil beschäftigen wir uns mit Technologien, die die Phasen Data Understanding und Data Preparation unterstützen. Die Phasen und darin die einzelnen Schritte werden explorativ (nächster Schritt ergibt sich aus Erkenntnissen des aktuellen Schrittes) und iterativ (Erkenntnisse aus dem aktuellen Schritt führen zu Hinterfragen bzw. Weiterentwicklung vorheriger Schritte) durchgeführt. Die einzelnen Methoden und benutzten Technologien sind auch nicht trennscharf einzelnen Phasen zuzuordnen. Wir strukturieren die folgenden Kapitel entlang konzeptionellen Schritten anhand eines durchgehenden Beispiels. Das hat folgende Auswirkungen:

  • Abgesehen von kurzen Einführungen in NumPy und pandas sind die restlichen Kapitel inhaltlich getrieben und springen ggfs. zwischen verschiedenen Bibliotheken (insbesondere pandas, Matplotlib und seaborn)

  • Wir gehen nicht systematisch durch die vollständigen Funktionen einer Bibliothek, sondern führen die einzelnen Funktionen nach Analyse-Bedarf ein. Wir verweisen immer wieder auf passende Referenzen für komplette Darstellungen.

  • Wir bleiben wenn möglich bei den Daten aus unserem durchgehenden Beispiel - es kann sein, dass manchmal eine Analyse eingeführt wird, die in einem anderen Beispiel aussagekräftiger wäre

  • Es gibt derzeit kein eigenes Kapitel zu Data Cleaning aber in den Code-Beispielen finden sich immer wieder die notwendigen Datenbereinigungen

Wir verwenden Python als Basis für die Datenverarbeitung. Dies entspricht dem derzeitigen Standard aus einer Reihe von Gründen:

  • Python gilt als eine Sprache, die leicht verständlich und angenehm zu Nutzen für Programmierer ist. Ein Grund hierfür ist die dynamische Natur, die es erlaubt interaktiv Programme zu entwickeln und auszuführen.

  • Trotz der dynamischen Natur kann Python durch eine einfache Integration mit maschinennahen Sprache sehr hohe Performance liefern - ein Grund warum sehr viele Bibliotheken für Python entwickelt werden

  • Die Verfügbarkeit von sehr guten Bibliotheken für die Datenverarbeitung, die als de-facto Standard dienen (z.B. NumPy, pandas, Matplotlib, TensorFlow, etc.)

  • Python eignet sich nicht nur für die Entwicklung von Modellen, sondern später auch für die Implementierung in Produktion und entsprechende Skalierung

Für eine Übersicht und die Ziele der beiden Phasen “Data Understanding” und “Data Preparation” verweisen wir auf die entsprechenden Abschnitte im Kapitel “Ablauf eines Analytics-Projekts”.

Code und Übungen:

Die folgenden Kapitel im Teil "Data Understanding und Preparation" stehen als Jupyter Notebooks zur Verfügung. Diese können Sie hier runterladen und interaktiv ausführen. Es sind entsprechende Platzhalter für die Übungsaufgaben enhalten, die Sie direkt im Notebook lösen können. Download: Kapitel als Jupyter Notebooks mit Daten ohne Lösungen zu Übungen

INFO

Die Übungen und Beispiele basieren auf Daten über weltweite Systeme des öffentlichen Nahverkehrs von https://www.citylines.co