赞
踩
画法:
上图中的“真实情况”中的1和0指代“是该标签”和“不是该标签”。
TP: 预测为 1,预测正确,即实际 1
FP: 预测为 1,预测错误,即实际 0
FN: 预测为 0,预测错确,即实际 1
TN: 预测为 0,预测正确,即实际 0
预测正确的结果 占 总样本 的比例。
准确率 = (TP+TN) / (TP+TN+FP+FN)
正负样本不平衡时,该指标难以衡量结果好坏。举例:正负样本比例9:1时,只需要全部预测正样本,即可得到90%的准确率。
所以衍生出:精准率、召回率
预测为正的所有情况中,预测对的占比。
精准率 = TP / (TP+FP)
所有为正的样本中,预测对的占比。
召回率 = TP / (TP+FN)
1. 如何理解 P-R(精准率-召回率)这条曲线?
拿逻辑回归举例,逻辑回归的输出是一个 0 到 1 之间的概率数字,因此,如果我们想要根据这个概率判断用户好坏的话,我们就必须定义一个阈值 。通常来讲,逻辑回归的概率越大说明越接近 1,也就可以说他是坏用户的可能性更大。比如,我们定义了阈值为 0.5,即概率小于 0.5 的我们都认为是好用户,而大于 0.5 都认为是坏用户。因此,对于阈值为 0.5 的情况下,我们可以得到相应的一对精准率和召回率。
但问题是:这个阈值是我们随便定义的,我们并不知道这个阈值是否符合我们的要求。 因此,为了找到一个最合适的阈值满足我们的要求,我们就必须遍历 0 到 1 之间所有的阈值,而每个阈值下都对应着一对精准率和召回率,从而我们就得到了这条曲线。
2. 如何找到最好的阈值点呢?
我们希望精准率和召回率同时都非常高。 但实际上这两个指标是一对矛盾体,无法做到双高。图中明显看到,如果其中一个非常高,另一个肯定会非常低。选取合适的阈值点要根据实际需求,比如我们想要高的召回率,那么我们就会牺牲一些精准率,在保证召回率最高的情况下,精准率也不那么低。
但通常,如果想要找到二者之间的一个平衡点,我们就需要一个新的指标:F1 分数。F1 分数同时考虑了精准率和召回率,让二者同时达到最高,取一个平衡。
F1 分数的公式为 = 2 精准率 召回率 / (精准率 + 召回率)。 我们在图中看到的平衡点就是 F1 分数得来的结果。
ROC和PR曲线都是从阈值的选取角度对模型进行评估的指标(阈值不同,混淆矩阵结果不同,从而画出完整曲线),只不过ROC曲线可以无视样本不平衡问题。
TPR 和 FPR 使得 ROC 与 AUC 可以无视样本不平衡。(非常重要!)
因为:TPR 和 FPR 分别是基于实际的正样本和负样本 来观察相关概率问题,无论样本是否平衡,结果都不会被影响;而 PR曲线 中的 P 会被影响(P是基于正和负样本)。举例:正负样本比例9:1时,TPR仅关注90%的正样本中被预测对的结果,与10%无关;同样地,FPR仅关注10%的负样本中被预测错的结果,与90%无关。
与前面的 P-R 曲线类似,ROC 曲线也是通过 遍历所有阈值 来绘制整条曲线的。
如何判断 ROC 曲线的好坏?
改变阈值只是不断地改变预测的正负样本数,即 TPR 和 FPR,但是曲线本身是不会变的。
我们希望TPR 越高,同时 FPR 越低。
如果连接ROC曲线的对角线,它的面积正好是 0.5。
对角线的实际含义是:在这条对角线上的点其实表示的是一个采用随机猜测策略的分类器对样本进行分类的结果。例如(0.5,0.5)就表示分类器随机对一半的样本猜测为正样本,另一半的样本为负样本的分类结果。
ROC 曲线理想值就是 1,一个正方形;而最差的随机判断都有 0.5。
所以一般 AUC 的值是介于 0.5 到 1 之间的。
AUC 的一般判断标准:
0.5 - 0.7: 效果较低,但用于预测股票已经很不错了
0.7 - 0.85: 效果一般
0.85 - 0.95: 效果很好
0.95 - 1: 效果非常好,但一般不太可能
偏差:是衡量预测值与真实值的关系,是指预测值与真实值之间的差值.
方差:是衡量预测值之间的关系,和真实值无关.也就是他们的离散程度
误差 = 偏差 + 方差
当然,我们选择训练模型低偏差,低方差,这样误差最小。
不考虑噪声,偏差很大可以认为是由模型欠拟合引起的,方差很大可以认为是由模型过拟合引起的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。