AutoMLConfig Класс

Представляет конфигурацию для отправки эксперимента автоматизированного ML в Машинном обучении Azure.

Этот объект конфигурации содержит и сохраняет параметры для настройки выполнения эксперимента, а также данные обучения, которые будут использоваться во время выполнения. Рекомендации по выбору параметров: https://aka.ms/AutoMLConfig.

Создайте AutoMLConfig.

Наследование
builtins.object
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
str или Tasks
Обязательно

Тип выполняемой задачи. Возможные значения: classification, regression или forecasting в зависимости от задачи автоматизированного ML, которую необходимо решить.

path
str
Обязательно

Полный путь к папке проекта Машинного обучения Azure. Если значение не указано, по умолчанию используется текущий каталог или "."

iterations
int
Обязательно

Общее количество различных сочетаний алгоритмов и параметров для проверки во время эксперимента автоматизированного ML. Если значение не указано, по умолчанию используется 1000 итераций.

primary_metric
str или Metric
Обязательно

Метрика, которую автоматизированное машинное обучение будет оптимизировать для выбора модели. Автоматизированное машинное обучение собирает больше метрик, чем может оптимизировать. Получить список допустимых метрик для заданной задачи можно с помощью get_primary_metrics. Дополнительные сведения о вычислении метрик приведены в https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric.

Если этот параметр не указан, то для задач классификации используется точность, для задач прогнозирования и регрессии — нормализованное среднеквадратичное значение, для классификации образов и классификации образов по нескольким меткам — точность, а для обнаружения объектов на образах — средняя точность.

positive_label
Any
Обязательно

Положительная метка класса, которую автоматизированное машинное обучение будет использовать для вычисления двоичных метрик. Двоичные метрики вычисляются при соблюдении двух условий для задач классификации:

  1. столбец меток состоит из двух классов, указывающих на то, что задача двоичной классификации AutoML будет использовать указанный положительный класс при передаче positive_label; в противном случае AutoML выберет положительный класс на основе закодированного значения метки;
  2. задача классификации с несколькими классами с указанным параметром positive_label.

Дополнительные сведения о классификации приведены на странице Метрики для сценариев классификации.

compute_target
AbstractComputeTarget
Обязательно

Целевой объект вычислений Машинного обучения Azure для запуска эксперимента AutoML. Дополнительные сведения о целевых объектах вычислений см. на странице https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#local-remote.

spark_context
<xref:SparkContext>
Обязательно

Контекст Spark. Применим только при использовании в среде Azure Databricks или Spark.

X
DataFrame или ndarray или Dataset или TabularDataset
Обязательно

Признаки обучения, используемые при подборе конвейеров во время эксперимента. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name.

y
DataFrame или ndarray или Dataset или TabularDataset
Обязательно

Метки обучения, используемые при подборе конвейеров во время эксперимента. Это значение, которое будет прогнозировать модель. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name.

sample_weight
DataFrame или ndarray или TabularDataset
Обязательно

Весовой коэффициент, присваиваемый каждой выборке обучения при запуске подобранных конвейеров. Каждая строка должна соответствовать строке в данных X и y.

Задайте этот параметр при указании X. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и weight_column_name.

X_valid
DataFrame или ndarray или Dataset или TabularDataset
Обязательно

Признаки проверки, используемые при подгонке конвейеров во время эксперимента.

Если параметр указан, необходимо также задать y_valid или sample_weight_valid. Этот параметр не рекомендуется использовать. Используйте вместо него validation_data и label_column_name.

y_valid
DataFrame или ndarray или Dataset или TabularDataset
Обязательно

Метки проверки, используемые при подгонке конвейеров во время эксперимента.

Необходимо указать оба параметра X_valid и y_valid. Этот параметр не рекомендуется использовать. Используйте вместо него validation_data и label_column_name.

sample_weight_valid
DataFrame или ndarray или TabularDataset
Обязательно

Весовой коэффициент, присваиваемый каждой выборке проверки при запуске конвейеров оценки. Каждая строка должна соответствовать строке в данных X и y.

Задайте этот параметр при указании X_valid. Этот параметр не рекомендуется использовать. Используйте вместо него validation_data и weight_column_name.

cv_splits_indices
List[List[ndarray]]
Обязательно

Индексы, по которым разбиваются обучающие данные для перекрестной проверки. Каждая строка является отдельной сверткой перекрестной проверки, и в каждой свертке предоставляется 2 массива Numpy — первый с индексами для выборок, используемых для данных для обучения, а второй — с индексами, которые используются для данных проверки. Т.е. [[t1, v1], [t2, v2],...], где t1 — это индексы обучения для первой свертки перекрестной проверки, а v1 — это индексы проверки для первой свертки.

Чтобы обозначить существующие данные в качестве данных проверки, используйте validation_data. Чтобы разрешить AutoML извлекать данные проверки из данных обучения, укажите n_cross_validations или validation_size. Используйте cv_split_column_names при наличии столбца (столбцов) перекрестной проверки в training_data.

validation_size
float
Обязательно

Часть данных, которую следует оставить для проверки, если пользовательские данные проверки не указаны. Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно).

Укажите validation_data для предоставления данных проверки, в противном случае задайте n_cross_validations или validation_size, чтобы извлечь данные проверки из указанных данных для обучения. Для пользовательской свертки перекрестной проверки используйте cv_split_column_names.

Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

n_cross_validations
int
Обязательно

Количество перекрестных проверок, выполняемых в случае, когда не указаны пользовательские данные проверки.

Укажите validation_data для предоставления данных проверки, в противном случае задайте n_cross_validations или validation_size, чтобы извлечь данные проверки из указанных данных для обучения. Для пользовательской свертки перекрестной проверки используйте cv_split_column_names.

Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

y_min
float
Обязательно

Минимальное значение y для эксперимента регрессии. Сочетание y_min и y_max используется для нормализации метрик тестового набора данных на основе диапазона входных данных. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных.

y_max
float
Обязательно

Максимальное значение y для эксперимента регрессии. Сочетание y_min и y_max используется для нормализации метрик тестового набора данных на основе диапазона входных данных. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных.

num_classes
int
Обязательно

Количество классов в данных метки для эксперимента классификации. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных.

featurization
str или FeaturizationConfig
Обязательно

Индикатор "auto"/"off"/FeaturizationConfig, определяющий, следует ли выполнять этап конструирования признаков автоматически или использовать настроенное конструирование признаков. Примечание. Если входные данные являются разреженными, включить конструирование признаков невозможно.

Тип столбца определяется автоматически. В зависимости от определенного типа столбца предварительная обработка и конструирование признаков выполняется следующим образом:

  • Категориальный: конечное кодирование, прямое кодирование, отбрасывание категорий с высокой кратностью, добавление отсутствующих значений.

  • Числовой: добавление отсутствующих значений, расстояние между кластерами, весовой коэффициент свидетельства.

  • DateTime (дата и время): несколько признаков, таких как день, секунды, минуты, часы и т. п.

  • Текстовый: набор слов, предварительно обученное внедрение слов, конечное кодирование текста.

Дополнительные сведения приведены в статье Конфигурация эксперимента автоматизированного ML в Python.

Чтобы настроить этап конструирования признаков, укажите объект FeaturizationConfig. В настоящее время настроенное конструирование признаков поддерживает блокировку набора преобразователей, обновление назначения столбца, изменение параметров преобразователя и удаление столбцов. Дополнительные сведения приведены в документе Конфигурация конструирования признаков.

Примечание. Признаки временных рядов обрабатываются отдельно, если для типа задачи задано прогнозирование независимо от этого параметра.

max_cores_per_iteration
int
Обязательно

Максимальное количество потоков, используемых для заданной итерации обучения. Допустимые значения:

  • Больше 1, но не больше максимального количества ядер в целевом объекте вычислений.

  • Равно −1, что означает использование всех возможных ядер на итерацию для каждого дочернего выполнения.

  • Равно 1, значение по умолчанию.

max_concurrent_iterations
int
Обязательно

Это максимальное количество итераций, которые могут выполняться параллельно. Значение по умолчанию — 1.

  • Кластеры AmlCompute поддерживают одну итерацию, выполняющуюся на каждом узле. Для нескольких родительских выполнений экспериментов AutoML, запущенных параллельно в одном кластере AmlCompute, сумма значений max_concurrent_iterations для всех экспериментов не должна превышать максимальное количество узлов. В противном случае выполнения будут ставиться в очередь до тех пор, пока узлы не станут доступны.

  • DSVM поддерживает несколько итераций на один узел. max_concurrent_iterations не должно превышать количество ядер в DSVM. Для параллельного выполнения нескольких экспериментов на одном DSVM, сумма значений max_concurrent_iterations для всех экспериментов должна быть меньше или равна максимальному количеству узлов.

  • Databricks — max_concurrent_iterations не должно превышать количество рабочих узлов в Databricks.

max_concurrent_iterations не применяется к локальным выполнениям. Ранее этот параметр назывался concurrent_iterations.

iteration_timeout_minutes
int
Обязательно

Максимальное время в минутах, в течение которого каждая итерация может выполняться до завершения. Если значение не указано, используется значение, равное 1 месяцу или 43 200 минутам.

mem_in_mb
int
Обязательно

Максимальный объем памяти, используемой каждой итерацией до завершения. Если значение не указано, используется значение 1 ПБ или 1 073 741 824 МБ.

enforce_time_on_windows
bool
Обязательно

Следует ли применять временное ограничение для обучения модели при каждой итерации в Windows. Значение по умолчанию равно True. Если выполнение осуществляется из скрипта Python (PY-файл), ознакомьтесь с документацией по разрешающим ограничениям ресурсов в Windows.

experiment_timeout_hours
float
Обязательно

Максимальное количество времени в часах, в течение которого могут быть пройдены все итерации до завершения эксперимента. Может быть десятичным значением, например 0,25, представляющим 15 минут. Если значение не указано, время ожидания эксперимента по умолчанию составляет 6 дней. Чтобы задать время ожидания, не превышающее 1 час, размер набора данных не должен превышать 10 000 000 (строк на столбец), иначе возникнет ошибка.

experiment_exit_score
float
Обязательно

Целевая оценка для эксперимента. При достижении этого показателя выполнение эксперимента завершается. Если значение не указано (без критериев), эксперимент выполняется до тех пор, пока показатель основной метрики не перестанет улучшаться. Дополнительные сведения об условиях выхода приведены в этой статье.

enable_early_stopping
bool
Обязательно

Следует ли включать преждевременное завершение, если оценка не улучшается за короткое время. Значение по умолчанию равно True.

Логика преждевременной остановки:

  • К первым 20 итерациям (ориентирам) ранняя остановка не применяется.

  • Период возможности ранней остановки начинается с 21-й итерации и ищет early_stopping_n_iters итераций

    (в настоящее время установлено значение 10). Это означает, что первая итерация, в которой может произойти остановка — 31-я.

  • AutoML по-прежнему планирует две итерации ансамблей итерации ПОСЛЕ ранней остановки, что может привести к

    более высоким оценкам.

  • Ранняя остановка активируется, если абсолютное значение вычисленной наилучшей оценки остается неизменным для прошлых

    итераций early_stopping_n_iters, то есть, если для итераций early_stopping_n_iters улучшения оценки не наблюдается.

blocked_models
list(str) или list(Classification) <xref:for classification task> или list(Regression) <xref:for regression task> или list(Forecasting) <xref:for forecasting task>
Обязательно

Список алгоритмов, которые следует игнорировать для эксперимента. Если enable_tf имеет значение False, модели TensorFlow включаются в blocked_models.

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
bool
Обязательно

Следует ли исключать строки со значениями NaN в метке. Значение по умолчанию равно True.

verbosity
int
Обязательно

Уровень детализации для записи в файл журнала. Значение по умолчанию — INFO или 20. Допустимые значения определены в библиотеке ведения журнала Python.

enable_tf
bool
Обязательно

Нерекомендуемый параметр для включения или отключения алгоритмов Tensorflow. Значение по умолчанию — False.

model_explainability
bool
Обязательно

Следует ли включить объяснение оптимальной модели 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>
Обязательно

Список имен моделей для поиска эксперимента. Если параметр не указан, используются все поддерживаемые для задачи модели, кроме любых моделей, указанных в blocked_models, и нерекомендуемых моделей TensorFlow. Поддерживаемые модели для каждого типа задачи описаны в классе SupportedModels.

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
bool
Обязательно

Следует ли включить или отключить принудительное применение моделей, совместимых с ONNX. Значение по умолчанию — False. Дополнительные сведения об Open Neural Network Exchange (ONNX) и Машинном обучении Azure приведены в этой статье.

forecasting_parameters
ForecastingParameters
Обязательно

Объект ForecastingParameters для хранения всех параметров, связанных с прогнозированием.

time_column_name
str
Обязательно

Имя столбца времени. Это параметр требуется при прогнозировании, чтобы задать столбец даты и времени во входных данных, используемых для создания временного ряда и определения его периодичности. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

max_horizon
int
Обязательно

Максимальный требуемый горизонт прогнозирования в единицах периодичности временных рядов. Значение по умолчанию — 1.

Единицы измерения определяются на основе интервала времени данных обучения, например, месяц или неделя, на который следует составить прогноз. Если тип задачи — прогнозирование, этот параметр является обязательным. Дополнительные сведения о настройке параметров прогнозирования приведены в статье Автоматизированное обучение прогнозной модели временных рядов. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

grain_column_names
str или list(str)
Обязательно

Имена столбцов, используемых для группирования временных рядов. Можно использовать для создания нескольких рядов. Если интервал не определен, предполагается, что набор данных является одним временным рядом. Этот параметр используется с типом задач forecasting. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

target_lags
int или list(int)
Обязательно

Число прошлых периодов, на которое должно быть определено запаздывание от целевого столбца. Значение по умолчанию — 1. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

При прогнозировании этот параметр представляет количество строк для запаздывания от целевых значений в зависимости от частоты данных. Он представляется в виде списка или одного целого числа. Запаздывание следует использовать, когда связь между независимыми и зависимыми переменными не согласована или не коррелирует по умолчанию. Например, при попытке прогнозировать спрос на товар спрос за любой месяц может зависеть от цены на определенные товары тремя месяцами ранее. В этом примере может потребоваться запаздывание (отрицательное смещение) целевых значений (спроса) на три месяца, чтобы модель была обучена по правильной связи. Дополнительные сведения приведены в статье Автоматизированное обучение прогнозной модели временных рядов.

feature_lags
str
Обязательно

Флаг для создания запаздываний для числовых функций. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

target_rolling_window_size
int
Обязательно

Число прошлых периодов, используемых для создания среднего значения скользящего окна для целевого столбца. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

При прогнозировании этот параметр представляет n исторических периодов, используемых для создания прогнозируемых значений, <= размер набора данных для обучения. Если этот параметр не задан, n принимается равным полному размеру набора для обучения. Этот параметр следует задавать в том случае, если при обучении модели нужно учитывать только определенный объем данных за предыдущие периоды.

country_or_region
str
Обязательно

Страна или регион, используемые для создания признаков праздников. Это должен быть двухбуквенный код страны и региона по стандарту ISO 3166, например "US" или "GB". Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

use_stl
str
Обязательно

Настройка декомпозиции STL для целевого столбца временных рядов. Параметр use_stl может принимать три значения: None (Нет) (по умолчанию) — без декомпозиции STL, season — создание только компонента сезона и season_trend — создание компонентов сезона и тенденции. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

seasonality
int или str
Обязательно

Задание сезонности временных рядов. Если для сезонности задано значение "auto", этот параметр будет выводиться автоматически. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

short_series_handling_configuration
str
Обязательно

Параметр, определяющий, как AutoML должно обрабатывать короткие временные ряды.

Возможные значения: "auto" (по умолчанию), "pad", "drop" и "None".

  • auto — короткие ряды будут заполнены, если длинные ряды отсутствуют. В противном случае короткие ряды будут удалены.
  • pad — все короткие ряды будут заполнены.
  • drop — все короткие ряды будут удалены.
  • None — короткие ряды останутся без изменений. Если задано значение "pad", таблица будет заполнена нулями и пустыми значениями для регрессоров и случайными значениями для целевого объекта со средним значением, равным медиане целевого значения для этого идентификатора временного ряда. Если медиана больше нуля или равна ему, минимальное указанное значение будет обрезано нулем. Входные данные:

Дата

numeric_value

строка

target

01.01.2020

23

green

55

Выходные данные с минимальным числом значений — четыре:

Дата

numeric_value

строка

target

2019-12-29

0

Н/Д

55.1

2019-12-30

0

Н/Д

55.6

2019-12-31

0

Н/Д

54.5

01.01.2020

23

green

55

Примечание: Есть два параметра — short_series_handling_configuration и legacy 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

Нет

Неверно

Нет

Неверно

авто

Неверно

Нет

Неверно

Площадку

Неверно

Нет

Неверно

drop

Неверно

Нет

Неверно

Нет

Неверно

Нет

freq
str или None
Обязательно

Частота прогнозирования.

При прогнозировании этот параметр представляет собой требуемый период составления прогноза, например, ежедневно, еженедельно, ежегодно и т. п. По умолчанию частота прогнозирования равна частоте набора данных. При необходимости можно задать для него значение больше (но не меньше) частоты набора данных. Мы агрегируем данные и сформируем результаты по частоте прогнозирования. Например, для ежедневных данных можно задать ежедневную, еженедельную или ежемесячную, но не ежечасную частоту прогнозирования. Частота должна быть псевдонимом смещения pandas. Дополнительные сведения приведены в документации по pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str или None
Обязательно

Функция, используемая для агрегирования целевого столбца временных рядов в соответствии с заданной пользователем частотой. Если target_aggregation_function установлена, но параметр частоты не задан, возникает ошибка. Возможны следующие целевые функции агрегирования: "sum", "max", "min" и "mean".

Частота

target_aggregation_function

Механизм исправления регулярности данных

Нет (по умолчанию)

Нет (по умолчанию)

Агрегирование не применяется. Если не удается определить допустимую частоту, возникает ошибка.

Некоторое значение

Нет (по умолчанию)

Агрегирование не применяется. Если число точек данных, соответствующих заданной сетке частоты, меньше 90 %, эти точки будут удалены, в противном случае возникает ошибка.

Нет (по умолчанию)

Статистическая функция

Возникла ошибка об отсутствии параметра частоты.

Некоторое значение

Статистическая функция

Агрегирование по частоте с помощью функции providedaggregation.

enable_voting_ensemble
bool
Обязательно

Указывает, следует ли включить или отключить итерацию VotingEnsemble. Значение по умолчанию равно True. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей.

enable_stack_ensemble
bool
Обязательно

Указывает, следует ли включить или отключить итерацию StackEnsemble. Значение по умолчанию — None. Если установлен флаг enable_onnx_compatible_models, то итерация StackEnsemble будет отключена. Аналогично, для задач временных рядов итерация StackEnsemble будет по умолчанию отключена во избежание рисков, связанных с чрезмерной лжевзаимосвязью из-за небольшого размера набора данных для обучения, используемого для подбора средства обучения по метаданным. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей.

debug_log
str
Обязательно

Файл журнала, в который будут записываться сведения об отладке. Если параметр не задан, используется automl.log.

training_data
DataFrame или Dataset или DatasetDefinition или TabularDataset
Обязательно

Обучающие данные, которые будут использоваться в эксперименте. Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки). Если указан training_data, должен быть также задан параметр label_column_name.

training_data появился в версии 1.0.81.

validation_data
DataFrame или Dataset или DatasetDefinition или TabularDataset
Обязательно

Данные проверки, которые будут использоваться в эксперименте. Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки). Если указан validation_data, необходимо указать параметры training_data и label_column_name.

validation_data появился в версии 1.0.81. Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

test_data
Dataset или TabularDataset
Обязательно

Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Тестовые данные, которые будут использоваться для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе.

Если этот параметр или параметр test_size не указаны, тестовый запуск не будет выполнен автоматически после завершения обучения модели. Тестовые данные должны содержать признаки и столбец меток. Если указан test_data, должен быть также задан параметр label_column_name.

test_size
float
Обязательно

Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Часть данных обучения, которую следует оставить в качестве тестовых данных для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе.

Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно). Если параметр test_size указан одновременно с параметром validation_size, тестовые данные выделяются из training_data до выделения данных проверки. Например, если validation_size=0.1, test_size=0.1 и исходные данные обучения содержат 1000 строк, то тестовые данные будут содержать 100 строк, данные проверки — 90 строк, а данные обучения — 810 строк.

Для задач на основе регрессии используется случайная выборка. Для задач классификации используется стратифицированная выборка. В настоящее время прогнозирование не поддерживает указание тестового набора данных с помощью разделения данных для обучения/тестирования.

Если этот параметр или параметр test_data не указаны, тестовый запуск не будет выполнен автоматически после завершения обучения модели.

label_column_name
Union[str, int]
Обязательно

Имя столбца меток. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел.

Этот параметр применим к параметрам training_data, validation_data и test_data. label_column_name появился в версии 1.0.81.

weight_column_name
Union[str, int]
Обязательно

Имя столбца с весом выборок. Автоматизированное машинное обучение поддерживает взвешенный столбец в качестве входных данных, и в результате вес строк данных меняется в большую или меньшую сторону. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел.

Этот параметр применим к параметрам training_data и validation_data. weight_column_names появился в версии 1.0.81.

cv_split_column_names
list(str)
Обязательно

Список имен столбцов, содержащих разделение пользовательской перекрестной проверки (CV). Каждый из столбцов с разделением CV представляет одно разделение CV, где каждая строка помечается 1 для обучения или 0 для проверки.

Этот параметр применим к параметру training_data для пользовательской перекрестной проверки. cv_split_column_names появился в версии 1.6.0

Используйте cv_split_column_names или cv_splits_indices.

Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

enable_local_managed
bool
Обязательно

Отключенный параметр. В настоящее время невозможно включить локальные управляемые выполнения.

enable_dnn
bool
Обязательно

Следует ли включать модели на основе DNN во время выбора модели. Значение по умолчанию в параметре инициализации — None. Однако для задач DNN NLP значением по умолчанию будет True, а для всех остальных задач AutoML — False.

task
str или Tasks
Обязательно

Тип выполняемой задачи. Возможные значения: classification, regression или forecasting в зависимости от задачи автоматизированного ML, которую необходимо решить.

path
str
Обязательно

Полный путь к папке проекта Машинного обучения Azure. Если значение не указано, по умолчанию используется текущий каталог или "."

iterations
int
Обязательно

Общее количество различных сочетаний алгоритмов и параметров для проверки во время эксперимента автоматизированного ML. Если значение не указано, по умолчанию используется 1000 итераций.

primary_metric
str или Metric
Обязательно

Метрика, которую автоматизированное машинное обучение будет оптимизировать для выбора модели. Автоматизированное машинное обучение собирает больше метрик, чем может оптимизировать. Получить список допустимых метрик для заданной задачи можно с помощью get_primary_metrics. Дополнительные сведения о вычислении метрик приведены в https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric.

Если этот параметр не указан, то для задач классификации используется точность, для задач прогнозирования и регрессии — нормализованное среднеквадратичное значение, для классификации образов и классификации образов по нескольким меткам — точность, а для обнаружения объектов на образах — средняя точность.

positive_label
Any
Обязательно

Положительная метка класса, которую автоматизированное машинное обучение будет использовать для вычисления двоичных метрик. Двоичные метрики вычисляются при соблюдении двух условий для задач классификации:

  1. столбец меток состоит из двух классов, указывающих на то, что задача двоичной классификации AutoML будет использовать указанный положительный класс при передаче positive_label; в противном случае AutoML выберет положительный класс на основе закодированного значения метки;
  2. задача классификации с несколькими классами с указанным параметром positive_label.

Дополнительные сведения о классификации приведены на странице Метрики для сценариев классификации.

compute_target
AbstractComputeTarget
Обязательно

Целевой объект вычислений Машинного обучения Azure для запуска эксперимента AutoML. Дополнительные сведения о целевых объектах вычислений см. на странице https://docs.microsoft.com/azure/machine-learning/how-to-auto-train-remote.

spark_context
<xref:SparkContext>
Обязательно

Контекст Spark. Применим только при использовании в среде Azure Databricks или Spark.

X
DataFrame или ndarray или Dataset или DatasetDefinition или TabularDataset
Обязательно

Признаки обучения, используемые при подборе конвейеров во время эксперимента. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name.

y
DataFrame или ndarray или Dataset или DatasetDefinition или TabularDataset
Обязательно

Метки обучения, используемые при подборе конвейеров во время эксперимента. Это значение, которое будет прогнозировать модель. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name.

sample_weight
DataFrame или ndarray или TabularDataset
Обязательно

Весовой коэффициент, присваиваемый каждой выборке обучения при запуске подобранных конвейеров. Каждая строка должна соответствовать строке в данных X и y.

Задайте этот параметр при указании X. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и weight_column_name.

X_valid
DataFrame или ndarray или Dataset или DatasetDefinition или TabularDataset
Обязательно

Признаки проверки, используемые при подгонке конвейеров во время эксперимента.

Если параметр указан, необходимо также задать y_valid или sample_weight_valid. Этот параметр не рекомендуется использовать. Используйте вместо него validation_data и label_column_name.

y_valid
DataFrame или ndarray или Dataset или DatasetDefinition или TabularDataset
Обязательно

Метки проверки, используемые при подгонке конвейеров во время эксперимента.

Необходимо указать оба параметра X_valid и y_valid. Этот параметр не рекомендуется использовать. Используйте вместо него validation_data и label_column_name.

sample_weight_valid
DataFrame или ndarray или TabularDataset
Обязательно

Весовой коэффициент, присваиваемый каждой выборке проверки при запуске конвейеров оценки. Каждая строка должна соответствовать строке в данных X и y.

Задайте этот параметр при указании X_valid. Этот параметр не рекомендуется использовать. Используйте вместо него validation_data и weight_column_name.

cv_splits_indices
List[List[ndarray]]
Обязательно

Индексы, по которым разбиваются обучающие данные для перекрестной проверки. Каждая строка является отдельной сверткой перекрестной проверки, и в каждой свертке предоставляется 2 массива Numpy — первый с индексами для выборок, используемых для данных для обучения, а второй — с индексами, которые используются для данных проверки. Т.е. [[t1, v1], [t2, v2],...], где t1 — это индексы обучения для первой свертки перекрестной проверки, а v1 — это индексы проверки для первой свертки. Этот параметр поддерживается, если данные передаются в виде отдельного набора данных Features и столбца Метка.

Чтобы обозначить существующие данные в качестве данных проверки, используйте validation_data. Чтобы разрешить AutoML извлекать данные проверки из данных обучения, укажите n_cross_validations или validation_size. Используйте cv_split_column_names при наличии столбца (столбцов) перекрестной проверки в training_data.

validation_size
float
Обязательно

Часть данных, которую следует оставить для проверки, если пользовательские данные проверки не указаны. Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно).

Укажите validation_data для предоставления данных проверки, в противном случае задайте n_cross_validations или validation_size, чтобы извлечь данные проверки из указанных данных для обучения. Для пользовательской свертки перекрестной проверки используйте cv_split_column_names.

Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

n_cross_validations
int или str
Обязательно

Количество перекрестных проверок, выполняемых в случае, когда не указаны пользовательские данные проверки.

Укажите validation_data для предоставления данных проверки, в противном случае задайте n_cross_validations или validation_size, чтобы извлечь данные проверки из указанных данных для обучения. Для пользовательской свертки перекрестной проверки используйте cv_split_column_names.

Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

y_min
float
Обязательно

Минимальное значение y для эксперимента регрессии. Сочетание y_min и y_max используется для нормализации метрик тестового набора данных на основе диапазона входных данных. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных.

y_max
float
Обязательно

Максимальное значение y для эксперимента регрессии. Сочетание y_min и y_max используется для нормализации метрик тестового набора данных на основе диапазона входных данных. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных.

num_classes
int
Обязательно

Количество классов в данных метки для эксперимента классификации. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных.

featurization
str или FeaturizationConfig
Обязательно

Индикатор "auto"/"off"/FeaturizationConfig, определяющий, следует ли выполнять этап конструирования признаков автоматически или использовать настроенное конструирование признаков. Примечание. Если входные данные являются разреженными, включить конструирование признаков невозможно.

Тип столбца определяется автоматически. В зависимости от определенного типа столбца предварительная обработка и конструирование признаков выполняется следующим образом:

  • Категориальный: конечное кодирование, прямое кодирование, отбрасывание категорий с высокой кратностью, добавление отсутствующих значений.

  • Числовой: добавление отсутствующих значений, расстояние между кластерами, весовой коэффициент свидетельства.

  • DateTime (дата и время): несколько признаков, таких как день, секунды, минуты, часы и т. п.

  • Текстовый: набор слов, предварительно обученное внедрение слов, конечное кодирование текста.

Дополнительные сведения приведены в статье Конфигурация эксперимента автоматизированного ML в Python.

Чтобы настроить этап конструирования признаков, укажите объект FeaturizationConfig. В настоящее время настроенное конструирование признаков поддерживает блокировку набора преобразователей, обновление назначения столбца, изменение параметров преобразователя и удаление столбцов. Дополнительные сведения приведены в документе Конфигурация конструирования признаков.

Примечание. Признаки временных рядов обрабатываются отдельно, если для типа задачи задано прогнозирование независимо от этого параметра.

max_cores_per_iteration
int
Обязательно

Максимальное количество потоков, используемых для заданной итерации обучения. Допустимые значения:

  • Больше 1, но не больше максимального количества ядер в целевом объекте вычислений.

  • Равно −1, что означает использование всех возможных ядер на итерацию для каждого дочернего выполнения.

  • Значение по умолчанию равно 1.

max_concurrent_iterations
int
Обязательно

Это максимальное количество итераций, которые могут выполняться параллельно. Значение по умолчанию — 1.

  • Кластеры AmlCompute поддерживают одну итерацию, выполняющуюся на каждом узле. Для нескольких экспериментов, выполняемых параллельно в одном кластере AmlCompute, сумма значений max_concurrent_iterations для всех экспериментов должна быть меньше или равна максимальному количеству узлов.

  • DSVM поддерживает несколько итераций на один узел. max_concurrent_iterations не должно превышать количество ядер в DSVM. Для параллельного выполнения нескольких экспериментов на одном DSVM, сумма значений max_concurrent_iterations для всех экспериментов должна быть меньше или равна максимальному количеству узлов.

  • Databricks — max_concurrent_iterations не должно превышать количество рабочих узлов в Databricks.

max_concurrent_iterations не применяется к локальным выполнениям. Ранее этот параметр назывался concurrent_iterations.

iteration_timeout_minutes
int
Обязательно

Максимальное время в минутах, в течение которого каждая итерация может выполняться до завершения. Если значение не указано, используется значение, равное 1 месяцу или 43 200 минутам.

mem_in_mb
int
Обязательно

Максимальный объем памяти, используемой каждой итерацией до завершения. Если значение не указано, используется значение 1 ПБ или 1 073 741 824 МБ.

enforce_time_on_windows
bool
Обязательно

Следует ли применять временное ограничение для обучения модели при каждой итерации в Windows. Значение по умолчанию равно True. Если выполнение осуществляется из скрипта Python (PY-файл), ознакомьтесь с документацией по разрешающим ограничениям ресурсов в Windows.

experiment_timeout_hours
float
Обязательно

Максимальное количество времени в часах, в течение которого могут быть пройдены все итерации до завершения эксперимента. Может быть десятичным значением, например 0,25, представляющим 15 минут. Если значение не указано, время ожидания эксперимента по умолчанию составляет 6 дней. Чтобы задать время ожидания, не превышающее 1 час, размер набора данных не должен превышать 10 000 000 (строк на столбец), иначе возникнет ошибка.

experiment_exit_score
float
Обязательно

Целевая оценка для эксперимента. При достижении этого показателя выполнение эксперимента завершается. Если значение не указано (без критериев), эксперимент выполняется до тех пор, пока показатель основной метрики не перестанет улучшаться. Дополнительные сведения о критериях выхода см. в разделе >>article https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#exit-criteria'_.<<

enable_early_stopping
bool
Обязательно

Следует ли включать преждевременное завершение, если оценка не улучшается за короткое время. Значение по умолчанию равно True.

Логика преждевременной остановки:

  • К первым 20 итерациям (ориентирам) ранняя остановка не применяется.

  • Окно ранней остановки начинается с 21-й итерации и ищет early_stopping_n_iters итераций (в настоящее время задано значение 10). Это означает, что первая итерация, в которой может произойти остановка — 31-я.

  • AutoML по-прежнему планирует 2 итерации ансамбля после ранней остановки, что может привести к повышению оценки.

  • Ранняя остановка активируется, если абсолютное значение вычисленной лучшей оценки одинаково для предыдущих итераций early_stopping_n_iters, то есть если оценка не улучшается для итераций early_stopping_n_iters.

blocked_models
list(str) или list(Classification) <xref:for classification task> или list(Regression) <xref:for regression task> или list(Forecasting) <xref:for forecasting task>
Обязательно

Список алгоритмов, которые следует игнорировать для эксперимента. Если enable_tf имеет значение False, модели TensorFlow включаются в blocked_models.

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
bool
Обязательно

Следует ли исключать строки со значениями NaN в метке. Значение по умолчанию равно True.

verbosity
int
Обязательно

Уровень детализации для записи в файл журнала. Значение по умолчанию — INFO или 20. Допустимые значения определены в библиотеке ведения журнала Python.

enable_tf
bool
Обязательно

Следует ли включать или отключать алгоритмы TensorFlow. Значение по умолчанию — False.

model_explainability
bool
Обязательно

Следует ли включить объяснение оптимальной модели 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>
Обязательно

Список имен моделей для поиска эксперимента. Если параметр не указан, используются все поддерживаемые для задачи модели, кроме любых моделей, указанных в blocked_models, и нерекомендуемых моделей TensorFlow. Поддерживаемые модели для каждого типа задачи описаны в классе SupportedModels.

allowed_models
Обязательно

Список имен моделей для поиска эксперимента. Если параметр не указан, используются все поддерживаемые для задачи модели, кроме любых моделей, указанных в blocked_models, и нерекомендуемых моделей TensorFlow. Поддерживаемые модели для каждого типа задачи описаны в классе SupportedModels.

whitelist_models
Обязательно

Этот параметр не рекомендуется. Используйте вместо него allowed_models.

enable_onnx_compatible_models
bool
Обязательно

Следует ли включить или отключить принудительное применение моделей, совместимых с ONNX. Значение по умолчанию — False. Дополнительные сведения об Open Neural Network Exchange (ONNX) и Машинном обучении Azure приведены в этой статье.

forecasting_parameters
ForecastingParameters
Обязательно

Объект для хранения всех параметров прогнозирования.

time_column_name
str
Обязательно

Имя столбца времени. Это параметр требуется при прогнозировании, чтобы задать столбец даты и времени во входных данных, используемых для создания временного ряда и определения его периодичности. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

max_horizon
int
Обязательно

Максимальный требуемый горизонт прогнозирования в единицах периодичности временных рядов. Значение по умолчанию — 1. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

Единицы измерения определяются на основе интервала времени данных обучения, например, месяц или неделя, на который следует составить прогноз. Если тип задачи — прогнозирование, этот параметр является обязательным. Дополнительные сведения о настройке параметров прогнозирования приведены в статье Автоматизированное обучение прогнозной модели временных рядов.

grain_column_names
str или list(str)
Обязательно

Имена столбцов, используемых для группирования временных рядов. Можно использовать для создания нескольких рядов. Если интервал не определен, предполагается, что набор данных является одним временным рядом. Этот параметр используется с типом задач forecasting. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

target_lags
int или list(int)
Обязательно

Число прошлых периодов, на которое должно быть определено запаздывание от целевого столбца. Значение по умолчанию — 1. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

При прогнозировании этот параметр представляет количество строк для запаздывания от целевых значений в зависимости от частоты данных. Он представляется в виде списка или одного целого числа. Запаздывание следует использовать, когда связь между независимыми и зависимыми переменными не согласована или не коррелирует по умолчанию. Например, при попытке прогнозировать спрос на товар спрос за любой месяц может зависеть от цены на определенные товары тремя месяцами ранее. В этом примере может потребоваться запаздывание (отрицательное смещение) целевых значений (спроса) на три месяца, чтобы модель была обучена по правильной связи. Дополнительные сведения приведены в статье Автоматизированное обучение прогнозной модели временных рядов.

feature_lags
str
Обязательно

Флаг для создания запаздываний для числовых функций. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

target_rolling_window_size
int
Обязательно

Число прошлых периодов, используемых для создания среднего значения скользящего окна для целевого столбца. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

При прогнозировании этот параметр представляет n исторических периодов, используемых для создания прогнозируемых значений, <= размер набора данных для обучения. Если этот параметр не задан, n принимается равным полному размеру набора для обучения. Этот параметр следует задавать в том случае, если при обучении модели нужно учитывать только определенный объем данных за предыдущие периоды.

country_or_region
str
Обязательно

Страна или регион, используемые для создания признаков праздников. Это должны быть двухбуквенные коды страны и региона по стандарту ISO 3166, например "US" или "GB". Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

use_stl
str
Обязательно

Настройка декомпозиции STL для целевого столбца временных рядов. Параметр use_stl может принимать три значения: None (Нет) (по умолчанию) — без декомпозиции STL, season — создание только компонента сезона и season_trend — создание компонентов сезона и тенденции. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

seasonality
int
Обязательно

Задание сезонности временных рядов. Если для сезонности задано значение –1, она будет выводиться. Если параметр use_stl не задан, он не будет использоваться. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters.

short_series_handling_configuration
str
Обязательно

Параметр, определяющий, как AutoML должно обрабатывать короткие временные ряды.

Возможные значения: "auto" (по умолчанию), "pad", "drop" и "None".

  • auto — короткие ряды будут заполнены, если длинные ряды отсутствуют. В противном случае короткие ряды будут удалены.
  • pad — все короткие ряды будут заполнены.
  • drop — все короткие ряды будут удалены.
  • None — короткие ряды останутся без изменений. Если задано значение "pad", таблица будет заполнена нулями и пустыми значениями для регрессоров и случайными значениями для целевого объекта со средним значением, равным медиане целевого значения для этого идентификатора временного ряда. Если медиана больше нуля или равна ему, минимальное указанное значение будет обрезано нулем. Входные данные:

Дата

numeric_value

строка

target

01.01.2020

23

green

55

Выходные данные при условии, что минимальное количество значений равно четырем: +————+—————+———-+—–+| Дата | numeric_value | строка | target | +============+===============+==========+========+ | 29.12.2019 | 0 | NA | 55.1 | +————+—————+———-+——–+ | 30.12.2019 | 0 | NA | 55.6 | +————+—————+———-+——–+ | 31.12.2019 | 0 | NA | 54.5 | +————+—————+———-+——–+ | 01.01.2020 | 23 | зеленый | 55 | +————+—————+———-+——–+

Примечание: Есть два параметра — short_series_handling_configuration и legacy 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

Нет

Неверно

Нет

Неверно

авто

Неверно

Нет

Неверно

Площадку

Неверно

Нет

Неверно

drop

Неверно

Нет

Неверно

Нет

Неверно

Нет

freq
str или None
Обязательно

Частота прогнозирования.

При прогнозировании этот параметр представляет собой требуемый период составления прогноза, например, ежедневно, еженедельно, ежегодно и т. п. По умолчанию частота прогнозирования равна частоте набора данных. При необходимости можно задать для него значение больше (но не меньше) частоты набора данных. Мы агрегируем данные и сформируем результаты по частоте прогнозирования. Например, для ежедневных данных можно задать ежедневную, еженедельную или ежемесячную, но не ежечасную частоту прогнозирования. Частота должна быть псевдонимом смещения pandas. Дополнительные сведения приведены в документации по pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str или None
Обязательно

Функция, используемая для агрегирования целевого столбца временных рядов в соответствии с заданной пользователем частотой. Если target_aggregation_function установлена, но параметр частоты не задан, возникает ошибка. Возможны следующие целевые функции агрегирования: "sum", "max", "min" и "mean".

Частота

target_aggregation_function

Механизм исправления регулярности данных

Нет (по умолчанию)

Нет (по умолчанию)

Агрегирование не применяется. Если не удается определить допустимую частоту, возникает ошибка.

Некоторое значение

Нет (по умолчанию)

Агрегирование не применяется. Если число точек данных, соответствующих заданной сетке частоты, меньше 90 %, эти точки будут удалены, в противном случае возникает ошибка.

Нет (по умолчанию)

Статистическая функция

Возникла ошибка об отсутствии параметра частоты.

Некоторое значение

Статистическая функция

Агрегирование по частоте с помощью функции providedaggregation.

enable_voting_ensemble
bool
Обязательно

Указывает, следует ли включить или отключить итерацию VotingEnsemble. Значение по умолчанию равно True. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей.

enable_stack_ensemble
bool
Обязательно

Указывает, следует ли включить или отключить итерацию StackEnsemble. Значение по умолчанию — None. Если установлен флаг enable_onnx_compatible_models, то итерация StackEnsemble будет отключена. Аналогично, для задач временных рядов итерация StackEnsemble будет по умолчанию отключена во избежание рисков, связанных с чрезмерной лжевзаимосвязью из-за небольшого размера набора данных для обучения, используемого для подбора средства обучения по метаданным. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей.

debug_log
str
Обязательно

Файл журнала, в который будут записываться сведения об отладке. Если параметр не задан, используется automl.log.

training_data
DataFrame или Dataset или DatasetDefinition или TabularDataset
Обязательно

Обучающие данные, которые будут использоваться в эксперименте. Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки). Если указан training_data, должен быть также задан параметр label_column_name.

training_data появился в версии 1.0.81.

validation_data
DataFrame или Dataset или DatasetDefinition или TabularDataset
Обязательно

Данные проверки, которые будут использоваться в эксперименте. Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки). Если указан validation_data, необходимо указать параметры training_data и label_column_name.

validation_data появился в версии 1.0.81. Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

test_data
Dataset или TabularDataset
Обязательно

Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Тестовые данные, которые будут использоваться для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе.

Если этот параметр или параметр test_size не указаны, тестовый запуск не будет выполнен автоматически после завершения обучения модели. Тестовые данные должны содержать признаки и столбец меток. Если указан test_data, должен быть также задан параметр label_column_name.

test_size
float
Обязательно

Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Часть данных обучения, которую следует оставить в качестве тестовых данных для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе.

Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно). Если параметр test_size указан одновременно с параметром validation_size, тестовые данные выделяются из training_data до выделения данных проверки. Например, если validation_size=0.1, test_size=0.1 и исходные данные обучения содержат 1000 строк, то тестовые данные будут содержать 100 строк, данные проверки — 90 строк, а данные обучения — 810 строк.

Для задач на основе регрессии используется случайная выборка. Для задач классификации используется стратифицированная выборка. В настоящее время прогнозирование не поддерживает указание тестового набора данных с помощью разделения данных для обучения/тестирования.

Если этот параметр или параметр test_data не указаны, тестовый запуск не будет выполнен автоматически после завершения обучения модели.

label_column_name
Union[str, int]
Обязательно

Имя столбца меток. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел.

Этот параметр применим к параметрам training_data, validation_data и test_data. label_column_name появился в версии 1.0.81.

weight_column_name
Union[str, int]
Обязательно

Имя столбца с весом выборок. Автоматизированное машинное обучение поддерживает взвешенный столбец в качестве входных данных, и в результате вес строк данных меняется в большую или меньшую сторону. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел.

Этот параметр применим к параметрам training_data и validation_data. weight_column_names появился в версии 1.0.81.

cv_split_column_names
list(str)
Обязательно

Список имен столбцов, содержащих разделение пользовательской перекрестной проверки (CV). Каждый из столбцов с разделением CV представляет одно разделение CV, где каждая строка помечается 1 для обучения или 0 для проверки.

Этот параметр применим к параметру training_data для пользовательской перекрестной проверки. cv_split_column_names появился в версии 1.6.0

Используйте cv_split_column_names или cv_splits_indices.

Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении.

enable_local_managed
bool
Обязательно

Отключенный параметр. В настоящее время невозможно включить локальные управляемые выполнения.

enable_dnn
bool
Обязательно

Следует ли включать модели на основе DNN во время выбора модели. Значение по умолчанию в параметре инициализации — 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 для всех типов задач можно найти в этих записных книжках автоматизированного ML.

Дополнительные сведения об автоматизированном ML приведены в статьях:

Дополнительные сведения о различных вариантах настройки разделения данных для обучения или проверки, а также о перекрестной проверке для автоматизированного машинного обучения, 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