update: erkenntnisse aus uebung

This commit is contained in:
2026-06-18 20:27:18 +02:00
parent 7642f2698a
commit e53ff44b8d
+9
View File
@@ -327,3 +327,12 @@ kproto = KPrototypes(n_clusters=4, init='Cao', verbose=2)
clusters = kproto.fit_predict(X, categorical=[1, 2]) # Indizes der kategorialen Spalten
kproto.cluster_centroids_ # bestimmte Cluster-Zentren
```
## Praxis-Notizen aus Übung 2 (Stock-Daten)
- Skalierung nötig: Dividend/PE/Cap auf sehr verschiedenen Skalen → sonst dominiert Cap die Distanz komplett. RobustScaler (Median/IQR) statt StandardScaler wegen starker Ausreisser in PE/Cap
- `categorical_idx` bezieht sich auf das Feature-Array `X` (nach Entfernen der ID-Spalten Stock/Symbol), nicht auf das originale `df`
- gamma fixieren! `cost_` ist nur über verschiedene $k$ vergleichbar, wenn `gamma` fest vorgegeben ist — sonst schätzt kmodes es pro Fit neu → cost-Kurve wird nicht-monoton
- `init="Cao"` kann bei grossem $k$ abbrechen ("could not initialize") → kleineres $k$ oder `init="Huang"`
- Ausreisser-Empfindlichkeit (live gesehen): die 3 PE-Extremwerte bilden eigene Mini-Cluster (Grössen 3/12/79), ~95 % aller Aktien landen in einem Topf → k-Prototypes clustert hier primär nach Ausreissern statt nach inhaltlicher Struktur
- Interpretation: numerische Zentren mit `scaler.inverse_transform` in Originaleinheiten zurückrechnen; kategoriales Zentrum = Modus (häufigster Sektor)