AutoMLConfig 类
表示在 Azure 机器学习中提交自动化 ML 试验的配置。
此配置对象包含并保留用于配置试验运行的参数,以及运行时要使用的训练数据。 有关选择设置的指导,请参阅 https://aka.ms/AutoMLConfig。
创建 AutoMLConfig。
构造函数
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
必需
|
要运行的任务的类型。 值可以是“分类”、“回归”或“预测”,具体取决于要解决的自动化 ML 问题的类型。 |
path
必需
|
Azure 机器学习项目文件夹的完整路径。 如果未指定,则默认值为使用当前目录或“.”。 |
iterations
必需
|
在自动化 ML 试验期间要测试的不同算法和参数组合的总数。 如果未指定,则默认值为 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 中配置自动化 ML 试验的文章。 若要自定义特征化步骤,请提供 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
必需
|
在试验结束之前,所有合并的迭代所花费的最大时间量(以小时为单位)。 可以是表示 15 分钟的小数值,如 0.25。 如果未指定,则默认试验超时为 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>
要搜索试验的模型名称列表。 如果未指定,则使用任务支持的所有模型减去指定或弃用的 TensorFlow 模型中的任何 |
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。 有关开放神经网络交换(ONNX)和 Azure 机器学习的详细信息,请参阅 本文。 |
forecasting_parameters
必需
|
一个 ForecastingParameters 对象,用于保存所有预测特定参数。 |
time_column_name
必需
|
时间列的名称。 当预测在用于生成时序并推断其频率的输入数据中指定日期/时间列时,此参数是必需的。 此设置已弃用。 请改用forecasting_parameters。 |
max_horizon
必需
|
所需最大预测范围(以时序频率单位为单位)。 默认值为 1。 单位基于训练数据的时间间隔,例如预测器应预测的每月、每周。预测任务类型时,此参数是必需的。 有关设置预测参数的详细信息,请参阅 自动训练时序预测模型。 此设置已弃用。 请改用forecasting_parameters。 |
grain_column_names
必需
|
用于对时间序列进行分组的列的名称。 它可用于创建多个序列。 如果未定义粒度,则假定数据集为一个时序。 此参数用于任务类型预测。 此设置已弃用。 请改用forecasting_parameters。 |
target_lags
必需
|
要从目标列滞后的过去时间段数。 默认值为 1。 此设置已弃用。 请改用forecasting_parameters。 预测时,此参数表示根据数据频率滞后目标值的行数。 这表示为列表或单个整数。 默认情况下,当独立变量与依赖变量之间的关系不匹配或关联时,应使用滞后时间。 例如,当尝试预测产品的需求时,任何月份的需求都可能取决于 3 个月前特定商品的价格。 在此示例中,你可能希望将目标(需求)负延迟 3 个月,以便模型在正确的关系上进行训练。 有关详细信息,请参阅 自动训练时序预测模型。 |
feature_lags
必需
|
用于生成数值特征滞后的标志。 此设置已弃用。 请改用forecasting_parameters。 |
target_rolling_window_size
必需
|
用于创建目标列的滚动窗口平均值的过去时间段数。 此设置已弃用。 请改用forecasting_parameters。 预测时,此参数表示用于生成预测 值的历史周期 , <= 定型集大小。 如果省略, 则 n 是完整的训练集大小。 如果只想在训练模型时考虑一定数量的历史记录,请指定此参数。 |
country_or_region
必需
|
用于生成假日功能的国家/地区。 这些代码应为 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。 此设置已弃用。 请改用forecasting_parameters。 |
use_stl
必需
|
配置时序目标列的 STL 分解。 use_stl可以采用三个值:None (default) - 无 stl 分解,“季节”- 仅生成季节组件和season_trend - 生成季节和趋势组件。 此设置已弃用。 请改用forecasting_parameters。 |
seasonality
必需
|
设置时序季节性。 如果季节性设置为“auto”,则会推断它。 此设置已弃用。 请改用forecasting_parameters。 |
short_series_handling_configuration
必需
|
定义 AutoML 如何处理短时序的参数。 可能的值:“auto”(默认值)、“pad”、“drop”和“None”。
日期 numeric_value 字符串 目标 2020-01-01 23 绿 55 假设最小值数为 4 的输出: 日期 numeric_value 字符串 目标 2019-12-29 0 那 55.1 2019-12-30 0 那 55.6 2019-12-31 0 那 54.5 2020-01-01 23 绿 55 注意: 我们有两个参数short_series_handling_configuration和旧版short_series_handling。 设置这两个参数时,我们将同步它们,如下表所示(short_series_handling_configuration和short_series_handling分别标记为handling_configuration和处理)。 处理 handling_configuration 生成的处理 生成的handling_configuration 真 实 自动 真 实 自动 真 实 垫 真 实 自动 真 实 落 真 实 自动 真 实 没有 假 没有 假 自动 假 没有 假 垫 假 没有 假 落 假 没有 假 没有 假 没有 |
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%these 点,否则将引发错误。 无(默认值) 聚合函数 引发有关缺少频率参数的错误。 一些值 聚合函数 使用提供的聚合函数聚合到频率。 |
enable_voting_ensemble
必需
|
是否启用/禁用 VotingEnsemble 迭代。 默认值为 True。 有关组合的详细信息,请参阅 组合配置。 |
enable_stack_ensemble
必需
|
是否启用/禁用 StackEnsemble 迭代。 默认值为 None。 如果 正在设置enable_onnx_compatible_models 标志,则将禁用 StackEnsemble 迭代。 同样,对于 Timeseries 任务,默认情况下将禁用 StackEnsemble 迭代,以避免由于用于拟合元学习器的小训练集而导致过度拟合的风险。 有关组合的详细信息,请参阅 组合配置。 |
debug_log
必需
|
要向其写入调试信息的日志文件。 如果未指定,则使用“automl.log”。 |
training_data
必需
|
试验中使用的定型数据。
它应同时包含训练功能和标签列(可选为样本权重列)。
如果
|
validation_data
必需
|
试验中使用的验证数据。
它应同时包含训练特征和标签列(可选为样本权重列)。
如果
|
test_data
必需
|
使用测试数据集或测试数据拆分的模型测试功能是处于预览状态的功能,随时可能会更改。 要用于测试运行的测试数据,该测试数据将在模型训练完成后自动启动。 测试运行将使用最佳模型获取预测,并计算给定这些预测的指标。 如果未指定此参数或 |
test_size
必需
|
使用测试数据集或测试数据拆分的模型测试功能是处于预览状态的功能,随时可能会更改。 要保留测试运行的测试数据的定型数据的分数,该测试运行将在模型训练完成后自动启动。 测试运行将使用最佳模型获取预测,并计算给定这些预测的指标。 这应介于 0.0 和 1.0 之间(非独占)。
如果 对于基于回归的任务,使用随机采样。 对于分类任务,使用分层采样。 预测目前不支持使用训练/测试拆分指定测试数据集。 如果未指定此参数或 |
label_column_name
必需
|
标签列的名称。 如果输入数据来自 pandas。没有列名称的数据帧可以改用列索引,以整数表示。 此参数适用于 |
weight_column_name
必需
|
示例权重列的名称。 自动化 ML 支持加权列作为输入,导致数据中的行向上或向下加权。 如果输入数据来自 pandas。没有列名称的数据帧可以改用列索引,以整数表示。 此参数适用于 |
cv_split_column_names
必需
|
包含自定义交叉验证拆分的列的名称列表。 每个 CV 拆分列表示一个 CV 拆分,其中每一行标记为 1 进行训练或 0 进行验证。 此参数适用于 使用或 有关详细信息,请参阅 在自动化机器学习中配置数据拆分和交叉验证。 |
enable_local_managed
必需
|
禁用的参数。 目前无法启用本地托管运行。 |
enable_dnn
必需
|
是否在模型选择期间包含基于 DNN 的模型。 init 中的默认值为 None。 但是,对于 DNN NLP 任务,默认值为 True,对于所有其他 AutoML 任务,默认值为 False。 |
task
必需
|
要运行的任务的类型。 值可以是“分类”、“回归”或“预测”,具体取决于要解决的自动化 ML 问题的类型。 |
path
必需
|
Azure 机器学习项目文件夹的完整路径。 如果未指定,则默认值为使用当前目录或“.”。 |
iterations
必需
|
在自动化 ML 试验期间要测试的不同算法和参数组合的总数。 如果未指定,则默认值为 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 中配置自动化 ML 试验的文章。 若要自定义特征化步骤,请提供 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
必需
|
在试验结束之前,所有合并的迭代所花费的最大时间量(以小时为单位)。 可以是表示 15 分钟的小数值,如 0.25。 如果未指定,则默认试验超时为 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>
要搜索试验的模型名称列表。 如果未指定,则使用任务支持的所有模型减去指定或弃用的 TensorFlow 模型中的任何 |
allowed_models
必需
|
要搜索试验的模型名称列表。 如果未指定,则使用任务支持的所有模型减去指定或弃用的 TensorFlow 模型中的任何 |
whitelist_models
必需
|
弃用的参数,请改用allowed_models。 |
enable_onnx_compatible_models
必需
|
是启用或禁用强制实施 ONNX 兼容的模型。 默认值为 False。 有关开放神经网络交换(ONNX)和 Azure 机器学习的详细信息,请参阅 本文。 |
forecasting_parameters
必需
|
用于保存所有预测特定参数的对象。 |
time_column_name
必需
|
时间列的名称。 当预测在用于生成时序并推断其频率的输入数据中指定日期/时间列时,此参数是必需的。 此设置已弃用。 请改用forecasting_parameters。 |
max_horizon
必需
|
所需最大预测范围(以时序频率单位为单位)。 默认值为 1。 此设置已弃用。 请改用forecasting_parameters。 单位基于训练数据的时间间隔,例如预测器应预测的每月、每周。预测任务类型时,此参数是必需的。 有关设置预测参数的详细信息,请参阅 自动训练时序预测模型。 |
grain_column_names
必需
|
用于对时间序列进行分组的列的名称。 它可用于创建多个序列。 如果未定义粒度,则假定数据集为一个时序。 此参数用于任务类型预测。 此设置已弃用。 请改用forecasting_parameters。 |
target_lags
必需
|
要从目标列滞后的过去时间段数。 默认值为 1。 此设置已弃用。 请改用forecasting_parameters。 预测时,此参数表示根据数据频率滞后目标值的行数。 这表示为列表或单个整数。 默认情况下,当独立变量与依赖变量之间的关系不匹配或关联时,应使用滞后时间。 例如,当尝试预测产品的需求时,任何月份的需求都可能取决于 3 个月前特定商品的价格。 在此示例中,你可能希望将目标(需求)负延迟 3 个月,以便模型在正确的关系上进行训练。 有关详细信息,请参阅 自动训练时序预测模型。 |
feature_lags
必需
|
用于生成数值特征滞后的标志。 此设置已弃用。 请改用forecasting_parameters。 |
target_rolling_window_size
必需
|
用于创建目标列的滚动窗口平均值的过去时间段数。 此设置已弃用。 请改用forecasting_parameters。 预测时,此参数表示用于生成预测 值的历史周期 , <= 定型集大小。 如果省略, 则 n 是完整的训练集大小。 如果只想在训练模型时考虑一定数量的历史记录,请指定此参数。 |
country_or_region
必需
|
用于生成假日功能的国家/地区。 这些代码应为 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。 此设置已弃用。 请改用forecasting_parameters。 |
use_stl
必需
|
配置时序目标列的 STL 分解。 use_stl可以采用三个值:None (default) - 无 stl 分解,“季节”- 仅生成季节组件和season_trend - 生成季节和趋势组件。 此设置已弃用。 请改用forecasting_parameters。 |
seasonality
必需
|
设置时序季节性。 如果季节性设置为 -1,则会推断它。 如果未设置use_stl,则不会使用此参数。 此设置已弃用。 请改用forecasting_parameters。 |
short_series_handling_configuration
必需
|
定义 AutoML 如何处理短时序的参数。 可能的值:“auto”(默认值)、“pad”、“drop”和“None”。
日期 numeric_value 字符串 目标 2020-01-01 23 绿 55 假设最小值数为四的输出:+————+—————+———-+-–+ |日期 |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_configuration 生成的处理 生成的handling_configuration 真 实 自动 真 实 自动 真 实 垫 真 实 自动 真 实 落 真 实 自动 真 实 没有 假 没有 假 自动 假 没有 假 垫 假 没有 假 落 假 没有 假 没有 假 没有 |
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%these 点,否则将引发错误。 无(默认值) 聚合函数 引发有关缺少频率参数的错误。 一些值 聚合函数 使用提供的聚合函数聚合到频率。 |
enable_voting_ensemble
必需
|
是否启用/禁用 VotingEnsemble 迭代。 默认值为 True。 有关组合的详细信息,请参阅 组合配置。 |
enable_stack_ensemble
必需
|
是否启用/禁用 StackEnsemble 迭代。 默认值为 None。 如果 正在设置enable_onnx_compatible_models 标志,则将禁用 StackEnsemble 迭代。 同样,对于 Timeseries 任务,默认情况下将禁用 StackEnsemble 迭代,以避免由于用于拟合元学习器的小训练集而导致过度拟合的风险。 有关组合的详细信息,请参阅 组合配置。 |
debug_log
必需
|
要向其写入调试信息的日志文件。 如果未指定,则使用“automl.log”。 |
training_data
必需
|
试验中使用的定型数据。
它应同时包含训练功能和标签列(可选为样本权重列)。
如果
|
validation_data
必需
|
试验中使用的验证数据。
它应同时包含训练特征和标签列(可选为样本权重列)。
如果
|
test_data
必需
|
使用测试数据集或测试数据拆分的模型测试功能是处于预览状态的功能,随时可能会更改。 要用于测试运行的测试数据,该测试数据将在模型训练完成后自动启动。 测试运行将使用最佳模型获取预测,并计算给定这些预测的指标。 如果未指定此参数或 |
test_size
必需
|
使用测试数据集或测试数据拆分的模型测试功能是处于预览状态的功能,随时可能会更改。 要保留测试运行的测试数据的定型数据的分数,该测试运行将在模型训练完成后自动启动。 测试运行将使用最佳模型获取预测,并计算给定这些预测的指标。 这应介于 0.0 和 1.0 之间(非独占)。
如果 对于基于回归的任务,使用随机采样。 对于分类任务,使用分层采样。 预测目前不支持使用训练/测试拆分指定测试数据集。 如果未指定此参数或 |
label_column_name
必需
|
标签列的名称。 如果输入数据来自 pandas。没有列名称的数据帧可以改用列索引,以整数表示。 此参数适用于 |
weight_column_name
必需
|
示例权重列的名称。 自动化 ML 支持加权列作为输入,导致数据中的行向上或向下加权。 如果输入数据来自 pandas。没有列名称的数据帧可以改用列索引,以整数表示。 此参数适用于 |
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 进行预测的示例位于以下笔记本中:
可以在这些 自动化 ML 笔记本中找到对所有任务类型使用 AutoMLConfig 的示例。
有关自动化 ML 的背景信息,请参阅以下文章:
在 Python 中配置自动化 ML 试验。 在本文中,提供了有关每个任务类型使用的不同算法和主要指标的信息。
自动训练时序预测模型。 在本文中,有关于哪些构造函数参数和
**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 |