【转】误差矩阵(混淆矩阵)评价法

原文地址:erdas分类精度评价 作者:依暧白鲸

误差矩阵(混淆矩阵)评价法

基于误差矩阵的分类精度评价方法

误差矩阵(error matrix)又称混淆矩阵(confusion matrix),是一个用于表示分为某一类别的像元个数与地面检验为该类别数的比较阵列。通常,阵列中的列代表参考数据,行代表由遥感数据分类得到的类别数据。

 

参考数据

 

 

RS分类数据

 

A

B

C

D

ni+

A

N11

N12

N1k

N1+

B

N21

N22

 

N2+

C

 

D

Nk1

Nk2

Nkk

Nk+

n+j

N+1

N+2

N+k

N

 

n为遥感分类精度评价中总的样本数,k为总的分类类别数目,

nijRS中被分为i类而在参考类别中属于j类的样本数目。

则,在RS中被分为i类的样本数目为:ni+=nij j=1~k

参考类别为j的样本数目为:n+j=nij  i=1~k

总体精度(overall accuracy)为:OA =(∑nii/n   i=1~k

生产者精度(producer’s accuracy)为:PAj = njj / n+j

用户精度(user’s accuracy)为:UAi = nii / ni+

 

Kappa分析,统计意义上反映分类结果在多大程度上优于随机分类结果,可以用于比较两个分类器的误差矩阵是否具有显著差别。

Kappa分析产生的评价指标被称为K统计值:

[转载]erdas分类精度评价

Erdas中的分类精度评价

1.打开分类结果(img

2. Classifier >Accuracy Assessment

3. Accuracy Assessment窗口中,open >选择分类结果(img

4. View > select viewr选择打开的影像(img)的窗口

5. Edit > create /add random point设置Number of points (生成多少个随机点)select classes,可以选择只在某些类中生成随机点

6. Edit >Show Class Values

7. View > Show All

8.Reference列中输入该点的参考类别号

9. Report > Accuracy Report

该报告中有生产者精度,用户精度,总体精度,Kappa等数值。

 

 对一帧遥感影像进行专题分类后需要进行分类精度的评价,而进行评价精度的因子有混淆矩阵、总体分类精度、Kappa系数、错分误差、漏分误差、每一类的制图精度和用户精度。

    1、混淆矩阵(ConfusionMatrix): 主要用于比较分类结果和地表真实信息,可以把分类结果的精度显示在一个混淆矩阵里面。混淆矩阵是通过将每个地表真实像元的位置和分类与分类图象中的相应位置和分类像比较计算的。混淆矩阵的每一列代表了一个地表真实分类,每一列中的数值等于地表真实像元在分类图象中对应于相应类别的数量,有像元数和百分比表示两种。

    2、总体分类精度(Overall Accuracy): 等于被正确分类的像元总和除以总像元数,地表真实图像或地表真实感兴趣区限定了像元的真实分类。被正确分类的像元沿着混淆矩阵的对角线分布,它显示出被分类到正确地表真实分类中的像元数。像元总数等于所有地表真实分类中的像元总和。

    3、Kappa系数:是另外一种计算分类精度的方法。它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk)的和,再减去某一类中地表真实像元总数与该类中被分类像元总数之积对所有类别求和的结果,再除以总像元数的平方差减去某一类中地表真实像元总数与该类中被分类像元总数之积对所有类别求和的结果所得到的。

    4、错分误差:指被分为用户感兴趣的类,而实际上属于另一类的像元,错分误差显示在混淆矩阵的行里面。

    5、漏分误差:指本属于地表真实分类,但没有被分类器分到相应类别中的像元数。漏分误差显示在混淆矩阵的列里。

    6、制图精度:指假定地表真实为A类,分类器能将一幅图像的像元归为A的概率

    7、用户精度:指假定分类器将像元归到A类时,相应的地表真实类别是A的概率。

 

 

在ENVI中,选择主菜单->Classification->Post Classification->Confusion Matrix->Using Ground Truth ROIs。将分类结果和ROI输入,软件会根据区域自动匹配,如不正确可以手动更改。点击ok后选择报表的表示方法(像素和百分比),就可以得到精度报表。

   对分类结果进行评价,确定分类的精度和可靠性。有两种方式用于精度验证:一是混淆矩阵,二是ROC曲线,比较常用的为混淆矩阵,ROC曲线可以用图形的方式表达分类精度,比较形象。

    对一帧遥感影像进行专题分类后需要进行分类精度的评价,而进行评价精度的因子有混淆矩阵、总体分类精度、Kappa系数、错分误差、漏分误差、每一类的制图精度和拥护精度。

混淆矩阵中的几项评价指标,如下:
l总体分类精度
等于被正确分类的像元总和除以总像元数。被正确分类的像元数目沿着混淆矩阵的对角线分布,总像元数等于所有真实参考源的像元总数,如本次精度分类精度表中的Overall Accuracy = (1849/2346)
78.8150%。
lKappa系数
它是通过把所有真实参考的像元总数(N)乘以混淆矩阵对角线(XKK)的和,再减去某一类中真实参考像元数与该类中被分类像元总数之积之后,再除以像元总数的平方减去某一类中真实参考像元总数与该类中被分类像元总数之积对所有类别求和的结果。
l错分误差
指被分为用户感兴趣的类,而实际属于另一类的像元,它显示在混淆矩阵里面。本例中,林地有419个真实参考像元,其中正确分类265,12个是其他类别错分为林地(混淆矩阵中林地一行其他类的总和),那么其错分误差为12/419=2.9%。
l漏分误差
指本身属于地表真实分类,当没有被分类器分到相应类别中的像元数。如在本例中的耕地类,有真实参考像元465个,其中462个正确分类,其余3个被错分为其余类(混淆矩阵中耕地类中一列里其他类的总和),漏分误差为3/465=0.6%
l制图精度
是指分类器将整个影像的像元正确分为A类的像元数(对角线值)与A类真实参考总数(混淆矩阵中A类列的总和)的比率。如本例中林地有419个真实参考像元,其中265个正确分类,因此林地的制图精度是265/419=63.25%。
l用户精度
是指正确分到A类的像元总数(对角线值)与分类器将整个影像的像元分为A类的像元总数(混淆矩阵中A类行的总和)比率。如本例中林地有265个正确分类,总共划分为林地的有277,所以林地的用户精度是265/277=95.67%。

首先你做分类的时候要选好分类的地区影像,一般要求要有地面数据支持,也就是说要知道你待分类的影像的地物类别,这样在你的分类完成后才可能评价你的分类精度,
分类精度的评价一般是用混淆矩阵来评价,从混淆矩阵中算出总精度和Kappa系数就可作为分类精度了。

分类的精度,一般两种方法,实地调查;高分辨率的影像检验低分辨率影像的分类。

### 混淆矩阵结果错误的原因及解决方 混淆矩阵是一种用于评估分类模型性能的强大工具,它能够清晰展示模型预测的结果与实际情况之间的差异。如果混淆矩阵结果显示异常或存在错误,则可能是由以下几个原因引起的: #### 1. 数据预处理不一致 数据预处理阶段可能出现问题,例如训练集和测试集中标签编码方式不统一。这可能导致混淆矩阵中的行列索引无正确映射到实际类别。 - **解决方案**: 确保在构建混淆矩阵之前,所有输入数据(包括`GrndTruth`和`CLASSIFIED`字段[^4])已经过标准化处理,并且标签编码完全一致。可以通过检查并同步训练集和测试集的标签编码来实现这一点。 #### 2. 预测值与真实值长度不符 当预测值数组(`CLASSIFIED`)与真实值数组(`GrndTruth`)的长度不匹配时,会引发计算错误或者生成不符合预期的混淆矩阵。 - **解决方案**: 在计算前验证两者的维度是否相同。如果不相等,需排查是否存在缺失值或其他数据质量问题。可以使用以下Python代码片段进行校验: ```python assert len(y_true) == len(y_pred), "Lengths of true and predicted labels do not match." ``` #### 3. 类别不平衡影响可视化效果 对于高度不平衡的数据集(如引用提到的欺诈检测场景[^3]),即使模型表现良好,在混淆矩阵中也可能因为少数类样本数量少而显得误差较大。 - **应对措施**: 考虑采用加权平均调整评价标准,或者应用重采样技术平衡各类别的比例后再重新绘制混淆矩阵以更准确反映模型能力。 #### 4. 计算逻辑有误 某些情况下,可能由于编程失误导致最终得到的混淆矩阵数值偏离正常范围。比如手动编写函数而非调用库函数时容易犯错。 - **修正建议**: 推荐优先选用成熟的机器学习框架提供的内置功能来生成混淆矩阵,像scikit-learn就提供了非常可靠的接口: ```python from sklearn.metrics import confusion_matrix cm = confusion_matrix(y_true, y_pred) print(cm) ``` 上述方不仅简化操作流程还能有效减少人为引入的潜在偏差。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值