single
Herausforderung: Implementierung eines Random Forests
Swipe um das Menü anzuzeigen
In sklearn wird die Klassifikationsvariante des Random Forest mit dem RandomForestClassifier implementiert:
Die Kreuzvalidierungsgenauigkeit wird ebenfalls mit der Funktion cross_val_score() berechnet:
Am Ende werden die Wichtigkeit der einzelnen Merkmale ausgegeben. Das Attribut feature_importances_ liefert ein Array mit Wichtigkeitswerten – diese Werte zeigen, wie stark jedes Merkmal zur Reduzierung der Gini-Unreinheit an allen Entscheidungsnoten beigetragen hat, an denen dieses Merkmal verwendet wurde. Anders ausgedrückt: Je mehr ein Merkmal die Daten sinnvoll aufteilt, desto höher ist seine Wichtigkeit.
Das Attribut gibt jedoch nur die Werte ohne die Namen der Merkmale zurück. Um beides anzuzeigen, können Sie sie mit der Python-Funktion zip() paaren:
for feature, importance in zip(X.columns, model.feature_importances_):
print(feature, importance)
Dies gibt für jedes Merkmal den Namen zusammen mit seinem Wichtigkeitswert aus und erleichtert so das Verständnis, auf welche Merkmale sich das Modell am meisten stützt.
Wischen, um mit dem Codieren zu beginnen
Sie erhalten einen Titanic-Datensatz, der als DataFrame in der Variablen df gespeichert ist.
- Initialisieren Sie das Random Forest-Modell, setzen Sie
random_state=42, trainieren Sie es und speichern Sie das trainierte Modell in der Variablenrandom_forest. - Berechnen Sie die Kreuzvalidierungswerte für das trainierte Modell mit
10Folds und speichern Sie die resultierenden Werte in der Variablencv_scores.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen