AutoMLConfig 类
表示用于提交 Azure 机器学习中的自动化 ML 试验的配置。
此配置对象包含并保留用于配置试验运行的参数,以及运行时使用的训练数据。 有关选择设置的指南,请参阅 https://aka.ms/AutoMLConfig。
创建 AutoMLConfig。
- 继承
-
builtins.objectAutoMLConfig
构造函数
AutoMLConfig(task: str, path: str | None = None, iterations: int | None = None, primary_metric: str | None = None, positive_label: Any | None = None, compute_target: Any | None = None, spark_context: Any | None = None, X: Any | None = None, y: Any | None = None, sample_weight: Any | None = None, X_valid: Any | None = None, y_valid: Any | None = None, sample_weight_valid: Any | None = None, cv_splits_indices: List[List[Any]] | None = None, validation_size: float | None = None, n_cross_validations: int | str | None = None, y_min: float | None = None, y_max: float | None = None, num_classes: int | None = None, featurization: str | FeaturizationConfig = 'auto', max_cores_per_iteration: int = 1, max_concurrent_iterations: int = 1, iteration_timeout_minutes: int | None = None, mem_in_mb: int | None = None, enforce_time_on_windows: bool = True, experiment_timeout_hours: float | None = None, experiment_exit_score: float | None = None, enable_early_stopping: bool = True, blocked_models: List[str] | None = None, blacklist_models: List[str] | None = None, exclude_nan_labels: bool = True, verbosity: int = 20, enable_tf: bool = False, model_explainability: bool = True, allowed_models: List[str] | None = None, whitelist_models: List[str] | None = None, enable_onnx_compatible_models: bool = False, enable_voting_ensemble: bool = True, enable_stack_ensemble: bool | None = None, debug_log: str = 'automl.log', training_data: Any | None = None, validation_data: Any | None = None, test_data: Any | None = None, test_size: float | None = None, label_column_name: str | None = None, weight_column_name: str | None = None, cv_split_column_names: List[str] | None = None, enable_local_managed: bool = False, enable_dnn: bool | None = None, forecasting_parameters: ForecastingParameters | None = None, **kwargs: Any)
参数
名称 | 说明 |
---|---|
task
必需
|
要运行的任务的类型。 值可以是“classification”、“regression”或“forecasting”,具体取决于要解决的自动化机器学习问题类型。 |
path
必需
|
Azure 机器学习项目文件夹的完整路径。 如果未指定,则默认使用当前目录或“.”。 |
iterations
必需
|
在自动化机器学习试验期间要测试的不同算法和参数组合的总数。 如果未指定,则默认值为 1000 次迭代。 |
primary_metric
必需
|
自动化机器学习将为模型选择优化的指标。 自动化机器学习收集的指标比它可以优化的指标要多。 可以使用 get_primary_metrics 获取给定任务的有效指标列表。 有关如何计算指标的详细信息,请参阅 https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric。 如果未指定,则准确度用于分类任务,规范化均方根用于预测和回归任务,准确度用于图像分类和图像多标签分类,平均精度用于图像对象检测。 |
positive_label
必需
|
自动化机器学习将用于计算二进制指标的正类标签。 在分类任务的两个条件下计算二进制指标:
有关分类详细信息,请参阅分类方案的指标。 |
compute_target
必需
|
用于运行自动化机器学习试验的 Azure 机器学习计算目标。 有关计算目标的详细信息,请参阅 https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#local-remote。 |
spark_context
必需
|
<xref:SparkContext>
Spark 上下文。 仅当在 Azure Databricks/Spark 环境中使用时才适用。 |
X
必需
|
在试验期间拟合管道时使用的训练特征。 此设置即将弃用。 请改用 training_data 和 label_column_name。 |
y
必需
|
在试验期间拟合管道时使用的训练标签。 这是模型将预测的值。 此设置即将弃用。 请改用 training_data 和 label_column_name。 |
sample_weight
必需
|
运行拟合管道时为每个训练样本指定的权重,每行应该对应于 X 和 Y 数据中的一行。 指定 |
X_valid
必需
|
在试验期间拟合管道时使用的验证特征。 如果指定,则还必须指定 |
y_valid
必需
|
在试验期间拟合管道时使用的验证标签。 必须一起指定 |
sample_weight_valid
必需
|
运行评分管道时为每个验证样本指定的权重,每行应该对应于 X 和 Y 数据中的一行。 指定 |
cv_splits_indices
必需
|
用于交叉验证的拆分训练数据的索引。 每行都是单独的交叉折叠,在每个交叉折叠内,提供 2 个 numpy 数组,第一个数组包含用于训练数据的样本索引,第二个数组包含用于验证数据的索引。 例如 [[t1, v1], [t2, v2], …],其中 t1 是第一个交叉折叠的训练索引,v1 是第一个交叉折叠的验证索引。 若要将现有数据指定为验证数据,请使用 |
validation_size
必需
|
未指定用户验证数据时,要保留用于验证的数据部分。 此值应介于 0.0 和 1.0 之间(不含)。 指定 有关详细信息,请参阅在自动化机器学习中配置数据拆分和交叉验证。 |
n_cross_validations
必需
|
未指定用户验证数据时要执行多少次交叉验证。 指定 有关详细信息,请参阅在自动化机器学习中配置数据拆分和交叉验证。 |
y_min
必需
|
回归试验的 y 最小值。
|
y_max
必需
|
回归试验的 y 最大值。
|
num_classes
必需
|
分类试验的标签数据中的类数。 此设置即将弃用。 而是从数据计算此值。 |
featurization
必需
|
'auto' / 'off' / FeaturizationConfig 指示器,指示是否应自动执行特征化步骤,或者是否应使用自定义特征化。 备注:如果输入数据是稀疏的,则无法启用特征化。 自动检测列类型。 基于检测到的下述列类型执行预处理/特征化:
有关更多详细信息,请参阅在 Python 中配置自动化机器学习试验一文。 若要自定义特征化步骤,请提供 FeaturizationConfig 对象。 自定义特征化目前支持阻止一组转换器、更新列用途、编辑转换器参数和删除列。 有关详细信息,请参阅自定义特征工程。 备注:将任务类型设置为独立于此参数进行预测时,将单独处理时序特征。 |
max_cores_per_iteration
必需
|
用于给定训练迭代的最大线程数。 可接受的值:
|
max_concurrent_iterations
必需
|
表示将并行执行的最大迭代数。 默认值为 1。
|
iteration_timeout_minutes
必需
|
每次迭代在终止之前可以运行的最长时间(分钟)。 如果未指定,则使用 1 个月或 43200 分钟作为值。 |
mem_in_mb
必需
|
每次迭代在终止之前可以消耗的最大内存使用量。 如果未指定,则使用 1 PB 或 1073741824 MB 作为值。 |
enforce_time_on_windows
必需
|
是否对 Windows 上每次迭代的模型训练强制实施时间限制。 默认值为 True。 如果从 Python 脚本文件 (.py) 运行,请参阅有关在 Windows 上允许资源限制的文档。 |
experiment_timeout_hours
必需
|
在试验结束之前,所有合并的迭代所花费的最大时间量(以小时为单位)。 可以是十进制值,如 0.25,表示 15 分钟。 如果未指定,则默认试验超时为 6 天。 若要指定小于或等于 1 小时的超时,请确保数据集的大小不大于 10,000,000(行数乘以列数),否则会出错。 |
experiment_exit_score
必需
|
试验的目标评分。 达到此评分后,试验将终止。 如果未指定(无条件),则试验将一直运行到主要指标没有进一步变化为止。 有关退出条件的详细信息,请参阅此文。 |
enable_early_stopping
必需
|
如果评分在短期内没有提高,是否启用提前终止。 默认值为 True。 提前停止逻辑:
|
blocked_models
必需
|
list(str) 或
list(Classification) <xref:for classification task> 或
list(Regression) <xref:for regression task> 或
list(Forecasting) <xref:for forecasting task>
要为试验忽略的算法列表。 如果 |
blacklist_models
必需
|
list(str) 或
list(Classification) <xref:for classification task> 或
list(Regression) <xref:for regression task> 或
list(Forecasting) <xref:for forecasting task>
已弃用的参数,请改用 blocked_models。 |
exclude_nan_labels
必需
|
是否排除标签中包含 NaN 值的行。 默认值为 True。 |
verbosity
必需
|
写入日志文件的详细级别。 默认值为 INFO 或 20。 可接受的值在 Python 日志记录库中定义。 |
enable_tf
必需
|
已弃用的参数,用于启用/禁用 Tensorflow 算法。 默认值为 False。 |
model_explainability
必需
|
是否在所有 AutoML 训练迭代结束时启用最佳 AutoML 模型解释。 默认值为 True。 有关详细信息,请参阅可解释性:自动化机器学习中的模型说明。 |
allowed_models
必需
|
list(str) 或
list(Classification) <xref:for classification task> 或
list(Regression) <xref:for regression task> 或
list(Forecasting) <xref:for forecasting task>
用于搜索试验的模型名称列表。 如果未指定,则使用任务支持的所有模型,减去 |
whitelist_models
必需
|
list(str) 或
list(Classification) <xref:for classification task> 或
list(Regression) <xref:for regression task> 或
list(Forecasting) <xref:for forecasting task>
已弃用的参数,请改用 allowed_models。 |
enable_onnx_compatible_models
必需
|
是启用还是禁用强制执行 ONNX 兼容的模型。 默认值为 False。 有关 Open Neural Network Exchange (ONNX) 和 Azure 机器学习的详细信息,请参阅此文。 |
forecasting_parameters
必需
|
ForecastingParameters 对象,用于保存所有预测特定的参数。 |
time_column_name
必需
|
时间列的名称。 预测时需要使用此参数来指定输入数据中用于生成时序并推理其频率的日期/时间列。 此设置即将弃用。 请改用 forecasting_parameters。 |
max_horizon
必需
|
所需的最大预测范围,以时序频率为单位。 默认值为 1。 单位基于训练数据的时间间隔,例如,预测人员应每月、每周预测。当任务类型为 forecasting 时,此参数是必需的。 有关设置预测参数的详细信息,请参阅自动训练时序预测模型。 此设置即将弃用。 请改用 forecasting_parameters。 |
grain_column_names
必需
|
用于对时序进行分组的列的名称。 它可用于创建多个时序。 如果未定义粒度,则假定数据集为一个时序。 此参数与任务类型 forecasting 结合使用。 此设置即将弃用。 请改用 forecasting_parameters。 |
target_lags
必需
|
滞后于目标列的过去周期数。 默认值为 1。 此设置即将弃用。 请改用 forecasting_parameters。 预测时,此参数表示基于数据频率将目标值滞后的行数。 这表示为一个列表或整数。 默认情况下,在独立变量和依赖变量之间的关系不匹配或关联时,应使用滞后。 例如,在尝试预测某产品的需求时,任何月份的需求可能取决于之前 3 个月特定商品的价格。 在此示例中,可将目标(需求)的滞后负 3 个月,以便针对正确的关系训练模型。 有关详细信息,请参阅自动训练时序预测模型。 |
feature_lags
必需
|
用于为数字特征生成滞后的标志。 此设置即将弃用。 请改用 forecasting_parameters。 |
target_rolling_window_size
必需
|
用于创建目标列的滚动窗口平均值的过去周期数。 此设置即将弃用。 请改用 forecasting_parameters。 预测时,此参数表示用于生成预测值的 n 个历史周期,小于等于训练集大小。 如果省略,则 n 为完整训练集大小。 如果训练模型时只想考虑一定量的历史记录,请指定此参数。 |
country_or_region
必需
|
用于生成节假日特征的国家/地区。 这些值应该是 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。 此设置即将弃用。 请改用 forecasting_parameters。 |
use_stl
必需
|
配置时序目标列的 STL 分解。 use_stl 可以取三个值:None(默认值)- 不进行 STL 分解;season - 仅生成季节组件;season_trend - 生成季节和趋势组件。 此设置即将弃用。 请改用 forecasting_parameters。 |
seasonality
必需
|
设置时序季节性。 如果将季节性设置为 auto,将推断出该季节性。 此设置即将弃用。 请改用 forecasting_parameters。 |
short_series_handling_configuration
必需
|
定义 AutoML 应如何处理短时序的参数。 可能的值:"auto"(默认)、"pad"、"drop" 和“无”。
日期 numeric_value string 目标 2020-01-01 23 green 55 输出假设最小值为 4: 日期 numeric_value string 目标 2019-12-29 0 NA 55.1 2019-12-30 0 NA 55.6 2019-12-31 0 NA 54.5 2020-01-01 23 green 55 备注:我们有两个参数 Short_series_handling_configuration 和旧 short_series_handling。 如果同时设置了这两个参数,则将按下表中所示对其进行同步(为简洁起见,short_series_handling_configuration 和 short_series_handling 分别标记为 handling_configuration 和 handling)。 处理 handling_configuration 生成的处理 生成的handling_configuration True auto True auto True 垫 True auto True drop True auto True 无 False 无 False auto False 无 False 垫 False 无 False drop False 无 False 无 False 无 |
freq
必需
|
预测频率。 预测时,此参数表示预测所需的时间段,例如每日、每周、每年等。默认情况下,预测频率为数据集频率。 可以选择将其设置为比数据集频率大,不能比数据集频率小。 我们将聚合数据并生成预测频率的结果。 例如,对于每日数据,可以将频率设置为每日、每周或每月,但不能设置为每小时。 频率必须是 pandas 偏移别名。 有关详细信息,请参阅 pandas 文档:https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects |
target_aggregation_function
必需
|
用于聚合时序目标列以符合用户指定频率的函数。 如果设置了 target_aggregation_function,但未设置 freq 参数,则会引发错误。 可能的目标聚合函数包括:sum、max、min 和 mean。 频率 target_aggregation_function 数据规律性修复机制 无(默认) 无(默认) 未应用聚合。如果有效频率无法确定,则会引发错误。 某些值 无(默认) 未应用聚合。如果符合给定频率网格的数据点数较少,则会删除 90% 的数据点,否则将引发错误。 无(默认) 聚合函数 引发有关缺少频率参数的错误。 某些值 聚合函数 使用提供的聚合函数聚合到频率。 |
enable_voting_ensemble
必需
|
是启用还是禁用 VotingEnsemble 迭代。 默认值为 True。 有关集成的详细信息,请参阅集成配置。 |
enable_stack_ensemble
必需
|
是启用还是禁用 StackEnsemble 迭代。 默认值为 None。 如果设置了 enable_onnx_compatible_models 标志,则会禁用 StackEnsemble 迭代。 同样,对于时序任务,默认将禁用 StackEnsemble 迭代,以避免由于在拟合元学习器时使用小型训练集而导致过度拟合的风险。 有关集成的详细信息,请参阅集成配置。 |
debug_log
必需
|
要将调试信息写入到的日志文件。 如果未指定,则使用“automl.log”。 |
training_data
必需
|
要在试验中使用的训练数据。
应该包含训练特征和标签列(可以选择性地包含样本权重列)。
如果指定了
|
validation_data
必需
|
要在试验中使用的验证数据。
应该包含训练特征和标签列(可以选择性地包含样本权重列)。
如果指定了
|
test_data
必需
|
使用测试数据集或测试数据拆分的模型测试功能处于预览阶段,随时可能会更改。 要用于测试运行的测试数据,将在模型训练完成后自动启动该测试。 测试运行将使用最佳模型来获取预测结果,并将根据这些预测生成指标。 如果未指定此参数或 |
test_size
必需
|
使用测试数据集或测试数据拆分的模型测试功能处于预览阶段,随时可能会更改。 为测试运行提供的测试数据的训练数据的一部分,在模型训练完成后将自动启动。 测试运行将使用最佳模型来获取预测结果,并将根据这些预测生成指标。 此值应介于 0.0 和 1.0 之间(不含)。
如果 对于回归任务,使用随机采样。 对于分类任务,使用分层采样。 预测目前不支持使用训练/测试拆分指定测试数据集。 如果未指定此参数或 |
label_column_name
必需
|
标签列的名称。 如果输入数据来自没有列名的 pandas.DataFrame,则可以使用以整数表示的列索引。 此参数适用于 |
weight_column_name
必需
|
样本权重列的名称。 自动化机器学习支持使用加权列作为输入,这会导致增大或减小数据中行的权重。 如果输入数据来自没有列名的 pandas.DataFrame,则可以使用以整数表示的列索引。 此参数适用于 |
cv_split_column_names
必需
|
包含自定义交叉验证拆分的列的名称列表。 每个 CV 拆分列代表一个 CV 拆分,其中每行标记为 1(用于训练)或 0(用于验证)。 此参数适用于自定义交叉验证使用的 使用 有关详细信息,请参阅在自动化机器学习中配置数据拆分和交叉验证。 |
enable_local_managed
必需
|
已禁用的参数。 目前无法启用本地托管运行。 |
enable_dnn
必需
|
在模型选择期间是否包括基于 DNN 的模型。 init 中的默认值为 None。 不过,对于 DNN NLP 任务,默认值为 True,对于所有其他 AutoML 任务,默认值为 False。 |
task
必需
|
要运行的任务的类型。 值可以是“classification”、“regression”或“forecasting”,具体取决于要解决的自动化机器学习问题类型。 |
path
必需
|
Azure 机器学习项目文件夹的完整路径。 如果未指定,则默认使用当前目录或“.”。 |
iterations
必需
|
在自动化机器学习试验期间要测试的不同算法和参数组合的总数。 如果未指定,则默认值为 1000 次迭代。 |
primary_metric
必需
|
自动化机器学习将为模型选择优化的指标。 自动化机器学习收集的指标比它可以优化的指标要多。 可以使用 get_primary_metrics 获取给定任务的有效指标列表。 有关如何计算指标的详细信息,请参阅 https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric。 如果未指定,则准确度用于分类任务,规范化均方根用于预测和回归任务,准确度用于图像分类和图像多标签分类,平均精度用于图像对象检测。 |
positive_label
必需
|
自动化机器学习将用于计算二进制指标的正类标签。 在分类任务的两个条件下计算二进制指标:
有关分类详细信息,请参阅分类方案的指标。 |
compute_target
必需
|
用于运行自动化机器学习试验的 Azure 机器学习计算目标。 有关计算目标的详细信息,请参阅 https://docs.microsoft.com/azure/machine-learning/how-to-auto-train-remote。 |
spark_context
必需
|
<xref:SparkContext>
Spark 上下文。 仅当在 Azure Databricks/Spark 环境中使用时才适用。 |
X
必需
|
在试验期间拟合管道时使用的训练特征。 此设置即将弃用。 请改用 training_data 和 label_column_name。 |
y
必需
|
在试验期间拟合管道时使用的训练标签。 这是模型将预测的值。 此设置即将弃用。 请改用 training_data 和 label_column_name。 |
sample_weight
必需
|
运行拟合管道时为每个训练样本指定的权重,每行应该对应于 X 和 Y 数据中的一行。 指定 |
X_valid
必需
|
在试验期间拟合管道时使用的验证特征。 如果指定,则还必须指定 |
y_valid
必需
|
在试验期间拟合管道时使用的验证标签。 必须一起指定 |
sample_weight_valid
必需
|
运行评分管道时为每个验证样本指定的权重,每行应该对应于 X 和 Y 数据中的一行。 指定 |
cv_splits_indices
必需
|
用于交叉验证的拆分训练数据的索引。 每行都是单独的交叉折叠,在每个交叉折叠内,提供 2 个 numpy 数组,第一个数组包含用于训练数据的样本索引,第二个数组包含用于验证数据的索引。 例如 [[t1, v1], [t2, v2], …],其中 t1 是第一个交叉折叠的训练索引,v1 是第一个交叉折叠的验证索引。 将数据作为单独的“特征数据集”和“标签”列传递时,支持此选项。 若要将现有数据指定为验证数据,请使用 |
validation_size
必需
|
未指定用户验证数据时,要保留用于验证的数据部分。 此值应介于 0.0 和 1.0 之间(不含)。 指定 有关详细信息,请参阅在自动化机器学习中配置数据拆分和交叉验证。 |
n_cross_validations
必需
|
未指定用户验证数据时要执行多少次交叉验证。 指定 有关详细信息,请参阅在自动化机器学习中配置数据拆分和交叉验证。 |
y_min
必需
|
回归试验的 y 最小值。
|
y_max
必需
|
回归试验的 y 最大值。
|
num_classes
必需
|
分类试验的标签数据中的类数。 此设置即将弃用。 而是从数据计算此值。 |
featurization
必需
|
'auto' / 'off' / FeaturizationConfig 指示器,指示是否应自动执行特征化步骤,或者是否应使用自定义特征化。 备注:如果输入数据是稀疏的,则无法启用特征化。 自动检测列类型。 基于检测到的下述列类型执行预处理/特征化:
有关更多详细信息,请参阅在 Python 中配置自动化机器学习试验一文。 若要自定义特征化步骤,请提供 FeaturizationConfig 对象。 自定义特征化目前支持阻止一组转换器、更新列用途、编辑转换器参数和删除列。 有关详细信息,请参阅自定义特征工程。 备注:将任务类型设置为独立于此参数进行预测时,将单独处理时序特征。 |
max_cores_per_iteration
必需
|
用于给定训练迭代的最大线程数。 可接受的值:
|
max_concurrent_iterations
必需
|
表示将并行执行的最大迭代数。 默认值为 1。
|
iteration_timeout_minutes
必需
|
每次迭代在终止之前可以运行的最长时间(分钟)。 如果未指定,则使用 1 个月或 43200 分钟作为值。 |
mem_in_mb
必需
|
每次迭代在终止之前可以消耗的最大内存使用量。 如果未指定,则使用 1 PB 或 1073741824 MB 作为值。 |
enforce_time_on_windows
必需
|
是否对 Windows 上每次迭代的模型训练强制实施时间限制。 默认值为 True。 如果从 Python 脚本文件 (.py) 运行,请参阅有关在 Windows 上允许资源限制的文档。 |
experiment_timeout_hours
必需
|
在试验结束之前,所有合并的迭代所花费的最大时间量(以小时为单位)。 可以是十进制值,如 0.25,表示 15 分钟。 如果未指定,则默认试验超时为 6 天。 若要指定小于或等于 1 小时的超时,请确保数据集的大小不大于 10,000,000(行数乘以列数),否则会出错。 |
experiment_exit_score
必需
|
试验的目标评分。 达到此评分后,试验将终止。
如果未指定(无条件),则试验将一直运行到主要指标没有进一步变化为止。 有关退出条件的详细信息,请参阅此 >> |
enable_early_stopping
必需
|
如果评分在短期内没有提高,是否启用提前终止。 默认值为 True。 提前停止逻辑:
|
blocked_models
必需
|
list(str) 或
list(Classification) <xref:for classification task> 或
list(Regression) <xref:for regression task> 或
list(Forecasting) <xref:for forecasting task>
要为试验忽略的算法列表。 如果 |
blacklist_models
必需
|
list(str) 或
list(Classification) <xref:for classification task> 或
list(Regression) <xref:for regression task> 或
list(Forecasting) <xref:for forecasting task>
已弃用的参数,请改用 blocked_models。 |
exclude_nan_labels
必需
|
是否排除标签中包含 NaN 值的行。 默认值为 True。 |
verbosity
必需
|
写入日志文件的详细级别。 默认值为 INFO 或 20。 可接受的值在 Python 日志记录库中定义。 |
enable_tf
必需
|
是否启用/禁用 TensorFlow 算法。 默认值为 False。 |
model_explainability
必需
|
是否在所有 AutoML 训练迭代结束时启用最佳 AutoML 模型解释。 默认值为 True。 有关详细信息,请参阅可解释性:自动化机器学习中的模型说明。 |
allowed_models
必需
|
list(str) 或
list(Classification) <xref:for classification task> 或
list(Regression) <xref:for regression task> 或
list(Forecasting) <xref:for forecasting task>
用于搜索试验的模型名称列表。 如果未指定,则使用任务支持的所有模型,减去 |
allowed_models
必需
|
用于搜索试验的模型名称列表。 如果未指定,则使用任务支持的所有模型,减去 |
whitelist_models
必需
|
已弃用的参数,请改用 allowed_models。 |
enable_onnx_compatible_models
必需
|
是启用还是禁用强制执行 ONNX 兼容的模型。 默认值为 False。 有关 Open Neural Network Exchange (ONNX) 和 Azure 机器学习的详细信息,请参阅此文。 |
forecasting_parameters
必需
|
一个 对象,用于保存所有预测特定参数。 |
time_column_name
必需
|
时间列的名称。 预测时需要使用此参数来指定输入数据中用于生成时序并推理其频率的日期/时间列。 此设置即将弃用。 请改用 forecasting_parameters。 |
max_horizon
必需
|
所需的最大预测范围,以时序频率为单位。 默认值为 1。 此设置即将弃用。 请改用 forecasting_parameters。 单位基于训练数据的时间间隔,例如,预测人员应每月、每周预测。当任务类型为 forecasting 时,此参数是必需的。 有关设置预测参数的详细信息,请参阅自动训练时序预测模型。 |
grain_column_names
必需
|
用于对时序进行分组的列名称。 它可用于创建多个时序。 如果未定义粒度,则假定数据集为一个时序。 此参数与任务类型 forecasting 结合使用。 此设置即将弃用。 请改用 forecasting_parameters。 |
target_lags
必需
|
滞后于目标列的过去周期数。 默认值为 1。 此设置即将弃用。 请改用 forecasting_parameters。 预测时,此参数表示基于数据频率将目标值滞后的行数。 这表示为一个列表或整数。 默认情况下,在独立变量和依赖变量之间的关系不匹配或关联时,应使用滞后。 例如,在尝试预测某产品的需求时,任何月份的需求可能取决于之前 3 个月特定商品的价格。 在此示例中,可将目标(需求)的滞后负 3 个月,以便针对正确的关系训练模型。 有关详细信息,请参阅自动训练时序预测模型。 |
feature_lags
必需
|
用于为数字特征生成滞后的标志。 此设置即将弃用。 请改用 forecasting_parameters。 |
target_rolling_window_size
必需
|
用于创建目标列的滚动窗口平均值的过去周期数。 此设置即将弃用。 请改用 forecasting_parameters。 预测时,此参数表示用于生成预测值的 n 个历史周期,小于等于训练集大小。 如果省略,则 n 为完整训练集大小。 如果训练模型时只想考虑一定量的历史记录,请指定此参数。 |
country_or_region
必需
|
用于生成节假日特征的国家/地区。 这些值应该是 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。 此设置即将弃用。 请改用 forecasting_parameters。 |
use_stl
必需
|
配置时序目标列的 STL 分解。 use_stl 可以取三个值:None(默认值)- 不进行 STL 分解;season - 仅生成季节组件;season_trend - 生成季节和趋势组件。 此设置即将弃用。 请改用 forecasting_parameters。 |
seasonality
必需
|
设置时序季节性。 如果将季节性设置为 -1,则会推理季节性。 如果未设置 use_stl,则不会使用此参数。 此设置即将弃用。 请改用 forecasting_parameters。 |
short_series_handling_configuration
必需
|
定义 AutoML 应如何处理短时序的参数。 可能的值:"auto"(默认)、"pad"、"drop" 和“无”。
日期 numeric_value string 目标 2020-01-01 23 green 55 假设最小值数为 4 的输出:+————+—————+———-+——–+ |日期 |numeric_value |string |target |+============+===============+==========+========+ |2019-12-29 |0 |NA |55.1 |+————+—————+———-+——–+ |2019-12-30 |0 |NA |55.6 |+————+—————+———-+——–+ |2019-12-31 |0 |NA |54.5 |+————+—————+———-+——–+ |2020-01-01 |23 |绿色 |55 |+————+—————+———-+——–+ 备注:我们有两个参数 Short_series_handling_configuration 和旧 short_series_handling。 如果同时设置了这两个参数,则将按下表中所示对其进行同步(为简洁起见,short_series_handling_configuration 和 short_series_handling 分别标记为 handling_configuration 和 handling)。 处理 handling_configuration 生成的处理 生成的handling_configuration True auto True auto True 垫 True auto True drop True auto True 无 False 无 False auto False 无 False 垫 False 无 False drop False 无 False 无 False 无 |
freq
必需
|
预测频率。 预测时,此参数表示预测所需的时间段,例如每日、每周、每年等。默认情况下,预测频率为数据集频率。 可以选择将其设置为比数据集频率大,不能比数据集频率小。 我们将聚合数据并生成预测频率的结果。 例如,对于每日数据,可以将频率设置为每日、每周或每月,但不能设置为每小时。 频率必须是 pandas 偏移别名。 有关详细信息,请参阅 pandas 文档:https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects |
target_aggregation_function
必需
|
用于聚合时序目标列以符合用户指定频率的函数。 如果设置了 target_aggregation_function,但未设置 freq 参数,则会引发错误。 可能的目标聚合函数包括:sum、max、min 和 mean。 频率 target_aggregation_function 数据正则性修复机制 无(默认) 无(默认) 不应用聚合。如果无法确定有效频率,将引发错误。 某些值 无(默认) 不应用聚合。如果符合给定频率网格的数据点数小于 90%,则将删除这些点,否则将引发错误。 无(默认) 聚合函数 引发有关缺少频率参数的错误。 某些值 聚合函数 使用提供的聚合函数聚合到频率。 |
enable_voting_ensemble
必需
|
是启用还是禁用 VotingEnsemble 迭代。 默认值为 True。 有关集成的详细信息,请参阅集成配置。 |
enable_stack_ensemble
必需
|
是启用还是禁用 StackEnsemble 迭代。 默认值为 None。 如果设置了 enable_onnx_compatible_models 标志,则会禁用 StackEnsemble 迭代。 同样,对于时序任务,默认将禁用 StackEnsemble 迭代,以避免由于在拟合元学习器时使用小型训练集而导致过度拟合的风险。 有关集成的详细信息,请参阅集成配置。 |
debug_log
必需
|
要将调试信息写入到的日志文件。 如果未指定,则使用“automl.log”。 |
training_data
必需
|
要在试验中使用的训练数据。
应该包含训练特征和标签列(可以选择性地包含样本权重列)。
如果指定了
|
validation_data
必需
|
要在试验中使用的验证数据。
应该包含训练特征和标签列(可以选择性地包含样本权重列)。
如果指定了
|
test_data
必需
|
使用测试数据集或测试数据拆分的模型测试功能处于预览阶段,随时可能会更改。 要用于测试运行的测试数据,将在模型训练完成后自动启动该测试。 测试运行将使用最佳模型来获取预测结果,并将根据这些预测生成指标。 如果未指定此参数或 |
test_size
必需
|
使用测试数据集或测试数据拆分的模型测试功能处于预览阶段,随时可能会更改。 为测试运行提供的测试数据的训练数据的一部分,在模型训练完成后将自动启动。 测试运行将使用最佳模型来获取预测结果,并将根据这些预测生成指标。 此值应介于 0.0 和 1.0 之间(不含)。
如果 对于回归任务,使用随机采样。 对于分类任务,使用分层采样。 预测目前不支持使用训练/测试拆分指定测试数据集。 如果未指定此参数或 |
label_column_name
必需
|
标签列的名称。 如果输入数据来自没有列名的 pandas.DataFrame,则可以使用以整数表示的列索引。 此参数适用于 |
weight_column_name
必需
|
样本权重列的名称。 自动化机器学习支持使用加权列作为输入,这会导致增大或减小数据中行的权重。 如果输入数据来自没有列名的 pandas.DataFrame,则可以使用以整数表示的列索引。 此参数适用于 |
cv_split_column_names
必需
|
包含自定义交叉验证拆分的列的名称列表。 每个 CV 拆分列代表一个 CV 拆分,其中每行标记为 1(用于训练)或 0(用于验证)。 此参数适用于自定义交叉验证使用的 使用 有关详细信息,请参阅在自动化机器学习中配置数据拆分和交叉验证。 |
enable_local_managed
必需
|
已禁用的参数。 目前无法启用本地托管运行。 |
enable_dnn
必需
|
在模型选择期间是否包括基于 DNN 的模型。 init 中的默认值为 None。 不过,对于 DNN NLP 任务,默认值为 True,对于所有其他 AutoML 任务,默认值为 False。 |
注解
以下代码演示了创建 AutoMLConfig 对象并提交试验进行回归测试的基本示例:
automl_settings = {
"n_cross_validations": 3,
"primary_metric": 'r2_score',
"enable_early_stopping": True,
"experiment_timeout_hours": 1.0,
"max_concurrent_iterations": 4,
"max_cores_per_iteration": -1,
"verbosity": logging.INFO,
}
automl_config = AutoMLConfig(task = 'regression',
compute_target = compute_target,
training_data = train_data,
label_column_name = label,
**automl_settings
)
ws = Workspace.from_config()
experiment = Experiment(ws, "your-experiment-name")
run = experiment.submit(automl_config, show_output=True)
完整示例可从回归获取
以下笔记本中提供了使用 AutoMLConfig 进行预测的示例:
在这些自动化机器学习笔记本中可以找到对所有任务类型使用 AutoMLConfig 的示例。
有关自动化机器学习的背景信息,请参阅以下文章:
使用 Python 配置自动化机器学习试验。 这篇文章提供了有关用于每种任务类型的不同算法和主要指标的信息。
自动训练时序预测模型。 这篇文章提供了有关在预测中使用的构造函数参数和
**kwargs
的信息。
有关用于为自动化机器学习、AutoML、试验配置训练/验证数据拆分和交叉验证的不同选项的详细信息,请参阅在自动化机器学习中配置数据拆分和交叉验证。
方法
as_serializable_dict |
将 对象转换为字典。 |
get_supported_dataset_languages |
获取支持的语言及其遵守 ISO 639-3 标准的对应语言代码。 |
as_serializable_dict
将 对象转换为字典。
as_serializable_dict() -> Dict[str, Any]
get_supported_dataset_languages
获取支持的语言及其遵守 ISO 639-3 标准的对应语言代码。
get_supported_dataset_languages(use_gpu: bool) -> Dict[Any, Any]
参数
名称 | 说明 |
---|---|
cls
必需
|
AutoMLConfig 的类对象。 |
use_gpu
必需
|
用于指示是否正在使用 GPU 计算的布尔值。 |
返回
类型 | 说明 |
---|---|
{: } 格式的字典。 语言代码遵守 ISO 639-3 标准,具体请参阅 https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes |