使用 AutoML 进行预测 (GeoAI)

摘要

使用通过使用 AutoML 进行训练工具生成的经过训练的 .dlpk 模型来预测不可见的兼容数据集上的连续变量(回归)或分类变量(分类)。

了解有关 AutoML 工作原理的详细信息

使用情况

  • 您必须在 ArcGIS AllSource 中为 Python 安装适当的深度学习框架。

    了解如何安装 ArcGIS 的深度学习框架

  • 输入是 Esri 模型定义文件 (.emd) 或深度学习包文件 (.dlpk),它是通过使用 AutoML 进行训练工具创建的。

  • 要使用栅格作为解释变量或预测至输出预测表面,需要 Spatial Analyst 许可。

  • 有关运行此工具的要求以及您可能遇到的问题的信息,请参阅深度学习常见问题

参数

标注说明数据类型
模型定义

.dlpk 文件或 .emd 文件。

File
预测类型

指定将创建的输出文件类型。

  • 预测要素将创建一个包含预测值的要素图层。 此选项需要输出预测要素值。
  • 预测栅格将创建一个包含预测值的栅格图层。 此选项需要输出预测表面值。
String
输入预测要素

将获取其预测的要素。 输入应包括确定因变量值所需的部分或全部字段。 如果预测类型参数设置为预测要素,则此参数为必需项。

Feature Layer; Table View; Feature Class
解释栅格
(可选)

包含确定因变量值所需的解释栅格的栅格列表。 如果预测类型参数设置为预测栅格,则此参数为必需项。

Raster Layer
距离要素
(可选)

将自动估计该要素与输入训练要素的距离并将点或面要素添加为解释变量。 将计算每个输入解释训练距离要素与最近的输入训练要素的距离。 如果输入解释训练距离要素为面要素,则距离属性将计算为要素对的最近线段之间的距离。

Feature Layer
输出预测要素

输出表或要素类。

Feature Class; Table
输出预测表面

将保存输出预测栅格的路径。

Folder
匹配解释变量
(可选)

字段名称从预测集到训练集的映射。 如果训练集和预测集的字段名称不同,请使用此参数。 值是预测数据集中与输入要素类中的字段名称匹配的字段名称。

Value Table
匹配距离变量
(可选)

距离要素名称从预测集到训练集的映射。 如果训练集和预测集中所用的距离要素名称不同,请使用此参数。 字符串值是用于预测的要素名称,与用于训练的距离要素名称相匹配。

Value Table
匹配解释栅格
(可选)

字名称从预测栅格到训练栅格的映射。 如果用于预测的解释栅格名称与训练期间使用的对应栅格的名称不同,请使用此参数。 字符串值是用于预测的解释栅格名称,与用于训练的解释栅格名称相匹配。

Value Table
获取每个预测的说明
(可选)

指定是否将添加表示要素重要性的字段。

  • 选中 - 将添加表示要素重要性的字段。 将为每个预测样本生成字段以及预测值。
  • 未选中 - 不会生成表示要素重要性的字段。 这是默认设置。

Boolean

arcpy.geoai.PredictUsingAutoML(in_model_definition, prediction_type, in_features, {explanatory_rasters}, {distance_features}, out_prediction_features, out_prediction_surface, {match_explanatory_variables}, {match_distance_variables}, {match_explanatory_rasters}, {get_prediction_explanations})
名称说明数据类型
in_model_definition

.dlpk 文件或 .emd 文件。

File
prediction_type

指定将创建的输出文件类型。

  • PREDICT_FEATURE将创建一个包含预测值的要素图层。 此选项需要输出预测要素值。
  • PREDICT_RASTER将创建一个包含预测值的栅格图层。 此选项需要输出预测表面值。
String
in_features

将获取其预测的要素。 输入应包括确定因变量值所需的部分或全部字段。 当将 prediction_type 参数设置为 PREDICT_FEATURE 时,此参数为必需项。

Feature Layer; Table View; Feature Class
explanatory_rasters
[explanatory_rasters,...]
(可选)

包含确定因变量值所需的解释栅格的栅格列表。 当将 prediction_type 参数设置为 PREDICT_RASTER 时,此参数为必需项。

Raster Layer
distance_features
[distance_features,...]
(可选)

将自动估计该要素与输入训练要素的距离并将点或面要素添加为解释变量。 将计算每个输入解释训练距离要素与最近的输入训练要素的距离。 如果输入解释训练距离要素为面要素,则距离属性将计算为要素对的最近线段之间的距离。

Feature Layer
out_prediction_features

输出表或要素类。

Feature Class; Table
out_prediction_surface

将保存输出预测栅格的路径。

Folder
match_explanatory_variables
[match_explanatory_variables,...]
(可选)

字段名称从预测集到训练集的映射。 如果训练集和预测集的字段名称不同,请使用此参数。 值是预测数据集中与输入要素类中的字段名称匹配的字段名称。

Value Table
match_distance_variables
[match_distance_variables,...]
(可选)

距离要素名称从预测集到训练集的映射。 如果训练集和预测集中所用的距离要素名称不同,请使用此参数。 字符串值是用于预测的要素名称,与用于训练的距离要素名称相匹配。

Value Table
match_explanatory_rasters
[match_explanatory_rasters,...]
(可选)

字名称从预测栅格到训练栅格的映射。 如果用于预测的解释栅格名称与训练期间使用的对应栅格的名称不同,请使用此参数。 字符串值是用于预测的解释栅格名称,与用于训练的解释栅格名称相匹配。

Value Table
get_prediction_explanations
(可选)

指定是否将添加表示要素重要性的字段。

  • TRUE将添加表示要素重要性的字段。 将为每个预测样本生成字段以及预测值。
  • FALSE不会生成表示要素重要性的字段。 这是默认设置。
Boolean

代码示例

PredictUsingAutoML(独立脚本)

本示例介绍了如何使用 PredictUsingAutoML 函数。


# Description: Predicts on feature or tabular data with the trained model 
#              obtained by the TrainUsingAutoML function.

# Import system modules
import arcpy
import os

# Set local variables
datapath  = "path_to_data_for_prediction" 
out_path = "path_to_gdb_for_predicted"

model_path = os.path.join(out_path, "model.dlpk")
in_features = os.path.join(datapath, "test_data.gdb", "test_data")
out_features = os.path.join(out_path, "predicted_feature.gdb", "predicted")

# Run Predict Using AutoML Model 
r = arcpy.geoai.PredictUsingAutoML(model_path, "PREDICT_FEATURES",
                                   in_features,
                                   None, None, out_features, None, None, None, True)