| 标注 | 说明 | 数据类型 |
输入要素 | 将执行分割、提取和平衡的要素。 | Feature Class |
输出要素 | 将在模型工具中用作训练要素的输出要素。 | Feature Class |
分割类型 (可选) | 指定用于将输入要素分割成训练子集和测试子集的方法。
| String |
输出测试子集要素 (可选) | 可用作测试要素的输入要素参数值的子集。 当将分割类型参数设置为随机分割或空间分割时,此参数可用。 | Feature Class |
要预测的变量 (可选) | 输入要素参数值中的变量,其中包含要用于训练模型的值。 该字段包含将用于在未知位置进行预测的变量的已知(训练)值。 | Field |
将变量视为分类变量 (可选) | 指定要预测的变量参数值是否将被视为分类变量。
| Boolean |
解释变量 (可选) | 表示解释变量的字段列表,可帮助预测要预测的变量参数值的值或类别。 对于任何表示类或类别(例如,土地覆被或存在/不存在)的变量,请选中类别复选框。 | Value Table |
解释距离要素 (可选) | 解释训练距离要素。 通过计算给定要素与输入要素参数值的距离可自动创建解释变量。 将计算输入要素参数值中的每个要素与此参数中的最近要素之间的距离。 如果此参数值为面要素或线要素,则距离属性将计算为要素对的最近线段之间的距离。 | Feature Layer |
解释栅格 (可选) | 从栅格中提取的解释训练变量。 解释训练变量将通过提取栅格像元值自动创建。 对于输入要素参数值中的每个要素,将在此确切位置处提取栅格像元的值。 提取连续栅格的栅格值时,将使用双线性栅格重采样。 从分类栅格中提取栅格值时,将使用最邻近分配法。 对于任何表示类或类别(例如土地覆被或存在/不存在)的栅格,请选中类别复选框。 | Value Table |
将面转换为用于训练的栅格分辨率 (可选) | 如果输入要素参数值为面要素,要预测的变量参数值为类别变量,并且仅提供了解释栅格参数值,则需要指定面的处理方式。
| Boolean |
作为测试子集的数据百分比 (可选) | 要保留为测试数据集或验证数据集的输入要素百分比。 默认值为 10。 | Double |
平衡类型 (可选) | 指定用于平衡不平衡的要预测的变量参数值或输入要素的空间偏差的方法。 该平衡方法仅应用于输出要素参数值。
| String |
最小最近邻距离 (可选) | 应用空间细化时,任何两个点或任何两个具有相同要预测的变量参数值类别的点之间的最小距离。 | Linear Unit |
细化迭代次数 (可选) | 将用于查找最佳空间细化解决方案的迭代次数,该方案需在保持尽可能多要素的同时,确保任何两个要素均不在指定的最小最近邻距离参数值内。 最小迭代次数是 1,最大是 50。 默认值为 10。 | Long |
对分类解释变量进行编码 (可选) | 指定是否对分类解释变量进行编码。
| Boolean |
从输入要素追加所有字段 (可选) | 指定是否将所有字段从输入要素复制到输出要素。
| Boolean |
摘要
强化基于森林的增强分类与回归、广义线性回归和仅存在预测工具以及其他模型中的预测工作流数据。 这涉及将要素分割成训练集和测试集,从栅格和距离要素中提取变量,平衡数据以提升分类精度,对偏差空间数据进行空间细化。
插图

使用情况
经过平衡处理的训练数据应仅用于训练预测模型。 不应基于已经过平衡处理的数据来验证模型,以避免精度偏差和数据泄露。
需要 ArcGIS Spatial Analyst 扩展模块 来将栅格用作解释变量。
如果使用分类来预测稀有事件或不平衡类别,则可使用平衡类型参数来平衡每个分类等级内的样本数。 过采样方法将增加总体要素数,而欠采样将减少总体要素数。
如果将分割类型参数设为随机分割或空间分割,则可借助使用空间统计模型文件预测工具,使用输出测试要素来评估模型精度。 当运行所选分析工具时,请确保输出是空间统计模型文件。
如果将分割类型参数设置为随机分割或空间分割,则该工具将确保要预测的变量以及任何解释变量的所有分类等级都出现在输出训练要素中。 测试数据集中无需包含所有分类等级。
参数
arcpy.stats.PrepareData(in_features, out_features, {splitting_type}, {out_test_features}, {variable_predict}, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {use_raster_values}, {percent}, {balancing_type}, {thinning_distance_band}, {number_of_iterations}, {encode_variables}, {append_all_fields})| 名称 | 说明 | 数据类型 |
in_features | 将执行分割、提取和平衡的要素。 | Feature Class |
out_features | 将在模型工具中用作训练要素的输出要素。 | Feature Class |
splitting_type (可选) | 指定用于将输入要素分割成训练子集和测试子集的方法。
| String |
out_test_features (可选) | 可用作测试要素的 in_features 参数值的子集。 当将 splitting_type 参数设置为 RANDOM_SPLIT 或 SPATIAL_SPLIT 时,此参数处于启用状态。 | Feature Class |
variable_predict (可选) | in_features 参数值中的变量,其中包含要用于训练模型的值。 该字段包含将用于在未知位置进行预测的变量的已知(训练)值。 | Field |
treat_variable_as_categorical (可选) | 指定 variable_predict 参数值是否将被视为分类变量。
| Boolean |
explanatory_variables [explanatory_variables,...] (可选) | 表示解释变量的字段列表,可帮助预测 variable_predict 值的值或类别。 对于任何表示类或类别(例如,土地覆被或存在/不存在)的变量,请使用 CATEGORICAL 的值。 | Value Table |
distance_features [distance_features,...] (可选) | 解释训练距离要素。 通过计算给定要素与 in_features 参数值的距离,将自动创建解释变量。 将计算 in_features 参数值中的每个要素与此参数中的最近要素之间的距离。 如果此参数值为面要素或线要素,则距离属性将计算为要素对的最近线段之间的距离。 | Feature Layer |
explanatory_rasters [explanatory_rasters,...] (可选) | 从栅格中提取的解释训练变量。 解释训练变量将通过提取栅格像元值自动创建。 对于 in_features 参数值中的每个要素,将在此确切位置处提取栅格像元的值。 提取连续栅格的栅格值时,将使用双线性栅格重采样。 从分类栅格中提取栅格值时,将使用最邻近分配法。 对于任何表示类或类别(例如土地覆被或存在/不存在)的栅格,请使用 CATEGORICAL 值。 | Value Table |
use_raster_values (可选) | 如果 in_features 参数值为面要素,variable_predict 参数值为类别变量,并且仅提供了 explanatory_rasters 参数值,则需要指定面的处理方式。
| Boolean |
percent (可选) | 要保留为测试数据集或验证数据集的输入要素百分比。 默认值为 10。 | Double |
balancing_type (可选) | 指定用于平衡非平衡的 variable_predict 参数值或输入要素的空间偏差的方法。 该平衡方法仅应用于 out_features 参数值。
| String |
thinning_distance_band (可选) | 应用空间细化时,任何两个点或任何两个具有相同 variable_predict 参数值类别的点之间的最小距离。 | Linear Unit |
number_of_iterations (可选) | 将用于查找最佳空间细化解决方案的迭代次数,该方案需在保持尽可能多要素的同时,确保任何两个要素均不在指定的 thinning_distance_band 参数值内。 最小迭代次数是 1,最大是 50。 默认值为 10。 | Long |
encode_variables (可选) | 指定是否对分类解释变量进行编码。
| Boolean |
append_all_fields (可选) | 指定是否将所有字段从输入要素复制到输出要素。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何使用 PrepareData 函数。
# Prepare data for prediction.
import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb"
arcpy.stats.PrepareData(
in_features = r"in_feature_class",
out_features = r"out_feature_class",
splitting_type="RANDOM_SPLIT",
variable_predict=None,
treat_variable_as_categorical="NUMERIC"
)以下独立脚本演示了如何使用 PrepareData 函数。
# Prepare data for prediction.
import arcpy
# Set the current workspace.
arcpy.env.workspace = r"c:\data\project_data.gdb"
# Run tool
arcpy.stats.PrepareData(
in_features = r"in_feature_class",
out_features = r"out_feature_class",
splitting_type="RANDOM_SPLIT",
variable_predict=None,
treat_variable_as_categorical="NUMERIC"
)许可信息
- Basic: 是
- Standard: 是
- Advanced: 是