如果数据集的正例和反例的比例非常倾斜,常用的错误指标如 准确率(accuracy) 并不好用。此时可以用精确率和召回率。
精确率(precision):真阳的样本数/预测为阳的样本数=真阳数/(真阳+假阳)
召回率(recall):真阳/实际阳 = 真阳/(真阳+漏报)
相当于检测出的正有75%是真的正,能检测出的正大概占所有真的正样本的60%
假设 f(x) 大于等于0.5时为1, 小于0.5时为0.如果是一个罕见疾病的预测,我们希望只有在非常确定为 1 时才预测为 1 ,可以提高这个阈值 到 0.9, 此时精确率会提高,但召回率会下降。
假设只有非常确定没有病的时候才预测为 0,可以降低这个阈值,此时精确率下降,但召回率会提高。(有点像"不放过一个")
根据精确率和召回率选择算法时,一种方法是计算二者的平均值,但这通常不好。计算F1分数可以结合精确率和召回率选择好算法。
F1分数(F1 score) :更倾向较低的数值,计算公式如下。这个公式在数学中被称为 P 和 R 的调和均值。