随机森林
随机森林是经典且强大的集成方法,通过自助采样聚合(bootstrap aggregation,简称 bagging)来组合多个决策树。该模型主要涉及两个超参数:树的数量,以及每棵树的最大深度。在本练习中,您将用固定的超参数实现并评估一个简单的随机森林分类器。
X_train、y_train、X_test、y_test 已在您的工作区中可用。pandas(别名 pd)、numpy(别名 np)和 sklearn 也已可用。sklearn.ensemble 中的 RandomForestClassifier() 可用,同时 sklearn.metrics 中的 roc_curve() 和 auc() 也可用。
本练习是课程的一部分
用 Python 预测 CTR 的机器学习实战
练习说明
- 创建一个包含 50 棵树、最大深度为 5 的随机森林分类器。
- 训练分类器,并在测试数据上通过
.predict_proba()获取概率分数,通过.predict()获取预测结果。 - 使用
roc_curve()先计算fpr和tpr,再用auc()计算该分类器 ROC 曲线的 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))