检查训练样本 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

描述

估计个人训练样本的精度。交叉验证精度是使用 .ecd 文件中先前生成的分类训练结果及训练样本进行计算的。输出包括以下内容:包含误分类类值的栅格数据集,包含每个训练样本精度得分的训练样本数据集。

使用方法

  • 此工具使用输入栅格、附加输入栅格和 .ecd 分类器定义文件来生成动态分类图层。然后,将此分类图层用作参考并与所有训练样本面或点进行比较。由于理想的训练样本应仅包含其所表示的类的像素,因此,通过比较每个训练样本的所有正确分类的像素与所有错误分类的像素来计算精度。(每个面或点的)精度得分是通过每个训练样本中包含的 number of correctly classified pixels/number of total pixels 进行计算的。

  • 面训练样本的得分是十进制值,范围是从 0 到 1,其中值越接近 1 意味着它越精确。点训练样本的得分为 0 表示不准确,1 表示准确。

  • 可通过以下方式使用结果来改进定义类的训练样本:

    • 使用输出训练样本的属性表可按照精度对训练要素进行排序,并缩放至每个要素。
    • 使用误分类的栅格类地图可查看分类混淆存在的位置以及产生的原因。
    • 通过这些信息,可以决定是保留、移除还是编辑训练要素。

语法

InspectTrainingSamples(in_raster, in_training_features, in_classifier_definition, out_training_feature_class, out_misclassified_raster, {in_additional_raster})
参数说明数据类型
in_raster

要进行分类的输入栅格。

Mosaic Layer; Raster Layer; Image Service; String
in_training_features

训练样本管理器窗格中创建的训练样本要素类。

Feature Layer
in_classifier_definition

任意训练分类器工具中的 .ecd 输出分类器文件。.ecd 文件是包含属性信息、统计数据或分类器所需的其他信息的 JSON 文件。

File
out_training_feature_class

另存为要素类的单个输出训练样本。关联的属性表包含列出精度得分的添加字段。

Feature Class
out_misclassified_raster

在训练样本外部具有 NoData 的输出误分类栅格。在训练样本中,正确分类的像素表示为 NoData,误分类像素由其类值表示。结果为误分类类值的索引地图。

Raster Dataset
in_additional_raster
(可选)

将整合辅助栅格数据集(如多光谱影像或 DEM),从而为分类器生成属性和其他所需信息。计算平均值或标准差等属性时必须使用此栅格。设置此参数属于可选操作。

Mosaic Layer; Raster Layer; Image Service; String

代码示例

InspectTrainingSamples 示例 1(Python 窗口)

此示例可检查训练样本的分类适宜性。

### InspectTrainingSamples example 1 (Python window)
import arcpy
from arcpy.ia import *

in_img = "C:/Data/wv2.tif"
trn_samples1 = "C:/out/ts.shp"
ecd = "C:/Data/svm.ecd"
seg_in_img = "C:/Data/seg.tif"
trn_samples2 = "C:/out/ts2.shp"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

out_misclassified_raster = InspectTrainingSamples(in_img, trn_samples, ecd,
                                                  trn_samples2, seg_in_img); 
out_misclassified_raster.save("C:/temp/misclassified.tif")
InspectTrainingSamples 示例 2(独立脚本)

此示例可检查训练样本的分类适宜性。

### InspectTrainingSamples example 2 (stand-alone script)
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

out_misclassified_raster = InspectTrainingSamples("C:/Data/wv2.tif", 
                                                  "C:/out/ts.shp", 
                                                  "C:/Data/svm.ecd", 
                                                  "C:/out/ts2.shp", 
                                                  "C:/Data/seg.tif"); 
out_misclassified_raster.save("C:/temp/misclassified.tif")

许可信息

  • Basic: 需要 Image Analyst 或 Spatial Analyst
  • Standard: 需要 Image Analyst 或 Spatial Analyst
  • Advanced: 需要 Image Analyst 或 Spatial Analyst

相关主题