ПочатиПочніть безкоштовно

Random forests

Random Forests — це класичний і потужний ансамблевий метод, який використовує окремі дерева рішень через бутстреп-агрегацію (скорочено bagging). Два основні гіперпараметри в такій моделі — це кількість дерев і максимальна глибина кожного дерева. У цій вправі ви реалізуєте та оціните простий класифікатор random forest із фіксованими значеннями гіперпараметрів.

X_train, y_train, X_test, y_test доступні у вашому робочому середовищі. pandas як pd, numpy як np і sklearn також доступні. RandomForestClassifier() із sklearn.ensemble доступний, як і roc_curve() та auc() із sklearn.metrics.

Ця вправа є частиною курсу

Прогнозування CTR за допомогою машинного навчання в Python

Переглянути курс

Інструкції до вправи

  • Створіть класифікатор random forest із 50 деревами та максимальною глибиною 5.
  • Навчіть класифікатор і отримайте ймовірності через .predict_proba(), а також передбачення через .predict() для тестових даних.
  • Оцініть AUC ROC-кривої для класифікатора: спочатку скористайтеся roc_curve() для обчислення fpr і tpr, а потім застосуйте auc() до результату.
  • Оцініть precision і recall для класифікатора.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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))
Редагувати та запускати код