Zum Inhalt

Data Science & Machine Learning

6. Maschinelles Lernen und Datenvisualisierung

In diesem Abschnitt erfahren Sie, wie Sie Tabellenkalkulationen verarbeiten, Daten bereinigen, Datensätze aufteilen, statistische Modelle trainieren und sie für reale Vorhersagen speichern.

Tools und Bibliotheken

  • numpy: Die Grundlage für wissenschaftliches Rechnen in Python. Es ist für schnelle mathematische Berechnungen mithilfe von Gittern und Arrays optimiert.
  • pandas: Bietet eine interaktive tabellenähnliche Struktur (einen DataFrame) zum einfachen Bearbeiten, Filtern und Bereinigen von Datendateien.
  • scikit-learn (sklearn): Der Industriestandard für „klassisches“ maschinelles Lernen. Es enthält eine umfangreiche Toolbox an Statistik- und Vorhersagealgorithmen.
  • joblib: Ein spezielles Tool zum „Einfrieren“ (Serialisieren) Ihrer trainierten Modelle für maschinelles Lernen und zum Speichern als Dateien auf Ihrem Computer zur späteren Verwendung.

Branchen-Upgrades (was Teams im großen Maßstab nutzen)

1. Hochleistungsdaten: Polars

Eine blitzschnelle Alternative zu Pandas, geschrieben in Rust. Es kann riesige Datensätze (Millionen Zeilen) viel schneller verarbeiten, indem alle Prozessorkerne Ihres Computers gleichzeitig genutzt werden.

  • Wie es im Code aussieht:
import polars as pl

# Polars uses "LazyFrames" to plan the fastest way to scan a file before doing it
df = pl.scan_csv("huge_data.csv").filter(pl.col("sales") > 500).collect()

2. Deep Learning: PyTorch / TensorFlow

Diese werden verwendet, um Neuronale Netze aufzubauen – die Technologie hinter KI wie ChatGPT oder selbstfahrenden Autos. Sie sind für den Betrieb auf leistungsstarken Grafikkarten (GPUs) und nicht nur auf Standard-Computerprozessoren ausgelegt.


Kernmethoden und vollständiges Codebeispiel

  • pd.read_csv(): Konvertiert rohe Tabellenkalkulationsdateien in interaktive Datentabellen namens DataFrames.
  • df.dropna() / df.fillna(): Bereinigt Daten, indem Zeilen mit fehlenden Werten entfernt oder die Lücken ausgefüllt werden.
  • train_test_split(): Fügt Ihre Daten in einen Trainingssatz (zum Lernen) und einen Testsatz (zur Überprüfung der Genauigkeit) zusammen.
  • LinearRegression() / KNeighborsClassifier(): Importiert Standardvorhersagealgorithmen direkt aus dem scikit-learn-Bibliothekskatalog.
  • model.fit(): Die „Lern“-Phase, in der das Modell Muster in Ihren Trainingsdaten findet.
  • joblib.dump(): Speichert das „Gehirn“ Ihres trainierten Modells, sodass Sie es in einer Web-App verwenden können, ohne es erneut trainieren zu müssen.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import joblib

# 1. Load data into a Pandas DataFrame
df = pd.read_csv('real_estate.csv')

# 2. Data Cleaning: Remove any rows with empty values
df = df.dropna()

# 3. Define Features (X) and Target (y)
X = df[['square_feet', 'rooms']]
y = df['price']

# 4. Split data: 80% for training, 20% for testing the model's accuracy
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 5. Choose an algorithm and "Fit" it (train it) to the data
model = LinearRegression()
model.fit(X_train, y_train)

# 6. Make predictions on the 20% of data the model hasn't seen yet
predictions = model.predict(X_test)

# 7. Save the trained model to a file named 'house_model.pkl'
joblib.dump(model, 'house_model.pkl')