Übersicht

6. Ü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

  • Für die Datenbereinigung weichen wir auf einen kleinen Beispieldatensatz über Eisverkäufe aus, an dem sich die typischen Probleme übersichtlich zeigen lassen. Die Übungen dazu verwenden wieder die Daten von citylines.

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

Damit die Analysen in den folgenden Kapiteln einem Ziel folgen, stellen wir uns vor, wir arbeiten für einen Verband von Verkehrsunternehmen, der Städte beim Ausbau ihres Nahverkehrs berät. Die Leitfrage lautet: Welche Eigenschaften einer Stadt und ihrer Geschichte hängen damit zusammen, wie groß ihr Nahverkehrsnetz ist und wie hoch der Anteil der Schiene daran ist? Lässt sich daraus ableiten, welche Städte im Vergleich zu ähnlichen Städten ein kleines Schienennetz haben?

Nicht jede Analyse in den Kapiteln trägt direkt zur Beantwortung bei, manche dienen vor allem dazu, eine Technik einzuführen. Am Ende von Data Understanding und Data Preparation soll aber ein Datensatz stehen, mit dem sich die Leitfrage im Modeling angehen lässt.