Explorative Datenanalyse
Definition:
Explorative Datenanalyse (EDA) ist der Prozess des Analysierens von Datensätzen, um deren Hauptmerkmale durch grafische und statistische Methoden zusammenzufassen. Wichtig für die Mustersuche, Anomalien und Hypothesenbildung.
Details:
- Datenvisualisierung: Histogramme, Boxplots, Streudiagramme
- Deskriptive Statistik: Mittelwert, Median, Standardabweichung
- Entdeckung von Zusammenhängen: Korrelationsmatrizen
- Verwendung von Tools wie Pandas, Matplotlib, Seaborn
- Identifikation von Ausreißern und fehlenden Werten
Datenbereinigung und -vorverarbeitung
Definition:
Datenbereinigung und -vorverarbeitung: Schritte zur Vorbereitung von Rohdaten für die Analyse; Bestandteil des Data-Preprocessing.
Details:
- Duplikate entfernen
- Fehlende Werte identifizieren und behandeln
- Daten normalisieren oder standardisieren
- Ausreißer erkennen und behandeln
- Kategorisierung und Kodierung von Daten (z.B. One-Hot-Encoding)
- Rauschen entfernen
- Datenaggregation und -Transformation
Regressionsanalyse und Varianzanalyse (ANOVA)
Definition:
Regressionsanalyse: Statistische Methode zur Untersuchung von Beziehungen zwischen einer abhängigen Variablen und einer oder mehreren unabhängigen Variablen. Varianzanalyse (ANOVA): Statistisches Verfahren zum Vergleich der Mittelwerte mehrerer Gruppen.
Details:
- Regressionsanalyse:
- Linieare Regression: \(Y = \beta_0 + \beta_1X + \epsilon\)
- Multiple Regression: \(Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + ... + \beta_nX_n + \epsilon\)
- Varianzanalyse (ANOVA):
- Einweg-ANOVA: Testet Mittelwertunterschiede zwischen drei oder mehr Gruppen.
- F-Wert: Verhältnis der Varianz zwischen den Gruppen und der Varianz innerhalb der Gruppen.
- Annahmen: Normalverteilung, Varianzhomogenität.
Überwachtes und unüberwachtes Lernen
Definition:
Überwachtes Lernen: Modell lernt von gelabelten Daten - Vorhersage von unbekannten Outputs. Unüberwachtes Lernen: Mustererkennung in ungelabelten Daten - Gruppierung oder Strukturfindung.
Details:
- Überwachtes Lernen: Datensatz besteht aus Eingabe-Output-Paaren (\textbf{x}, y)
- Beispiele: Klassifikation und Regression
- Algorithmus: Trainingsphase, Validierung, Testen
- Unüberwachtes Lernen: Datensatz nur mit Eingaben (\textbf{x}), keine Labels
- Beispiele: Clustering, Dimensionsreduktion
- Algorithmus: Muster erkennen, Datenstruktur verstehen
Sequenzanalyse und -ausrichtung
Definition:
Analyse biomolekularer Sequenzen, um Ähnlichkeiten und funktionale/familiäre Beziehungen zu identifizieren.
Details:
- Häufige Tools: BLAST, ClustalW, MAFFT
- Lokale vs. globale Ausrichtung
- Scoring-Matrizen: PAM, BLOSUM
- Gap penalties und ihre Bedeutung
- Multiple Sequenzalignments
- Evolutionsmodelle: Needleman-Wunsch, Smith-Waterman
- Phylogenetische Bäume aus Alignments ableiten
- Anwendung in Genomanalyse, Proteinfunktion, Evolution
Einsatz von Bibliotheken wie Scikit-Learn und TensorFlow
Definition:
Verwendung von Scikit-Learn und TensorFlow zur Durchführung von maschinellem Lernen und Deep Learning in der angewandten Datenwissenschaft.
Details:
- Scikit-Learn: Einfach zu bedienende Bibliothek für klassisches maschinelles Lernen in Python - Entscheidungsbäume, Regression, Klassifikation.
- TensorFlow: Leistungsstarke Bibliothek für neuronale Netze und Deep Learning - umfangreich für komplexe Modelle und Echtzeitanwendungen.
- Installation: Beide Bibliotheken können über pip installiert werden - `pip install scikit-learn`, `pip install tensorflow`.
- Grundlegende Verwendung: Modelle erstellen, trainieren und bewerten - `fit()`, `predict()`, `score()` für Scikit-Learn; `Sequential()`, `compile()`, `fit()`, `evaluate()` für TensorFlow.
- Interoperabilität: Scikit-Learn für Vorverarbeitung und Feature-Engineering, TensorFlow für Training von tiefen neuronalen Netzen.
- Beispielcode für Scikit-Learn:
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
classifier = RandomForestClassifier()
classifier.fit(X_train, y_train)
- Beispielcode für TensorFlow:
import tensorflow as tf
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(128, activation='relu'))
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=10)
Gute Praktiken der Datenvisualisierung
Definition:
Best-Practices zur Erstellung klarer, präziser und informativer Datenvisualisierungen.
Details:
- Wähle geeignete Diagrammtypen (z.B. Balkendiagramme, Liniendiagramme, Streudiagramme) basierend auf Datentyp und Ziel der Visualisierung.
- Verwende klare und lesbare Achsenbeschriftungen und Titel.
- Farben sorgfältig wählen - Farbschemata verwenden, um Daten klar und kontrastreich darzustellen (Achte auf Farbenblindheit).
- Meide unnötige Verzierungen (Chartjunk), fokussiere auf Daten.
- Nutze Konsistenz in Design-Elementen (Schriftarten, Linienbreiten, etc.).
- Verwende Legenden und Anmerkungen, wenn notwendig, um Klarheit zu schaffen.
- Normalisierung oder Skalierung der Daten durchführen, falls nötig, um bessere Vergleichbarkeit zu ermöglichen.