精确率、ROI 与 AUC
投资回报率(ROI)可以分解为精确率与"回报与成本之比"的乘积。如前所述,即使 ROC 曲线的 AUC 很高,模型的精确率也可能很低。若精确率低,则 ROI 也会偏低。在本练习中,您将使用一个 MLP 来计算示例 ROI。这里假设给定固定的 r(每一定数量展示所带来的每次点击回报)和 cost(每一定数量展示的成本),并结合精确率与 ROC 曲线的 AUC 值,观察这三者如何变化。
X_train、y_train、X_test、y_test 已在工作区中可用;clf 为一个 MLP 分类器,概率分数存于 y_score,预测标签存于 y_pred。pandas 已以 pd 导入,sklearn 也已在您的工作区中可用。
本练习是课程的一部分
用 Python 预测 CTR 的机器学习实战
练习说明
- 计算 MLP 分类器的精确率
prec。 - 基于精确率
prec计算总 ROI。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Get precision and total ROI
prec = ____(y_test, ____, average = 'weighted')
r = 0.2
cost = 0.05
roi = ____ * r / cost
# Get AUC
roc_auc = roc_auc_score(y_test, y_score[:, 1])
print("Total ROI: %s, Precision: %s, AUC of ROC curve: %s" %(
roi, prec, roc_auc))