精确率与召回率
精确率与召回率都与上一课讨论的四种预测结果相关,是评估任何机器学习模型的重要指标。理想情况下,广告 CTR 模型应同时具备较高的精确率(广告投入的 ROI 高)与召回率(能覆盖到相关受众)。虽然可以手动计算精确率和召回率,但 sklearn 提供了便捷的实现,能轻松融入现有工作流。本练习中,您将搭建一棵决策树并计算精确率与召回率。
pandas 模块已在工作区以 pd 提供,示例 DataFrame 已加载为 df。特征已加载在 X,目标变量已加载在 y。此外,您可以使用来自 sklearn.metrics 的 precision_score() 和 recall_score()。
本练习是课程的一部分
用 Python 预测 CTR 的机器学习实战
练习说明
- 获取
X和y的训练集与测试集划分。 - 定义一个决策树分类器,并通过拟合模型得到预测
y_pred。 - 使用
sklearn的实现来计算精确率和召回率。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Set up training and testing split
X_train, X_test, y_train, y_test = ____(
____, ____, test_size = .2, random_state = 0)
# Create classifier and make predictions
clf = ____
y_pred = clf.____(____, _____).____(X_test)
# Evaluate precision and recall
prec = ____(y_test, ____, average = 'weighted')
recall = ____(y_test, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))