un

guest
1 / ?
back to lessons

Was ist Datenwissenschaft?

Datenwissenschaft ist nicht nur maschinelles Lernen. Es ist auch nicht nur Statistik. Es ist nicht nur Programmieren.

Datenwissenschaft ist die Disziplin, nutzbares Wissen aus Daten zu extrahieren. Der Großteil dieser Arbeit ist nicht glamourös: es ist das Reinigen von verwirrten Tabellenkalkulationen, die richtigen Fragen zu stellen und die Ergebnisse Menschen zu vermitteln, die Ihre Code nicht interessieren.

Datenwissenschaftliche Pipeline

Die typische Datenwissenschaftliche Pipeline sieht so aus:

1. Sammeln: Sammeln Sie Rohdaten aus Datenbanken, APIs, CSVs oder Web-Scrapping

2. Reinigen: Handhaben Sie fehlende Werte, beheben Sie Typen, entfernen Sie Duplikate

3. Erkunden: Visualisieren von Verteilungen, finden von Mustern, stellen von Fragen

4. Erweitern: Erstellen neuer Merkmale, die Modellen helfen sollen zu lernen

5. Modellieren: Trainieren von Algorithmen, Evaluieren von Leistung, Iterieren

6. Kommunizieren: Präsentieren von Befunden an Entscheidungsträger

Wenn Sie je Excel-Pivot-Tabellen, bedingte Formatierung oder VLOOKUP verwendet haben, haben Sie bereits Schritte 1-3 durchgeführt. Dieses Lektionen verbindet diese Erfahrung mit dem Python-basierten Workflow, der in der Industrie verwendet wird.

Aufwärmen

Ihre Daten-Erfahrung

Jeder hat mit Daten gearbeitet: eine Budget-Tabellenkalkulation, eine Notenverfolgung, eine Fitness-App, sogar eine Playlist mit Abspielzahlen.

Beschreiben Sie einen Zeitpunkt, an dem Sie mit Daten in einer Tabellenkalkulation oder App gearbeitet haben. Was versuchten Sie herauszufinden, & gab die Daten Ihnen die Antwort?

Müll rein, Müll raus

Warum Reinigung wichtig ist

Datenwissenschaftler verbringen 60-80% ihrer Zeit mit dem Reinigen von Daten. Das ist keine Übertreibung: es ist eine konstante Feststellung in Industrie-Umfragen.

Der Grund ist einfach: Müll rein, Müll raus. Wenn Ihre Daten Fehler, fehlende Werte oder ungleichmäßige Formate haben, wird jede darauf aufbauende Analyse falsch sein. Ein perfektes Modell, das auf schmutzige Daten trainiert wird, produziert selbstverständlich falsche Antworten.


Gemeinsame Datenprobleme

- Missing values: Zellen sind leer. Wurde die Daten nicht erfasst oder ist der Wert tatsächlich null? Es handelt sich hierbei um unterschiedliche Situationen, die unterschiedliche Behandlung erfordern.

- Falsche Datentypen: Eine Spalte mit Zahlen wird als Text gespeichert, Daten in ungleichen Formaten (01/02/2024: Ist das der 1. Januar oder der 1. Februar?)

- Aussreißer: Eine Lohnspalte hat einen Eintrag von 1.000.000.000 USD. Ist das real oder ein Tippfehler? Jedenfalls wird es deine Durchschnittswerte verzerren.

- Duplikate: Das gleiche Record erscheint zweimal, weil zwei Systeme unvollkommen verschmolzen sind

- Kategoriale Kodierung: Eine Spalte sagt 'Ja', 'ja', 'J', 'Wahr' und '1'. All diese Bedeutungen sind gleich, aber dein Computer weiß das nicht.


In pandas (die standardmäßige Python-Datenbibliothek) handhaben Sie diese mit Methoden wie dropna(), fillna(), astype() und drop_duplicates(). Aber die schwierige Sache ist nicht der Code: es ist die Entscheidung, was man mit jeder Problematik tun soll.

Gemeinsame Datenprobleme

Reinigungsentscheidungen

Was entscheiden

Hier ist eine reale Situation. Sie haben einen Datensatz mit 10.000 Kundenrecords. Die 'Alter'-Spalte hat 500 fehlende Werte.

Ihre Optionen:

- Löschen der Zeilen: Entfernen Sie alle 500 Records. Einfach, aber sie verlieren 5% ihrer Daten. Wenn diese 500 Kunden eine Eigenschaft teilen (vielleicht haben sie das Alterfeld aus Gründen der Privatsphäre übersprungen), führt das Löschen von Bias.

- Mit dem Mittel auffüllen: Ersetzen Sie Leerräume mit dem durchschnittlichen Alter. Schnell, aber es reduziert künstlich die Varianz Ihrer Altersspalte.

- Mit dem Median auffüllen: Besser als Mittel, wenn die Altersverteilung geschichtet ist (einige sehr alte oder sehr junge Kunden ziehen den Durchschnitt nach sich).

- Verwenden Sie einen Flag: Erstellen Sie eine neue Spalte namens 'Alter fehlt' (1 oder 0) und füllen Sie die ursprüngliche Spalte mit dem Median. Jetzt kann Ihr Modell lernen, ob das Fehlen von Informationen selbst informativ ist.

Es gibt keine universelle richtige Antwort. Die Wahl hängt davon ab, warum die Daten fehlen und was Sie damit vorhaben.

Sie haben eine Datensatz mit Angestelltengehältern. 200 von 5.000 Records haben fehlende Gehaltswerte. Sie stellen fest, dass die meisten fehlenden Werte von Führungskräften stammen. Würden Sie die Zeilen löschen, das Mittel einfügen, oder etwas anderes tun? Erklären Sie Ihr Denken.

Die richtigen Fragen stellen

Exploratorische Datenanalyse (EDA)

Bevor du einen Modelbau beginnst, musst du dein Datenverständnis verbessern. EDA ist der Prozess, um ein Datensatz zu zusammenfassen, zu visualisieren und zu hinterfragen, um Muster, Anomalien und Beziehungen zu finden.


Schlüsselwerkzeuge

- Histogramme: zeigen die Verteilung einer einzelnen Variable. Ist sie glockenförmig? Verzerrt? Bimodal (zwei Gipfel)? Ein Einkommens-Histogramm ist immer rechtsverzerrt, weil einige Menschen erheblich mehr verdienen als die Mehrheit.

- Ausbreitungplot: zeigt die Beziehung zwischen zwei Variablen. Gehen größere Menschen mehr wiegen? Existiert eine Korrelation zwischen Lernzeit und Schulnoten? Die Muster (oder das Fehlen von Mustern) sagen dir, ob eine Beziehung besteht.

- Korrelation: eine Zahl zwischen -1 und +1, die die lineare Assoziation misst. +1 bedeutet perfekte positive Beziehung, -1 bedeutet perfekte negative, 0 bedeutet keine lineare Beziehung. Korrelation impliziert jedoch nicht Ursache und Wirkung: Verkaufsanzahl von Eiscreme und Ertrinkungstoten sind korrelliert, weil beide im Sommer zunehmen.

- Zusammenfassungsstatistiken: Durchschnitt, Median, Standardabweichung, Min, Max. In pandas: df.describe() gibt dir alle in einer Zeile.


Die wahre Fähigkeit

Die Werkzeuge sind einfach zu lernen. Das Schwierige ist die richtigen Fragen zu stellen. Falsche Frage: 'Was sagt die Daten?' Rationale Frage: 'Haben Kunden, die innerhalb der ersten Woche den Kundenservice kontaktieren, höhere Wiederbeschaffungsraten?'

EDA Werkzeuge

Korrelationsfallstrick

Korrelation vs. Kausalität

Das ist der wichtigste Begriff in der Datenliteracy. Zwei Variablen können stark korreliert sein, ohne dass eine die andere verursacht.

Klassische Beispiele:

- Städte mit mehr Feuerwehren haben mehr Brande. (Größere Städte haben beide.)

- Schüler, die Frühstück essen, bekommen bessere Schulnoten. (Vielleicht sind wohlhabendere Familien eher dazu in der Lage, Frühstück zu bieten und akademische Unterstützung zu geben.)

- Länder, die mehr Schokolade verbrauchen, gewinnen mehr Nobelpreise. (Beide korrelieren mit dem nationalen Wohlstand.)

Das versteckte Faktor wird als verwirrender Variablen bezeichnet: eine dritte Variable, die beide betrachteten Faktoren beeinflusst.

Korrelation gegen Kausalität

Ein Unternehmen stellt fest, dass Mitarbeiter, die das Firmengym nutzen, 30% weniger Krankheitstage haben. Der CEO möchte, dass alle Mitarbeiter das Gym nutzen müssen. Was ist falsch an dieser Argumentation? Welche verursachenden Variablen könnten die Korrelation erklären?

Erstellung nüdziger Variablen

Was ist Feature Engineering?

Eine Feature ist eine Eingabegroße, die ein Modell zur Vorhersage verwendet. Feature Engineering ist die Kunst, neue Merkmale aus Rohdaten zu erstellen, um Muster zu erkennen, die das Modell sonst nicht sehen könnte.

Rohdaten kommen selten in der Form vor, die Modelle benötigen. Stellen Sie sich eine Datensatz mit einer 'Geburtsdatum'-Spalte vor. Ein Modell kann nichts mit Rohdaten anfangen. Aber wenn Sie eine 'Alter'-Feature daraus erstellen, kann das Modell plötzlich Altersmuster erkennen.


Gemeinsame Techniken

- Normalisierung: Skalieren von Zahlen in einem gemeinsamen Bereich (0 bis 1 oder mit einem Mittelwert von 0 und einer Standardabweichung von 1). Ohne dies wird eine Feature, die in Tausenden gemessen wird (Gehalt), eine Feature, die in Einzelstellig (Jahre Erfahrung) dominieren.

- One-hot Encoding: Umwandlung von kategorischen Variablen in binäre Spalten. Eine 'Farbe'-Spalte mit Werten [rot, blau, grün] wird in drei Spalten umgewandelt: 'Farbe_rot', 'Farbe_blau', 'Farbe_grün', jeder mit 0 oder 1.

- Binning: Wandeln einer kontinuierlichen Variable in Kategorien um. Das Alter 0-17 wird zu 'Kind', 18-64 zu 'Erwachsener', 65+ zu 'Senior'. Dies hilft, wenn die Beziehung nicht linear ist.

- Interaktionsfeatures: Multiplizieren von zwei Features. 'Bodenfläche mal Anzahl der Badezimmer' kann die Hauspreisvorhersage besser als beide einzeln treffen.

- Branchenkenntnis: Die mächtigste Technik. Ein Arzt erstellt Features für ein medizinisches Modell und weiß, welche Laborwerte relevant sind. Ein Marketer weiß, dass 'Tage seit letztem Kauf' nützlicher ist als 'Kaufdatum'. Kein Algorithmus kann das ersetzen.

Feature Engineering Techniques

Feature Practice

Anwendung von Feature Engineering

Stellen Sie sich vor, Sie bauen ein Modell zum Vorhersagen, welche Kunden im nächsten Monat ihre Streaming-Abonnement kündigen werden. Ihre Rohdaten umfassen:

- Erstellungsdatum des Kontos

- Letzter Anmeldezeitpunkt

- Anzahl der Folgen, die im letzten Monat angesehen wurden

- Monatliche Zahlungsbetrag

- Anzahl der im Kundenunterstützungsbereich eingereichten Tickets

- Land

Aus den oben aufgeführten Rohdaten schlagen Sie mindestens drei neue Merkmale vor, die Sie bilden würden. Für jedes erklären Sie, was es erfassen soll und warum es möglicherweise helfen könnte, eine Absage vorherzusagen.

Train/Test-Split

Warum Sie Ihre Daten aufteilen

Das wichtigste Regel beim Modellieren: niemals eine Bewertung eines Modells auf denselben Daten durchführen, auf denen es trainiert wurde.

Wenn Sie das tun, kann das Modell sich einfach die Antworten merken. Es wird auf den Trainingsdaten perfekt abschneiden, aber bei neuen, ungesenen Daten scheitern. Dies wird als Überfitting bezeichnet: Das Modell hat die Geräusche in Ihrer spezifischen Datensatz gelernt anstatt die tatsächlichen Muster.

Die Standardpraxis ist, Ihre Daten aufzuteilen:

- Trainingsdaten (üblicherweise 70-80%): Das Modell lernt aus diesen Daten

- Testdaten (üblicherweise 20-30%): Nicht verwendet, um das Modell zu trainieren, sondern nur zur Bewertung des endgültigen Modells

In scikit-learn: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


Gemeinsame Algorithmen

- Lineare Regression: Zeichnet die besten passenden Geraden durch die Daten. Einfach, interpretierbar, funktioniert, wenn die Beziehung ungefähr linear ist. Eine Zahl (Preis, Temperatur, Note) voraussagen.

- Entscheidungsbaum: ein Ablaufdiagramm von Ja/Nein-Fragen. Leicht zu verstehen und zu erklären. Neigt zur Überfitting, es sei denn, es wird gepflegt oder auf die Tiefe begrenzt.

- Zufällige Wälder: viele Entscheidungsbaum, die gemeinsam abstimmen. Genauer als ein einzelner Baum, weniger anfällig für Überanpassung, aber schwerer zu erklären.


Überanpassung vs. Unteranpassung

- Überanpassung: Das Modell ist zu komplex. Es memorisiert die Trainingsdaten, einschließlich des Rauschens. Hohe Genauigkeit bei den Trainingsdaten, geringe Genauigkeit bei den Testdaten.

- Unteranpassung: Das Modell ist zu einfach. Es kann die tatsächlichen Muster nicht erfassen. Niedrige Genauigkeit bei den Trainings- und Testdaten.

Das Ziel ist der sweet spot dazwischen.

Train/Test-Split und Bias-Variance-Tradeoff

Auswertungsmetriken

Wie weisst du, ob dein Modell gut ist?

Genauigkeit alleine kann irreführend sein. Wenn 95% der E-Mails nicht als Spam klassifiziert werden, ist ein Modell, das immer 'nicht Spam' sagt, 95% genau: aber völlig nutzlos.

Schlüsselmetriken:

- Genauigkeit: Prozentsatz der korrekten Vorhersagen. Nützlich, wenn die Klassen ausgeglichen sind.

- Präzision: Von all den Dingen, die das Modell als positiv markierte, wie viele waren es tatsächlich? Hohe Präzision bedeutet wenige falsche Alarmen.

- Rückruf: Von all den tatsächlichen Positiven, wie viele hat das Modell erwischt? Hoher Rückruf bedeutet wenige verpasste Fälle.

- F1-Score: der harmonische Mittelwert von Präzision und Rückruf. Nützlich, wenn man beide abwägen muss.

- RMSE (Wurzel quadrat mittlerer quadratischer Fehler): für Regression (Zahlen vorhersagen). Wie weit sind die Vorhersagen im Durchschnitt entfernt?

Welche Metrik am wichtigsten ist, hängt von der Aufgabe ab. Bei der Krebsdiagnose ist der Rückruf wichtiger: man möchte keine Fälle verpassen. Bei der Spamfilterung ist die Präzision wichtiger: man möchte keine echten E-Mails verlieren.

Auswertungsmetriken und Verwirrspiel-Matrix

Sie entwickeln ein Modell, um betrügerische Kreditkartentransaktionen zu erkennen. Nur 0,1% der Transaktionen sind tatsächlich betrügerisch. Wenn Ihr Modell jede Transaktion als legitim einstuft, was ist seine Genauigkeit? Warum ist Genauigkeit hier ein schlechter Indikator und welcher Indikator würden Sie stattdessen verwenden?

Data Analyst vs. Data Scientist vs. ML Engineer

Drei Unterschiedliche Rollen

Das Datenfeld hat drei Hauptkarriereverläufe, und sie erfordern unterschiedliche Fähigkeiten.


Data Analyst

- Schwerpunkt: Beantwortung von Geschäftsfragen mit vorhandenen Daten

- Werkzeuge: SQL, Excel, Tableau, grundlegender Python oder R

- Taglich: Dashboards, Berichte, A/B-Test-Analyse, Präsentationen vor Stakeholdern

- Einstiegspfad: Ist oft der am leichtesten zugängliche. Viele Analysten beginnen ohne Abschluss in Informatik.


Data Scientist

- Schwerpunkt: Erstellen von prädiktiven Modellen und Finden von Mustern in komplexen Daten

- Werkzeuge: Python (pandas, scikit-learn, matplotlib), Statistik, SQL, Jupyter Notebooks

- Taglich: EDA, Feature Engineering, Modellbau, Experimente

- Einstiegspfad: Erfordert normalerweise eine statistische oder quantitative Grundlage. Bootcamps und Selbststudium sind machbar.


Machine Learning Engineer

- Schwerpunkt: Implementierung und Skalierung von Modellen in Produktionsystemen

- Werkzeuge: Python, TensorFlow/PyTorch, Docker, Cloud-Plattformen (AWS/GCP), APIs

- Taglich: Optimierung von Modellen, Pipeline-Infrastruktur, Überwachung von Produktionsmodellen

- Einstiegspfad: Erfordert normalerweise starke Software-Entwicklungskenntnisse plus ML-Kenntnisse.


Aufbau eines Portfolios

Dienststellen, die Mitarbeiter einstellen, interessieren sich mehr für das, was Sie können, als für das, was Sie studiert haben. Ein Portfolio von 3-5 soliden Projekten auf GitHub zählt mehr als Zertifikate. Gute Projekte verwenden echte (nicht nur Spielzeug) Daten, enthalten klare Dokumentationen und zeigen den gesamten Pipeline: von unordneten Daten bis hin zu handlungsfähigen Erkenntnissen.

Datenkarrierepfade

Ihre nächsten Schritte

Wo geht es weiter

Die Werkzeuge des Handwerks sind kostenlos und zugänglich:

- pandas: die Standardbibliothek für Datenmanipulation in Python

- matplotlib / seaborn: Visualisierungsbibliotheken

- scikit-learn: das Arbeiter für klassisches maschinelles Lernen

- Jupyter Notebooks: interaktive Coding-Umgebungen, in denen Sie Code, Ausgabe und Notizen mischen können

- Kaggle: kostenlose Datensätze, Wettbewerbe und eine Gemeinschaft von Praktikern

Beginne mit einer realen Datensatz, die dich interessiert. Lade sie herunter, reinige sie, erforsche sie und versuche eine Frage zu beantworten. Ein einzelnes Projekt wird dir mehr beibringen als jeder Kurs.

Basierend auf dem, was Sie in dieser Lektion gelernt haben, welche der drei Rollen (Data Analyst, Data Scientist oder ML Engineer) interessiert Sie am meisten? Was wäre ein konkreter Schritt, den Sie in dieser Woche unternehmen könnten, um Fähigkeiten für diese Rolle aufzubauen?