IniziaInizia gratis

Random forest

Le Random Forest sono un metodo di ensemble classico e potente che sfrutta singoli alberi decisionali tramite bootstrap aggregation (o, in breve, bagging). I due principali iperparametri di questo tipo di modello sono il numero di alberi e la profondità massima di ciascun albero. In questo esercizio, implementerai e valuterai un semplice classificatore random forest con alcuni valori di iperparametri fissati.

X_train, y_train, X_test, y_test sono disponibili nel tuo workspace. pandas come pd, numpy come np e sklearn sono anch'essi disponibili. RandomForestClassifier() da sklearn.ensemble è disponibile, insieme a roc_curve() e auc() da sklearn.metrics.

Questo esercizio fa parte del corso

Prevedere il CTR con il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un classificatore random forest con 50 alberi e una profondità massima di 5.
  • Addestra il classificatore e ottieni i punteggi di probabilità tramite .predict_proba() e le predizioni tramite .predict() sui dati di test.
  • Valuta l'AUC della curva ROC per il classificatore usando prima roc_curve() per calcolare fpr e tpr, quindi auc() sul risultato.
  • Valuta precision e recall per il classificatore.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice