对模型的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量(performance measure),回归任务最常用的性能度量是"均方误差" (mean squared error)。下面主要介绍分类模型的评估以及在sklearn库中的实现方法。
一、错误率与精度(accuracy)
错误率和精度是分类任务中最常用的两种性能度量,既适用于二分类任务,也适用于多分类任务。错误率是分类错误的样本数占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。
from sklearn import metrics
print('模型精度:',metrics.accuracy_score(y_test,y_predict))
二、查准率(precision)、查全率(recall)与F1-score
错误率和精度虽常用,但并不能满足所有任务需求。以西瓜问题为例,假定瓜农拉来一车西瓜,我们用训练好的模型对这些西瓜进行判别,显然,错误率衡量了有多少比例的瓜被判别错误。但是若我们关心的是“挑出的西瓜中有多少比例是好瓜”,或者“所有好瓜中有多少比列被挑了出来”,显然错误率就不能用了,需要使用其他的性能度量。查准率(precision)和查全率(recall)是更为适用于此类需求的性能度量。
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive) 、假正例(false positive) 、真反例(true negative) 、假反例(false negativ