机器学习的分类性能指标

最近处理一个从3维MRI图像中分割海马体的任务,发现使用acc来衡量网络的性能实在是没什么意义,主要是我把这个分割任务看做一个二分类任务,而属于海马体类的像素仅占了整个空间的0.03%,也就意味着class 1 仅占1%都不到,这可以说是一个相当不均衡的数据集了,所以使用acc来衡量分类器是毫无意义的。
所以搜索整理了一些网上的资料,学习了一些适于处理这些情况(不均衡二分类)的性能指标:

混淆矩阵 confusion matrix

又称为可能性表格或是错误矩阵。它是一种特定的矩阵,被用来实现算法性能的可视化。


机器学习的分类性能指标_第1张图片
image

盗来一张图
真阳性(True Positives):预测为1,实际为1
假阳性(False Positives):预测为1,实际为0
真阴性(True Negatives) :预测为0,实际为0
假阴性(False Negatives) :预测为0,实际为1
于是乎就有了

精确率
precision=TP/(TP+FP)
召回率
recall = TP/(TP+FN)
F1分数
F-score=2 × precison × recall/(precision+recall)

F1是前两者的调和均值,当然我很奇怪我什么在Keras里它会一直是NAN,前两个的计算都没问题。

ROC曲线

有两个新的概念

灵敏度
sensitivity=recall
特异度
specificity = TN/(FP+TN)
此外灵敏度又被称为真阳性率(TPR),特异度又被称为真阴性率(TNR)

ROC曲线以1-specificity为横坐标,sensitivity为纵坐标。
又盗一张图



图二的曲线越接近(0,1)说明性能越好

AUC

AUC指ROC曲线下的面积,面积越大分类器效果越好。
AUC的物理意义为,随机给定一个正样本,一个负样本,使用分类器进行预测,设判断正样本为正的概率为P1,判断负样本为正的概率为P2,P1>P2的概率就是AUC值。
AUC的取值区间为[0.5 , 1],为0.5表明AUC猜错与猜对的几率对半分,即完全随机的预测,1则代表完美分类器。

你可能感兴趣的:(机器学习的分类性能指标)