开始使用免费开始使用

随机森林

随机森林是经典且强大的集成方法,通过自助采样聚合(bootstrap aggregation,简称 bagging)来组合多个决策树。该模型主要涉及两个超参数:树的数量,以及每棵树的最大深度。在本练习中,您将用固定的超参数实现并评估一个简单的随机森林分类器。

X_trainy_trainX_testy_test 已在您的工作区中可用。pandas(别名 pd)、numpy(别名 np)和 sklearn 也已可用。sklearn.ensemble 中的 RandomForestClassifier() 可用,同时 sklearn.metrics 中的 roc_curve()auc() 也可用。

本练习是课程的一部分

用 Python 预测 CTR 的机器学习实战

查看课程

练习说明

  • 创建一个包含 50 棵树、最大深度为 5 的随机森林分类器。
  • 训练分类器,并在测试数据上通过 .predict_proba() 获取概率分数,通过 .predict() 获取预测结果。
  • 使用 roc_curve() 先计算 fprtpr,再用 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))
编辑并运行代码