今天我们来说下分类情况下常用的一个指标:混淆矩阵。
那什么是混淆矩阵呢?其实就是把所有类别的预测结果与真实结果按类别放置到了同一个表里,在这个表格中我们可以清楚看到每个类别正确识别的数量和错误识别的数量。
那么混淆矩阵在什么情况下最能直观看到其优势呢?答案是类别不平衡时。
我们下面来先看个例子:
我们看下这个识别的准确率=0.8,哇,准确率不低呀,都80分了,挺好的啊!!!但是我们看下预测结果,全部是0,一个1就没有,这就尴尬了~~~这是因为我们的真实类别有80%是0类,所以把所有类别都设置为0就能得到80%的准确率,所以单纯全样本集的准确率有时并不能说明模型的好坏,还要结果类别统计信息进行对比分析才行哈~~~
既然准确率有可能一叶障目,那有什么好的指标能比较全面的进行性能评估呢,混淆矩阵就是一个很好的指标,我们用上面的例子再来运行下混淆矩阵来看下结果:
这个就是混淆矩阵,先说下怎么看这个矩阵,竖着看是预测识别结果,横着看是真实结果,红1位置那个8就是预测为0的并且实际为0的有8个样本,红2位置是预测为0但实际为1的有2个样本;红3是预测为1但实际为0的有0个样本,红4是预测为1并且真实为1的有0个样本。
这样我们只看混淆矩阵的对角线,可以看到有8个0识别准确,有0个1识别错误,也就是0的查准率;0类的查准率是80%,查全率是0%,1类的查准率是0%,查全率是0%;哦哦哦,原来0类的这么差呀,一个都没识别出来了,现在还觉得那个80%准确率高吗?呵呵~~~
好了,混淆矩阵就说到这里了,其实就是看看所有类别各自的识别情况,能够看到模型的本质好坏哈。