分类精度评价:混淆矩阵+总体精度OA、F1值等

整理 归纳 举例 记录一下

(一)混淆矩阵

混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。

  Predicted as Positive(预测-正例) Predicted as Negative(预测-反例)
Labeled as Positive (真实-正例) True Positive(TP-真正例) False Negative(FN-假反例)
Labeled as Negative (真实-反例) False Positive(FP-假正例) True Negative(TN-真反例)

TP:真正,被模型分类正确的正样本 【预测为1 实际为1】 

FN:假负,被模型分类错误的正样本 【预测为0 实际为1】

FP:假正,被模型分类错误的负样本 【预测为1 实际为0】

TN:真负,被模型分类正确的负样本 【预测为0 实际为0】

计算评价指标

Precision查准率、精确率:分类正确的正样本个数占分类器分成的所有正样本个数的比例

            P = \frac{TP}{TP + FP}

Recall查全率、召回率:分类正确的正样本个数占正样本个数的比例

          R = \frac{TP}{TP +FN}

F1值

          F1度量的一般形式是:F_{\beta }=\frac{(1+\beta ^{2})\times P\times R}{(\beta ^{2}\times P)+R}

               \beta >0 度量了查全率对查准率的相对重要性

              \beta =1 时退化为标准的F1

              \beta >1 时查全率有更大影响

             \beta <1 时查准率有更大影响

       F1是基于查全率和查准率的调和平均定义的如下:

           \frac{1}{F1}=\frac{1}{2}\cdot (\frac{1}{P}+\frac{1}{R})       or    F1 =2 \cdot \frac{P\cdot R}{P+R}

TPR:真正例率

          TPR=\frac{TP}{TP+FN}

FPR:假正例率

          FPR=\frac{FP}{TN+FP}

ROC曲线

        根据学习器的预测结果对样例进行排序,按此顺序逐个把正例进行预测,每次计算出真正例率、假正例率,并以真正例率为纵轴,假正例率为横轴,即得到ROC曲线

   

总体分类精度(Overall Accuracy):分类正确的样本个数占所有样本个数的比例        

           OA = \frac{TP + TN}{TP+ FN + FP +TN}        或    OA = \frac{1}{N}\Sigma _{i=1}^{r}x_{ii}

     

Kappa系数

        Kappa = \frac{N \Sigma_{i=1}^{r}x_{ii}-\Sigma _{i=1}^{r}(x_{i+}\times x_{+i})}{N^{2}-\Sigma _{i=1}^{r}(x_{i+}\times x_{+i})}

 (二) 例:  单位/像素(pixel)

class 水体 林地 耕地 未利用地 居民地 总计
水体 25792 0 0 2 44 25838
林地 80 16825 297 684 1324 19210
耕地 519 60 27424 38 11542 39583
未利用地 31 0 0 9638 487 10156
居民地 323 0 49 133 30551 31056
总计 26745 16885 27770 10495 43948 125843
林地 Predicted as Positive Predicted as Negative
Labeled as Positive  16825(TP) 2385(FN)
Labeled as Negative  60(FP) 93405(TN)

林地-精确率P:

P = (16825)/(16825+60)= 0.9964

林地-召回率R:

R = (16825)/(16825+2385)= 0.8758

林地-F1值:

F1 = 2\cdot \frac{0.9964\cdot 0.8758}{0.9964+0.8758}=0.9322

总体精度: 正确分类的像元总和除以总像元数。被正确分类的像元数目沿着混淆矩阵的对角线(红色字体)分布,总像元数等于所有真实参考源的像元总数 (蓝色字体)    

OA = (110230/125843)=87.5933%

Kappa系数:通过把所有真实参考的像元总数(N)乘以混淆矩阵对角线(Xii)的和,再减去各类中真实参考像元数与该类中被分类像元总数之积之后,再除以像元总数的平方减去各类中真实参考像元总数与该类中被分类像元总数之积对所有类别求和的结果。

K = 0.8396

(三)Python求混淆矩阵

导入库:

from sklearn import metrics
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report

类似例子代码见:

计算一幅图像中不同地物的分类精确度(以像素为单位)

计算分类结果图与标准参考图混淆矩阵

对分类结果进行P值、R值、F1值等的评价

https://download.csdn.net/download/m_try/10450455

 

 

参考:

http://blog.sina.com.cn/s/blog_670ee7720102vjxg.html

https://blog.csdn.net/fisherming/article/details/79356949

 

分享,多担待。望有帮助

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章