Files
cas-pml/SL/notizen/L2_Notizen.md
T

182 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Notizen SL Lektion 2
>Thema: Datenverständnis, Explorative Datenanalyse, Feature Engineering
>Datum: 21.05.2026
>Dozentin: Violeta Vogel
## Überwachtes Lernen vs. Unüberwachtes Lernen
- beim Überwachten Lernen kennt das Modell die richtigen Antworten (Labels) und das Modell lernt diese vorherzusagen
- beim unüberwachten Lernen gibt es keine Labels, das Modell sucht selber Strukturen und Muster in den Daten
## Übungsaufgabe 1
> Alle genannten Modelle nutzen primär Self-Supervised Learning (im Tabellenschema am ehesten "unüberwacht", da keine händischen Labels)
> für das Pretraining, gefolgt von überwachtem Fine-Tuning und Reinforcement Learning für das Alignment.
1. Pretraining
- Self-Supervised (Next-Token-Prediction auf riesigen Text)
- "Unsupervised"
2. Supervised Fine-Tuning (SFT)
- Überwacht (Mensch schreibt ideale Antworten auf Prompts)
3. RLHF / RLAIF / DPO
- Reinforcement Learning aus menschlichem (oder KI-) Feedback
- DPO: Direct Preference Optimization
## Datenverständnis
1. Sammeln der Daten
- Beschaffen der in den Projektressourcen aufgeführten Daten
- Ersten Datenerfassungsbericht erstellen (Datenkatalog bilden)
2. Daten beschreiben
- Erkennen wie jedes einzelne Feature aussieht
- In welchem Format sind die Daten?
- Wie viele Daten habe ich, wie gross ist der Datensatz?
3. Daten erkunden
- Wie sind die Daten verteilt?
- Gibt es Beziehungen zwischen den Daten?
- Müssen eventuell Bereinigungen oder Aggregationen gemacht werden?
- Datenexplorationsbericht erstellen
4. Datenqualität prüfen
- Sind die Daten vollständig?
- Datenqualitätsbericht erstellen
## EDA: Ziele und Methoden
- Mustererkennung
- Datenbereinigung
- Visualisierung
- Hypothesengenerierung
## EDA: Explorative Datenanalyse
- Anomalien
- Ausreisser, Datenpunkte die stark von der Norm abweichen
- Mögliche Anomalien
- Ausreisser -> einzelne Datenpunkte die signifikant von Rest abweichen
- Kontextbezogene Anomalien -> Daten die nur in einem bestimmten Kontext ungewöhnlich sind
- Kollekive Anomalien -> eine Gruppe von Datenpunkten die gemeinsam abweichen auch wenn sie einzeln normal wirken
- mögliche Anomalien nach Variablenart
- nicht numberische Daten
- fehlende Werte
- Duplikate
- Kategorien Variablen
- hohe Kardinalität (viele eindeutige Werte)
- nicht balancierte Daten
- numberische Variablen
- schiefe Verteilung
- Ausreisser
- Korrelationen
- diskrete Werte mit geringer Kardinalität (wenig eindeutige Werte)
## Klassierung
> Die Klassierung in der deskriptiven Statistik ordnet viele, unterschiedliche
Rohdaten in wenige, überschaubare Klassen (Intervalle) ein.
- Zweck: Reduzierung der Datenkomplexität (Muster und Trends erkennen)
- Vorgehen: Festlegung von Klassengrenzen
- Datstellung: Histogramme
- Nachteile: Durch Gruppierungen geht die exakte Messgenauigkeit verloren, da einzelwerte nicht mehr erkennbar sind
# Aufbau eines Data Frames
- Objekte / Beobachtungen sind in den Zeilen (rows)
- Merkmale / Attribute sind in den Spalten (columns) angegeben
- Spalten enthalten sprechende Namen, über welche sie
angesprochen werden können
- pro Spalte ist ein Datentyp festgelegt, unterschiedliche Spalten können aber
unterschiedliche Typen aufweisen
## Workshop 1
### Nominal
> Das ist eine reine Kategorisierung. Werte sind nur Labels ohne jede Ordnung. Du kannst sagen "Rot ≠ Blau", aber nicht "Rot > Blau".
- Was geht:
- Gleichheit prüfen (= oder ≠)
- Was nicht geht:
- Reihenfolge
- Abstände
- Rechnen
- Beispiele:
- Geschlecht
- Postleitzahl
- Häusertyp (h/u/t im Melbourne-Dataset)
- Programmiersprache
- MAC-Adresse
- Sinnvolle Statistik:
- Modus
- Häufigkeiten
- Chi-Quadrat
- Mittelwert ist Unsinn ("durchschnittliche Postleitzahl"...)
- Stolperfalle:
- Wenn Kategorien als Zahlen codiert sind (z.B. Postcode = 3000), sieht's numerisch aus, ist aber nominal. Pandas wird's als int einlesen die Klassifikation musst du selbst machen.
### Ordinal
> Ordnung ohne definierte Abstände. Du kannst Werte in eine sinnvolle Reihenfolge bringen, aber die Abstände dazwischen sind nicht definiert oder nicht gleich.
- Was geht:
- Gleichheit + Reihenfolge (<, >)
- Was nicht geht:
- Abstände interpretieren
- Rechnen
- Beispiele:
- Schulnoten (ist der Abstand zwischen 4 und 5 derselbe wie zwischen 5 und 6? Nicht wirklich)
- Likert-Skalen ("stimme zu" bis "stimme nicht zu")
- Militärränge
- T-Shirt-Grössen (S/M/L/XL)
- Bildungsabschluss.
- Sinnvolle Statistik:
- Median
- Quantile
- Rangkorrelationen (Spearman)
- Stolperfalle:
- Likert-Skalen werden in der Praxis ständig wie metrische Daten behandelt (Mittelwert von "3.7 auf 5er-Skala") formal falsch, aber pragmatisch verbreitet. Eine Dauerdebatte in der Sozialforschung.
### Metrisch
> Echte Zahlen mit definierten Abständen
- Was geht:
- Alles bisherige
- Abstände und Verhältnisse berechnen
- Hier wird's manchmal weiter unterteilt:
- Intervall: gleiche Abstände, aber kein echter Nullpunkt. Verhältnisse sind sinnlos. Beispiel: Temperatur in °C 20°C ist nicht "doppelt so warm" wie 10°C, weil der Nullpunkt willkürlich gesetzt ist. Andere Beispiele: Kalenderjahre, IQ.
- Ratio (Verhältnis): gleiche Abstände plus echter Nullpunkt. Verhältnisse sind sinnvoll. Beispiel: Preis (0 € heisst tatsächlich "nichts"), Länge, Gewicht, Anzahl Zimmer.
- Sinnvolle Statistik:
- Mittelwert
- Standardabweichung
- Pearson-Korrelation
- alle parametrischen Tests
### Ergebnisse
Nr. Cholumn Dtype nominal ordinal metrisch
0 Unnamed:0 int64 x
1 Suburb object x
2 Address object x
3 Rooms int64 x
4 Type object x
5 Price float64 x
6 Method object x
7 SellerG object x
8 Date object x x
9 Distance float64 x
10 Postcode float64 x
11 Bedroom2 float64 x
12 Bathroom float64 x
13 Car float64 x
14 Landsize float64 x
15 BuildingArea float64 x
16 YearBuilt float64 x x
17 CouncilArea object x
18 Lattitude float64 x
19 Longtitude float64 x
20 Regionname object x
21 Propertycount float64 x