如何评价算法的好坏

2020-03-08  本文已影响0人  老姚记事本

机器学习是基于统计原理的预测。

如何判断?判断正确数与总数的比率?
这种做法有缺陷,比如一堆人里预测癌症患者,因为发病率低,只需要都认为没有癌症,准确率就能达到很高。

混淆矩阵,准确率,精准率,召回率

混淆矩阵

预测1 预测0
实际1 11(TP) 10(FP)
实际0 01(FN) 00(TN)

P:Postive
N: Negative

准确率

准确率=(TP+TN)/(TP+TN+FP+FN)
开篇写了,会有问题

精准率

精准率(Precision)=TP/(TP+FP)
预测为正的样本的正确率,类似假设检验的检验水平

召回率

召回率(Recall)=TP/(TP+FN)
实际为正样本中,被揪出来的概率,类似假设检验的power

P-R曲线(查准率-查全率)

F1分数

我们希望差准率和查全率都比较高,需要找到一个平衡点,引入新指标:
F1分数 = 2*查准率*查全率 / (查准率 + 查全率)
F1 Score 是精准率和召回率的调和平均值

ROC/AUC的概念

1. 灵敏度,特异度,真正率,假正率

灵敏度(Sensitivity)= TP/(TP+FN) = 召回率 = 真阳性率(TPR)
特异度(Specificity)= TN/(FP+TN)
假阳性率(FPR)= 1- 特异度 = FP/(FP+TN)

2. ROC(接受者操作特征曲线)

ROC曲线
ROC曲线(Receiver Operation Characteristic Cureve),描述TPR和FPR之间的关系。

3. AUC(曲线下面积)

ROC曲线下面积,称为AUC(Area Under Curve)

思考

训练集中购买奢侈品的用户占比太少,数据偏斜严重,准确率没有意义。

ROC描述TPR和FPR之间的关系,有点类似为检出率和付出的矫枉过正的代价。ROC绘制时,遍历所有阈值,求TPR和FPR做为坐标绘制。

P-R横坐标正面指标,ROC横坐标是负面指标。

ROC同时考虑了正例和负例,因此适用于评估分类器整体的效能,而PR曲线专注于正例,若是在类别平均且正例及负例的判断都重要情况下,ROC曲线是不错的选择。
由于ROC曲线的X轴使用了FPR,在类别不平均的情况下(负样本较多),使得FPR的增长会被稀释,会导致ROC曲线呈现出过度乐观的结果,因此在类别不平均情况下,PR曲线会是较好的选择。

上一篇下一篇

猜你喜欢

热点阅读