项目实操

性别预测-机器学习,Hadoop,Hive,MapReduce第四篇

基于手机app用户的性别预测4-绘制roc曲线

(特此声明,因代码需保密,所以在此仅提供方法做参考,望各位读者见谅)

5.ROC曲线:

让我们来看一下ROC曲线是什么呢,它好在哪里呢?

ROC曲线: -比较两个分类模型的有用的可视化工具。 -显示了给定模型的真正率和假正率之间的比较。 ( 真正率:正确识别的正元组的比例。 假正率:不正确识别为正元组的负元组的比率。) 绘制曲线步骤: -按照预测类的概率排序测试集,从左下角开始。 -逐一检验每个元组,若它是正确分类的正元组,则在ROC上向上移动并绘制一个点,否则向右移动并绘制一个点。

接下来我们就以性别预测的例子开始绘制ROC曲线。

需要用到sklearn的中的metrics方法,matplotlib绘图。引用代码如下。

[cc lang=”python”]from sklearn import metrics[/cc] [cc lang=”python”]import matplotlib.pyplot as plt[/cc]

1)用到构造梯度提升树模型后得到的结果,训练测试集后的男女分类标签和模型AUC得分。

2)指定FP(假正率)和TP(真正率)。

3)设置绘图相关参数(图表名、图标样式、曲线样式、x轴y轴取值范围以及x轴y轴名)。

4)plt.show()显示ROC曲线。

由ROC曲线可以看出我们此次的训练AUC=0.87,曲线也较为平滑,说明我们此次训练的模型准确率较高、稳定性较好。

这一节我们学习了ROC曲线的含义和绘制方法,其实结果的好坏最重要看算法,算法的选用要看数据的情况,提前分析好数据正负比例分布,缺失值,边界值等情况,才能选择好适合的算法。对数据做好预处理,那么就完成了机器学习的70%的工作量。

那么下一节我们就学习如何在集群上跑数据,提高模型的速度和准确性。

发表评论

电子邮件地址不会被公开。 必填项已用*标注