LoslegenKostenlos loslegen

Random Forests

Random Forests sind eine klassische und leistungsstarke Ensemble-Methode, die einzelne Entscheidungsbäume mithilfe von Bootstrap-Aggregation (kurz: Bagging) nutzt. Zwei zentrale Hyperparameter bei diesem Modelltyp sind die Anzahl der Bäume und die maximale Tiefe jedes Baums. In dieser Übung implementierst und bewertest du einen einfachen Random-Forest-Klassifikator mit einigen festen Hyperparameterwerten.

X_train, y_train, X_test, y_test sind in deinem Workspace verfügbar. pandas als pd, numpy als np und sklearn sind ebenfalls verfügbar. RandomForestClassifier() aus sklearn.ensemble steht dir ebenso zur Verfügung, ebenso wie roc_curve() und auc() aus sklearn.metrics.

Diese Übung ist Teil des Kurses

CTR-Vorhersage mit Machine Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle einen Random-Forest-Klassifikator mit 50 Bäumen und einer maximalen Tiefe von 5.
  • Trainiere den Klassifikator und ermittle Wahrscheinlichkeitsscores über .predict_proba() sowie Vorhersagen über .predict() für die Testdaten.
  • Bewerte die AUC der ROC-Kurve für den Klassifikator, indem du zuerst mit roc_curve() fpr und tpr berechnest und anschließend auc() darauf anwendest.
  • Bewerte die Precision und Recall für den Klassifikator.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Create random forest classifier with specified params
clf = ____(____ = 50, ____ = 5)

# Train classifier - predict probability score and label
y_score = clf.____(X_train, y_train).____(X_test) 
y_pred = clf.____(X_train, y_train).____(X_test) 

# Get ROC curve metrics
fpr, tpr, thresholds = ____(y_test, y_score[:, 1])
print("ROC of AUC: %s"%(____(fpr, tpr)))

# Get precision and recall
precision = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
print("Precision: %s, Recall: %s" %(precision, recall))
Code bearbeiten und ausführen