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.
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.
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.
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.
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?'
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.
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 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
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.
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.
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.
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.