分类器的性能评估
在回归任务中,性能评估的方式较为简单,最常用的性能度量方式为均方误差(MSE)。
但是评估分类器就要比评估回归模型要困难很多,我们通常采用以下指标对分类器进行性能评估:
1、准确率、错误率(在评估倾斜类时,不是一个好指标)
2、精度(precision)、召回率(recall)、F1
3、ROC曲线、AUC
在进行性能评估时,依旧和回归模型一样采用交叉验证。
下面我们依次介绍如何在sklearn中使用上述三类指标进行分类器性能评估。
1、准确率
通常采用cross_value_score()这个函数,具体使用方法如下
from sklearn.model_selection import cross_val_score
cross_val_score(estimator, train_x, train_y, cv, scoring="accuracy")
其中,estimator即为我们要评估的分类器
cv为整数时,默认为KFold或StratifiedKFold。我们也可以自己设计交叉验证模式,具体见以前的博客。
但是准确率在处理偏斜类时,性能指标不客观。
混淆矩阵
评估分类器性能的更好方法就是混淆矩阵。
要计算混淆矩阵,需要先有一组预测才能将其与实际目标进行比较。当然可以通过测试集来进行预测,但是现在先不要动它(测试集最好留到项目最后,准备启动分类器时再