精度(accuracy) 分类正确的样本数占总样本数的比例
错误率(error rate) 分类错误的样本数占总样本数的比例
通常来说精度(accuracy)不是一个好的性能指标,尤其是处理数据有偏差时候比如一类非常多,一类很少。
比如手写数字识别问题,只判断一副图片是不是5,由于5的图片只占百分之10左右,所以分类器总是预测图片不是5都会有90%左右的可能性是对的
混淆矩阵、准确率、召回率、F1
混淆矩阵
准确率(accuracy)
准确率 = (TP + TN) / 记录总数
表示正确预测的样本占总样本的比例,准确率并不总是首选的指标,因为目标类别是不均衡的。大多数时候,TN样本远多于TP样本。举个例子,欺诈检测的数据集会包含99%的真实交易和1%的欺诈交易,如果模型预测所有的交易均为真实交易,那么准确率仍有99%。
关键是要找出关于正类别的性能,因此介绍如下几个指标。
举例:医生问诊,(真病人 + 真健康)/ 所有人
精度(precision)
表示正确预测出的正样本占所有预测为正样本的比例。
举例:真病人 / (真病人 + 假病人)
召回率
召回率 = TP / (TP + FN)
又称查全率,表示正确预测出的正样本占总正样本的比例,反映了模型预测正类别的性能。
举例:真病人 / (真病人 + 假健康)
精度和召回率不可兼得,增加精度会降低召回率,增加召回率会降低精度,因为保证精度,那么将会对预测结果严格筛选,这将导致部分正例被筛选淘汰,导致召回率降低。保证召回率,那么就会降低筛选的门槛,尽可能多的将正例筛选出来,那么就会有一些反例被筛选进去,导致精度下降。
也可以通过直接画出召回率对精度的曲线来进行观察,在其急剧下降之前根据需求选择合适点。
F1分数
F1分数是召回率和准确率的结合,使两者的调和平均,所谓调和平均就是会给小的值更大的权重,而不是同等地位看待,所以若要F1值高,那么需要两者都高。