计算混淆矩阵 (Spatial Analyst)

摘要

使用漏分误差和错分误差计算混淆矩阵,然后派生出分类地图与参考数据之间的一致性 kappa 指数、交并比 (IoU) 和整体精度。

该工具使用创建精度评估点工具或更新精度评估点工具的输出。

使用情况

  • 精度评估工作流通常依次使用以下三个工具:创建精度评估点更新精度评估点以及计算混淆矩阵

  • 该工具使用随机精度评估点计算混淆矩阵。 精度评估点由创建精度评估点工具生成并由更新精度评估点工具进行更新。 对于 ClassifiedGrndTruth 字段,上述两种工具可确保每个点都有有效的类值。 这些字段均为长整型字段。 该工具将针对于每个类计算用户的精度与制作者的精度,以及协议的整体 kappa 指数。 这些精度的范围介于 0 到 1 之间,其中 1 表示 100% 的精度。 以下是混淆矩阵的示例:

    c_1c_2c_3总计U_AccuracyKappa

    c_1

    49

    4

    4

    57

    0.8594

    0

    c_2

    2

    40

    2

    44

    0.9091

    0

    c_3

    3

    3

    59

    65

    0.9077

    0

    总计

    54

    47

    65

    166

    0

    0

    P_Accuracy

    0.9074

    0.8511

    0.9077

    0

    0.8916

    0

    Kappa

    0

    0

    0

    0

    0

    0.8357

    混淆矩阵示例

  • 用户精度是衡量所有被归类为给定类的像素中被正确分类的像素的标准。 被归类到这一类的其余像素根据参考信息属于不同的类,或者被识别为不同的类;它们是误报。

    用户精度也称为错分误差或 1 类误差。 从表格的行中读取用于计算此误差率的数据。

    总计行将根据参考数据显示本应被识别为给定类的点的数目。

  • 已知类的像素被分类为非已知类,制作者精度为假阴性误差。 例如,分类影像将某像素标识为森林,但其本应是不可渗透的。 这种情况下,根据参考数据,不可渗透类缺少像素。

    制作者精度也称为漏分误差或 2 类误差。 从表格的列中读取用于计算此误差率的数据。

    总计列根据分类地图显示被识别为给定类的点的数目。

  • 协议的 Kappa 指数将提供对于分类精度的整体评估。

  • 交并比 (IoU) 是预测分割和实际地表之间的重叠区域除以预测分割和实际地表之间的并集区域。 将针对每个类计算平均 IoU 值。

参数

标注说明数据类型
输入精度评估点

通过创建精度评估点工具创建的精度评估点要素类包含 Classified 以及 GrndTruth 字段。 这些字段均为长整型字段。

Feature Layer
输出混淆矩阵

表格式形式的混淆矩阵输出文件名。

表的格式由输出位置和路径确定。 默认情况下,输出为一张地理数据库表。 如果该路径不在地理数据库中,请指定 .dbf 扩展名以将其保存为 dBASE 格式。

Table

ComputeConfusionMatrix(in_accuracy_assessment_points, out_confusion_matrix)
名称说明数据类型
in_accuracy_assessment_points

通过创建精度评估点工具创建的精度评估点要素类包含 Classified 以及 GrndTruth 字段。 这些字段均为长整型字段。

Feature Layer
out_confusion_matrix

表格式形式的混淆矩阵输出文件名。

表的格式由输出位置和路径确定。 默认情况下,输出为一张地理数据库表。 如果该路径不在地理数据库中,请指定 .dbf 扩展名以将其保存为 dBASE 格式。

Table

代码示例

ComputeConfusionMatrix 示例 1(独立脚本)

该示例将根据精度评估点计算混淆矩阵。

import arcpy
from arcpy.sa import *

arcpy.gp.ComputeConfusionMatrix("aapnt2.shp", "confm.dbf")

环境

此工具不使用任何地理处理环境。

相关主题