НачатьНачать бесплатно

Случайные леса

Случайные леса — классический и мощный ансамблевый метод, в котором объединяются отдельные деревья решений с помощью бэггинга (bootstrap aggregation). Два основных гиперпараметра этого типа модели — количество деревьев и максимальная глубина каждого дерева. В этом упражнении вы реализуете и оцените простой классификатор на основе случайного леса с фиксированными значениями гиперпараметров.

X_train, y_train, X_test, y_test доступны в вашем рабочем пространстве. Там же доступны pandas как pd, numpy как np и sklearn. Из sklearn.ensemble импортирован RandomForestClassifier(), а из sklearn.metricsroc_curve() и auc().

Это упражнение является частью курса

Прогнозирование CTR с помощью машинного обучения на Python

Посмотреть курс

Инструкции к упражнению

  • Создайте классификатор на основе случайного леса с 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))
Редактировать и запускать код