使用回归模型预测 (Image Analyst)

获得 Image Analyst 许可后可用。

摘要

使用训练随机树回归模型工具的输出来预测数据值。

使用情况

  • 如果输入栅格值为多波段栅格,则每个波段代表一个解释变量。 多波段栅格中的波段顺序必须与用于使用训练随机树回归模型工具训练模型的输入一致。

  • 如果输入栅格值是多维栅格(多维栅格图层,多维 CRF 或多维镶嵌数据集),则所有多维变量均必须为单波段并具有 StdTimeStdZ 维度值。 每个多维变量均被视为预测变量。 将使用所有多维变量。

  • 回归模型将在 Esri 回归定义文件 (.ecd) 中定义。 文件中将包含特定数据集或一组数据集以及一个回归模型的所有信息。 该文件将由训练随机树回归工具等回归模型训练工具生成。

  • 输入栅格的形式必须与训练回归模型时的形式相同。 例如,输入必须以相同的顺序在列表中包含相同数量的项目,并且每个项目都必须匹配(包括多维栅格的变量)。

  • 如果某个位置的任何解释变量为 NoData,则输出中的对应像素将为 NoData。

  • 输出像元大小将由第一个输入栅格或环境设置确定。

  • 如果输出是多维栅格,则请使用 CRF 或 NetCDF 格式。 其他栅格格式(例如 TIFF)可以存储单个栅格数据集。 无维度栅格无法存储多维栅格输出信息。

参数

标注说明数据类型
输入栅格

单波段、多维或多波段栅格数据集,或包含解释变量的镶嵌数据集。

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
输入回归定义文件

包含属性信息、统计数据和回归模型的其他信息的 JSON 格式文件。 文件的扩展名为 .ecd。 此文件为训练随机树回归模型工具的输出。

File
输出预测栅格

预测值的栅格。

Raster Dataset

PredictUsingRegressionModel(in_rasters, in_regression_definition, out_raster_dataset)
名称说明数据类型
in_rasters
[in_rasters,...]

单波段、多维或多波段栅格数据集,或包含解释变量的镶嵌数据集。

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
in_regression_definition

包含属性信息、统计数据和回归模型的其他信息的 JSON 格式文件。 文件的扩展名为 .ecd。 此文件为训练随机树回归模型工具的输出。

File
out_raster_dataset

预测值的栅格。

Raster Dataset

代码示例

PredictUsingRegressionModel 示例 1(Python 窗口)

该 Python 窗口脚本使用 PredictUsingRegressionModel 函数的输出来预测数据值。

# Import system modules 
import arcpy 
from arcpy.ia import * 

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

predicted_raster = arcpy.ia.PredictUsingRegressionModel("weather_variables.crf";"dem.tif", r"c:\data\pm_trained.ecd") 
predicted_raster.save("C:/data/pm2.5_prediction.crf")
PredictUsingRegressionModel 示例 2(独立脚本)

该 Python 独立脚本使用 PredictUsingRegressionModel 函数的输出来预测数据值。

# Import system modules 
import arcpy 
from arcpy.ia import *  

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

# Define input parameters 
in_weather_variables = "C:/Data/ClimateVariables.crf" 
in_dem_varaible = "C:/Data/dem.tif" 
in_target = "C:/Data/pm2.5_observations.shp" 
target_value_field = "mean_pm2.5" 
Target_date_field = "date_collected" 
Raster_dimension = “StdTime” 
out_model_definition = "C:/Data/pm2.5_trained_model.ecd" 
Out_importance_table = "C:/Data/pm2.5_importance_table.csv" 
max_num_trees = 50 
max_tree_depth = 30 
max_num_samples = 10000    

# Execute - train with random tree regression model 
arcpy.ia.TrainRandomTreesRegressionModel(in_weather_variables;in_dem_varaible, in_target, out_model_definition,  target_value_field, Target_date_field, Raster_dimension, max_num_trees, max_tree_depth, max_num_samples)

相关主题