标注 | 说明 | 数据类型 |
输入栅格 | 单波段、多维或多波段栅格数据集,或包含解释变量的镶嵌数据集。 | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String |
输入回归定义文件 | 包含属性信息、统计数据和回归模型的其他信息的 JSON 格式文件。 文件的扩展名为 .ecd。 此文件为训练随机树回归模型工具的输出。 | File |
输出预测栅格 | 预测值的栅格。 | Raster Dataset |
获得 Image Analyst 许可后可用。
摘要
使用训练随机树回归模型工具的输出来预测数据值。
使用情况
如果输入栅格值为多波段栅格,则每个波段代表一个解释变量。 多波段栅格中的波段顺序必须与用于使用训练随机树回归模型工具训练模型的输入一致。
如果输入栅格值是多维栅格(多维栅格图层,多维 CRF 或多维镶嵌数据集),则所有多维变量均必须为单波段并具有 StdTime 或 StdZ 维度值。 每个多维变量均被视为预测变量。 将使用所有多维变量。
回归模型将在 Esri 回归定义文件 (.ecd) 中定义。 文件中将包含特定数据集或一组数据集以及一个回归模型的所有信息。 该文件将由训练随机树回归工具等回归模型训练工具生成。
输入栅格的形式必须与训练回归模型时的形式相同。 例如,输入必须以相同的顺序在列表中包含相同数量的项目,并且每个项目都必须匹配(包括多维栅格的变量)。
如果某个位置的任何解释变量为 NoData,则输出中的对应像素将为 NoData。
输出像元大小将由第一个输入栅格或环境设置确定。
如果输出是多维栅格,则请使用 CRF 或 NetCDF 格式。 其他栅格格式(例如 TIFF)可以存储单个栅格数据集。 无维度栅格无法存储多维栅格输出信息。
参数
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 |
代码示例
该 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")
该 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)