Začněte nyníZačněte zdarma

Náhodné lesy

Náhodné lesy (Random Forests) jsou klasická a výkonná metoda ensemblového učení, která kombinuje jednotlivé rozhodovací stromy prostřednictvím bootstrap agregace (zkráceně bagging). Mezi dva hlavní hyperparametry tohoto typu modelu patří počet stromů a maximální hloubka každého stromu. V tomto cvičení implementuješ a vyhodnotíš jednoduchý klasifikátor náhodného lesa s pevně stanovenými hodnotami hyperparametrů.

V pracovním prostředí máš k dispozici X_train, y_train, X_test, y_test. Dostupné jsou také pandas jako pd, numpy jako np a sklearn. K dispozici jsou rovněž RandomForestClassifier() z sklearn.ensemble a funkce roc_curve() a auc() z sklearn.metrics.

Toto cvičení je součástí kurzu

Předpovídání CTR pomocí Machine Learning v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř klasifikátor náhodného lesa s 50 stromy a maximální hloubkou 5.
  • Natrénuj klasifikátor, získej skóre pravděpodobností pomocí .predict_proba() a predikce pomocí .predict() pro testovací data.
  • Vyhodnoť AUC ROC křivky pro klasifikátor – nejprve pomocí roc_curve() vypočítej fpr a tpr, a pak na výsledku zavolej auc().
  • Vyhodnoť přesnost (precision) a úplnost (recall) klasifikátoru.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód