feautre(notizen): add l4 notes afternoon

This commit is contained in:
2026-06-04 14:56:41 +02:00
parent cd5581ada4
commit 6d6cc9f917
+75
View File
@@ -291,3 +291,78 @@ from sklearn.inspection import permutation_importance
r = permutation_importance(model, X_test, y_test, n_repeats=10, random_state=1234)
perm = pd.Series(r.importances_mean, index=X_train.columns).sort_values()
```
---
## RandomForest Tree
- ist ein ensemble Lernverfahren das aus vielen einzelnen Entscheidungsbäumen besteht
- jeder Baum trifft eine Vorhersage und der RandomForest kombiniert diese zu einer Gesamtvorhersage
- Sammlung zufällig trainierter Entscheidungsbäume
- Gemeinsame Entscheidung ist besser als einzelne Vorhersagen
### Ablauf
1. Bootstrap-Sampling
- Für jeden baum zufälliges Dataset ziehen (mit zurücklegen)
2. Random Feature Selection
- Bei jedem Split darf der Baum nur aus einer zufälligen Auswahl von Features wählen
3. Viele Bäume trainieren
- 100-1000 Bäume
- jeder Baum ist schwach, zusammen sind sie stark
4. Aggregation der Vorhersagen
- Klassifikation (Mehrheitsvoting)
- Regression (Durchschnitt aller Baumvorhersagen)
### Hyperparameter
1. n_estimators
- Anzahl der Bäume im Wald
- Mehr Bäume -> stabiler, genauer aber langsamer
2. max_depth
- Maximale Tiefe jedes einzelnen Baums
- Klein -> verhindert Overfitting
- Gross -> jeder Baum wird komplexer
3. max_features
- Wie viele Features pro Split?
- Klassifikation oft "sqrt"
4. min_samples_split
- Minimale Anzahl Samples die nötig sind um einen Split zu erzeugen
- Höher -> glattere, stabilere Bäume
- Tiefer -> Mehr Splits
5. min_samples_leaf
- Minimale Anzahl Samples in einem Blatt
- Höher -> robust gegen rauschen
- Tiefer -> feinere instabilere Blätter (bei unbalancierten Daten wichtig)
6. Bootstrap
- Ob bootstrap-Sampling verwendet wird
- True -> jeder Baum sieht zufällige Daten
- False -> alle Bäume sehen dieselben Daten
7. criterion
- Reinheitsmass für Splits
- Klassifikation: Gini oder entropy
- Regression: squared_error oder absolute_error
8. max_leaf_nodes
- Begrenzt die Anzahl Blätter pro Baum
- Verhindert extreme Tiefe
9. oob_score
- Out Of Bag validierung aktivieren
- Liefert eine eingebaute Testgenauigkeit
- Spart einen separaten Validierungssplit
### Unterschied zu DecisionTree
- es werden viele Bäume trainiert (100-1000)
- jeder Baum basiert auf Zufallsstichprobe
- kein Pruning, Bäume werden voll ausgebaut
- Vorhersage: Alle Bäume werden aus gewertet und es wird abgestimmt
- DecistionTree, wenn
- leicht erklärbares Modell wird benötigt
- Daten sind einfach und Overfitting kontrollierbar ist
- schnelle Trainings und Vorhersagezeiten
- Random Forest, wenn
- Maximale Genauigkeit
- komplexe Daten, verrauscht, hochdimensional
- Robustheit
- Overfitting unbedingt zu vermeiden ist