Схема YAML автоматизированного задания прогнозирования машинного обучения (CLI версии 2)
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
Исходная схема JSON можно найти по адресу https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json
Примечание.
Синтаксис YAML, описанный в этом документе, основан на схеме JSON для последней версии расширения ML CLI (версия 2). Этот синтаксис гарантированно работает только с последней версией расширения ML CLI (версия 2). Схемы для старых версий расширений можно найти по адресу https://azuremlschemasprod.azureedge.net/.
Синтаксис YAML
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
$schema |
строка | Расположение или URL-адрес для загрузки схемы YAML. Если пользователь использует расширение МАШИННОЕ ОБУЧЕНИЕ AZURE VS Code для создания YAML-файла, в том числе $schema в верхней части файла, пользователь может вызвать завершение схемы и ресурсов. |
||
compute |
строка | Необходимые. Имя вычислительной инфраструктуры AML для выполнения задания. Вычисление может быть ссылкой на существующий вычислительный компьютер в рабочей области. Примечание. Задания в конвейере не поддерживают "local" как compute . Здесь "локальный" означает, что вычислительный экземпляр, созданный в рабочей области Студия машинного обучения Azure пользователя. |
1. Шаблон [^azureml:<compute_name>] для использования существующих вычислений,2. 'local' Использование локального выполнения |
'local' |
limits |
объект | Представляет объект словаря, состоящий из ограничений конфигураций табличного задания автоматизированного машинного обучения. Ключ — это имя ограничения в контексте задания, а значение — ограничение. Сведения о свойствах этого объекта см . в ограничениях . |
||
name |
строка | Имя отправленного задания автоматизированного машинного обучения. Он должен быть уникальным для всех заданий в рабочей области. Если это не указано, Машинное обучение Azure автоматически создает GUID для имени. |
||
description |
строка | Описание задания автоматизированного машинного обучения. | ||
display_name |
строка | Имя задания, которое пользователь хочет отобразить в пользовательском интерфейсе студии. Он может быть не уникальным в рабочей области. Если это опущено, Машинное обучение Azure автоматически создает идентификатор прилагательного имени, доступный для чтения. | ||
experiment_name |
строка | Имя эксперимента. Эксперименты — это записи заданий обучения машинного обучения в Azure. Эксперименты содержат результаты выполнения, а также журналы, диаграммы и графы. Запись выполнения каждого задания организована в соответствии с соответствующим экспериментом на вкладке "Эксперименты" студии. |
Имя рабочего каталога, в котором он был создан | |
environment_variables |
объект | Объект словаря переменных среды, заданный в процессе выполнения команды. | ||
outputs |
объект | Представляет словарь выходных конфигураций задания. Ключ — это имя выходных данных в контексте задания, а значение — выходная конфигурация. Сведения о свойствах этого объекта см . в выходных данных задания. | ||
log_files |
объект | Объект словаря, содержащий журналы выполнения задания автоматизированного машинного обучения | ||
log_verbosity |
строка | Уровень детализации журнала для записи в файл журнала. Допустимые значения определяются в библиотеке ведения журналов Python. |
'not_set' , , 'debug' 'warning' 'info' 'error' ,'critical' |
'info' |
type |
const | Необходимые. Тип задания. |
automl |
automl |
task |
const | Необходимые. Тип выполняемой задачи автоматизированного машинного обучения. |
forecasting |
forecasting |
target_column_name |
строка | Необходимые. Представляет имя прогнозируемого столбца. Задание автоматизированного машинного обучения вызывает ошибку, если она не указана. |
||
featurization |
объект | Объект словаря, определяющий конфигурацию пользовательской признаков. Если она не создана, конфигурация автоматизированного машинного обучения применяет автоматическое определение признаков. См . описание свойств этого объекта. | ||
forecasting |
объект | Объект словаря, определяющий параметры задания прогнозирования. Сведения о свойствах этого объекта см . в прогнозе . | ||
n_cross_validations |
строка или целое число | Количество перекрестных проверок, выполняемых во время выбора модели или конвейера, если validation_data оно не указано.validation_data Если оба параметра не заданы или None не заданы, то задание автоматизированного машинного обучения по умолчанию устанавливает его в auto значение. Если этот параметр distributed_featurization включен и validation_data не указан, по умолчанию он имеет значение 2. |
'auto' , [int] |
None |
primary_metric |
строка | Метрика, которая автоматизированное машинное обучение оптимизирует выбор модели прогнозирования временных рядов. Если allowed_training_algorithms для обучения используется "tcn_forecaster", автоматизированное машинное обучение поддерживается только в "normalized_root_mean_squared_error" и "normalized_mean_absolute_error", которые будут использоваться в качестве primary_metric. |
"spearman_correlation" , , "normalized_root_mean_squared_error" "r2_score" "normalized_mean_absolute_error" |
"normalized_root_mean_squared_error" |
training |
объект | Объект словаря, определяющий конфигурацию, используемую в обучении модели. Проверьте обучение , чтобы узнать свойства этого объекта. |
||
training_data |
объект | Обязательный Объект словаря, содержащий конфигурацию MLTable, определяющую обучающие данные, которые будут использоваться в качестве входных данных для обучения модели. Эти данные являются подмножеством данных и должны состоять как из независимых функций, так и столбцов и целевых компонентов или столбцов. Пользователь может использовать зарегистрированный MLTable в рабочей области с помощью формата ":" (например, Input(mltable='my_mltable:1')) ИЛИ может использовать локальный файл или папку в качестве MLTable(например, Input(mltable=MLTable(local_path="./data")). Этот объект должен быть предоставлен. Если целевая функция отсутствует в исходном файле, автоматизированное машинное обучение выдает ошибку. Проверьте данные обучения или проверки или проверки, чтобы узнать свойства этого объекта. |
||
validation_data |
объект | Объект словаря, содержащий конфигурацию MLTable, определяющую данные проверки, которые будут использоваться в эксперименте автоматизированного машинного обучения для перекрестной проверки. Он должен состоять из независимых функций, столбцов и целевых компонентов или столбцов, если этот объект указан. Примеры в обучающих данных и данных проверки не могут перекрываться в свертке. Ознакомьтесь с данными для обучения или проверки или проверки, чтобы узнать свойства этого объекта. В случае, если этот объект не определен, автоматизированное машинное обучение использует для n_cross_validations разделения данных проверки от обучающих данных, определенных в training_data объекте. |
||
test_data |
объект | Объект словаря, содержащий конфигурацию MLTable, определяющую тестовые данные, которые будут использоваться в тестовом запуске для прогнозирования в использовании оптимальной модели и оценивает модель с помощью определенных метрик. Он должен состоять только из независимых функций, используемых в обучающих данных (без целевой функции), если этот объект предоставлен. Проверьте данные обучения или проверки или проверки, чтобы узнать свойства этого объекта. Если он не указан, автоматизированное машинное обучение использует другие встроенные методы, чтобы предложить лучшую модель для вывода. |
ограничения
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
enable_early_termination |
boolean | Указывает, следует ли включить завершение эксперимента, если оценка потери не улучшается после числа итераций x. В задании автоматизированного машинного обучения при первом 20 итерации не применяется ранняя остановка. Начальная остановка окна начинается только после первых 20 итераций. |
true , false |
true |
max_concurrent_trials |
integer | Максимальное количество испытаний (дочерних заданий), которые будут выполняться параллельно. Настоятельно рекомендуется задать число параллельных запусков в количестве узлов в кластере (вычисление aml, определенное в compute ). |
1 |
|
max_trials |
integer | Представляет максимальное количество проб, выполняемых заданием автоматизированного машинного обучения, может попытаться запустить алгоритм обучения с различным сочетанием гиперпараметров. Значение по умолчанию равно 1000. Если enable_early_termination задано, то количество проб, используемых для запуска алгоритмов обучения, может быть меньше. |
1000 |
|
max_cores_per_trial |
integer | Представляет максимальное количество ядер для каждого доступного для использования каждой пробной версией. Значение по умолчанию имеет значение -1, что означает, что все ядра используются в процессе. | -1 |
|
timeout_minutes |
integer | Максимальное время в минутах, которое может занять отправленное задание автоматизированного машинного обучения. По истечении указанного периода времени задание завершается. Это время ожидания включает настройку, признаки, учебные запуски, ensembling и объяснимость модели (при условии предоставления) всех проб. Обратите внимание, что он не включает ensembling и объясняемость модели выполняется в конце процесса, если задание не сможет завершиться в рамках предоставленных timeout_minutes функций, так как эти функции доступны после завершения всех пробных версий (дочерних заданий). Значение по умолчанию — 360 минут (6 часов). Чтобы указать время ожидания меньше или равно 1 часу (60 минут), пользователь должен убедиться, что размер набора данных не превышает 10 000 000 (столбец времени строк) или результаты ошибки. |
360 |
|
trial_timeout_minutes |
integer | Максимальное время в минутах, в течение которых каждая пробная версия (дочернее задание) в отправленном задании автоматизированного машинного обучения может выполняться. После указанного периода времени дочернее задание будет завершено. | 30 |
|
exit_score |
с плавающей запятой | Оценка для достижения экспериментом. Эксперимент завершается после достижения указанной оценки. Если не указано (без условий), эксперимент выполняется до тех пор, пока не будет выполнен дальнейший ход выполнения определенного primary metric объекта. |
прогноз
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
time_column_name |
строка | Обязательный Имя столбца в наборе данных, соответствующего оси времени каждого временных рядов. Входной набор данных для обучения, проверки или тестирования должен содержать этот столбец, если задача имеет значение forecasting . Если задание прогнозирования автоматизированного машинного обучения не задано или None не задано, вызывает ошибку и завершает эксперимент. |
||
forecast_horizon |
строка или целое число | Максимальный горизонт прогнозирования в единицах частоты временных рядов. Эти единицы основаны на выводном интервале времени данных обучения (например, ежемесячно, еженедельно), который прогнозировщик использует для прогнозирования. Если для него задано значение None или auto значение по умолчанию имеет значение 1, то есть значение t+1 из последней метки времени в входных данных. |
auto , [int] |
1 |
frequency |
строка | Частота, с которой нужно создание прогноза, например ежедневно, еженедельно, ежегодно и т. д. Если значение по умолчанию не задано или не задано, его значение по умолчанию выводится из индекса времени набора данных. Пользователь может задать его значение больше, чем вычисленная частота набора данных, но не меньше. Например, если частота набора данных является ежедневной, она может принимать такие значения, как ежедневно, еженедельно, ежемесячно, но не почасово, как почасово меньше, чем ежедневно(24 часа). Дополнительные сведения см. в документации по pandas. |
None |
|
time_series_id_column_names |
string или list(strings) | Имена столбцов в данных, которые будут использоваться для группировки данных в несколько временных рядов. Если time_series_id_column_names не определен или задано значение None, автоматизированное машинное обучение использует логику автоматического обнаружения для обнаружения столбцов. | None |
|
feature_lags |
строка | Представляет, требуется ли пользователю автоматически создавать задержки для предоставленных числовых функций. По умолчанию задано значение auto , то есть автоматизированное машинное обучение использует эвристики на основе автозамены для автоматического выбора заказов на задержку и создания соответствующих функций задержки для всех числовых функций. "Нет" означает, что задержки не создаются для любых числовых функций. |
'auto' , None |
None |
country_or_region_for_holidays |
строка | Страна или регион, которые будут использоваться для создания функций отдыха. Эти символы должны представляться в двухбуквенный код страны или региона ISO 3166, например "US" или "GB". Список кодов ISO можно найти по адресу https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. | None |
|
cv_step_size |
строка или целое число | Количество периодов между origin_time одного свертывания cv и следующего свертывания. Например, если для ежедневных данных задано значение 3, время источника для каждого свертывания составляет три дня. Если для него задано значение None или не указано, по умолчанию он установлен auto . Если он имеет целочисленный тип, минимальное значение может занять 1, оно вызывает ошибку. |
auto , [int] |
auto |
seasonality |
строка или целое число | Сезонность временных рядов в виде целого числа, кратного частоты ряда. Если сезонность не указана, его значение имеет значение, то есть оно автоматически выводится 'auto' автоматизированным машинным обучением. Если этот параметр не задан None , автоматизированное машинное обучение принимает временные ряды как не сезонные, что эквивалентно настройке его в качестве целочисленного значения 1. |
'auto' , [int] |
auto |
short_series_handling_config |
строка | Представляет, как автоматизированное машинное обучение должно обрабатывать короткие временные ряды при указании. Он принимает следующие значения:
|
'auto' , , 'pad' 'drop' None |
auto |
target_aggregate_function |
строка | Представляет агрегатную функцию, используемую для агрегирования целевого столбца в временных рядах и создания прогнозов с указанной частотой (определенной в freq ). Если этот параметр задан, но freq параметр не задан, возникает ошибка. Он опущен или задан в значение None, а агрегирование не применяется. |
'sum' , , 'max' 'min' 'mean' |
auto |
target_lags |
string или integer или list(integer) | Количество прошлых и исторических периодов, используемых для задержки от целевых значений на основе частоты набора данных. По умолчанию этот параметр отключен. Этот 'auto' параметр позволяет системе использовать автоматическую эвристическую задержку. Это свойство задержки следует использовать, если связь между независимыми переменными и зависимыми переменными не коррелирует по умолчанию. Дополнительные сведения см. в разделе "Отложенные функции" для прогнозирования временных рядов в автоматизированном машинном обучении. |
'auto' , [int] |
None |
target_rolling_window_size |
строка или целое число | Количество прошлых наблюдений, используемых для создания скользящего среднего окна целевого столбца. При прогнозировании этот параметр представляет n исторических периодов, используемых для создания прогнозируемых значений, <= размера обучающего набора. Если этот параметр не задан, n принимается равным полному размеру набора для обучения. Этот параметр следует задавать в том случае, если при обучении модели нужно учитывать только определенный объем данных за предыдущие периоды. | 'auto' целое число None |
None |
use_stl |
строка | Компоненты, создаваемые путем применения распаковки STL в временных рядах. Если не задано или задано значение None, компонент временных рядов не создается. use_stl может принимать два значения: 'season' : для создания компонента сезона. 'season_trend' : для создания компонентов автоматического машинного обучения и тренда в сезоне. |
'season' , 'seasontrend' |
None |
обучение или проверка или проверка данных
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
datastore |
строка | Имя хранилища данных, в котором данные отправляются пользователем. | ||
path |
строка | Путь от места загрузки данных. Это может быть file путь, folder путь или pattern пути. pattern задает шаблон поиска, позволяющий разрешать глоббинг (* и ** ) файлов и папок, содержащих данные. Поддерживаются следующие типы URI: azureml , https , wasbs , abfss и adl . Дополнительные сведения см. в разделе "Основной синтаксис yaml", чтобы понять, как использовать azureml:// формат URI. URI расположения файла артефакта. Если этот URI не содержит схему (например, http:, azureml: и т. д.), то он считается локальной ссылкой и файлом, на который он указывает, передается в хранилище BLOB-объектов рабочей области по умолчанию при создании сущности. |
||
type |
const | Тип входных данных. Чтобы создать модели компьютерного зрения, пользователю необходимо перенести помеченные данные изображения в качестве входных данных для обучения моделей в виде MLTable. | mltable |
mltable |
обучающие
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
allowed_training_algorithms |
list(string) | Список алгоритмов прогнозирования временных рядов, которые можно попробовать в качестве базовой модели для обучения модели в эксперименте. Если он опущен или задан в значение None, все поддерживаемые алгоритмы используются во время эксперимента, за исключением алгоритмов, указанных в blocked_training_algorithms . |
'auto_arima' , 'prophet' , 'naive' 'seasonal_naive' 'average' 'seasonal_average' 'exponential_smoothing' 'arimax' 'tcn_forecaster' 'elastic_net' 'gradient_boosting' 'decision_tree' 'knn' 'lasso_lars' 'sgd' 'random_forest' 'extreme_random_trees' 'light_gbm' 'xg_boost_regressor' |
None |
blocked_training_algorithms |
list(string) | Список алгоритмов прогнозирования временных рядов, которые не выполняются в качестве базовой модели во время обучения модели в эксперименте. Если он опущен или задан в значение None, то во время обучения модели используются все поддерживаемые алгоритмы. | 'auto_arima' 'sgd' , 'prophet' 'naive' 'seasonal_naive' 'average' 'seasonal_average' 'exponential_smoothing' 'arimax' 'tcn_forecaster' 'elastic_net' 'gradient_boosting' 'decision_tree' 'knn' 'lasso_lars' 'random_forest' 'extreme_random_trees' 'light_gbm' 'xg_boost_regressor' |
None |
enable_dnn_training |
boolean | Флаг для включения или отключения включения моделей на основе DNN, чтобы попробовать во время выбора модели. | True , False |
False |
enable_model_explainability |
boolean | Представляет флаг для включения объяснимости модели, например важности признаков, оптимальной модели, оцененной системой автоматизированного машинного обучения. | True , False |
True |
enable_vote_ensemble |
boolean | Флаг для включения или отключения ensembling некоторых базовых моделей с помощью алгоритма голосования. Дополнительные сведения об ансамблях см. в разделе "Настройка автообузда". | true , false |
true |
enable_stack_ensemble |
boolean | Флаг для включения или отключения ensembling некоторых базовых моделей с помощью алгоритма стека. В задачах прогнозирования этот флаг отключен по умолчанию, чтобы избежать рисков переподбора из-за небольшого набора обучения, используемого в настройке метаобучения. Дополнительные сведения об ансамблях см. в разделе "Настройка автообузда". | true , false |
false |
featurization
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
mode |
строка | Режим признаков, используемый заданием автоматизированного машинного обучения. Чтобы задать его значение, выполните следующие действия. 'auto' указывает, следует ли автоматически выполнять этап определения признаков.'off' указывает, следует ли использовать настраиваемую инициализацию<'custom' признаков. Примечание. Если входные данные являются разреженными, включить конструирование признаков невозможно. |
'auto' , , 'off' 'custom' |
None |
blocked_transformers |
list(string) | Список имен преобразователей, которые будут заблокированы во время этапа определения признаков автоматическим машинным обучением, если для mode признаков задано значение custom. |
'text_target_encoder' , 'one_hot_encoder' , 'cat_target_encoder' 'tf_idf' 'wo_e_target_encoder' 'label_encoder' 'word_embedding' 'naive_bayes' 'count_vectorizer' 'hash_one_hot_encoder' |
None |
column_name_and_types |
объект | Объект словаря, состоящий из имен столбцов в виде ключа дикта и типов компонентов, используемых для обновления назначения столбца в качестве связанного значения, если для признаков mode задано значение custom. |
||
transformer_params |
объект | Вложенный объект словаря, состоящий из имени преобразователя в качестве ключа и соответствующих параметров настройки для столбцов набора данных для признаков, если для признаков mode задано значение custom.Прогнозирование поддерживает imputer только преобразователь для настройки.Ознакомьтесь с column_transformers, чтобы узнать, как создать параметры настройки. |
None |
column_transformers
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
fields |
list(string) | Список имен столбцов, к которым необходимо применить указанные transformer_params имена. |
||
parameters |
объект | Объект словаря, состоящий из "стратегии" в качестве ключа и значения в качестве стратегии инициации. Дополнительные сведения о том, как его можно предоставить, приведены в примерах здесь. |
Выходные данные задания
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
type |
строка | Тип выходных данных для задания. Для типа по умолчанию uri_folder выходные данные соответствуют папке. |
uri_folder , , mlflow_model custom_model |
uri_folder |
mode |
строка | Режим доставки выходных файлов в целевое хранилище. Для режима подключения чтения и записи (rw_mount ) выходной каталог является подключенным каталогом. В режиме отправки записанные файлы отправляются в конце задания. |
rw_mount , upload |
rw_mount |
Запуск задания прогнозирования с помощью ИНТЕРФЕЙСА командной строки
az ml job create --file [YOUR_CLI_YAML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Краткие ссылки для получения дополнительной справки:
- Установка и использование интерфейса командной строки (версия 2)
- Запуск задания автоматизированного машинного обучения с помощью ИНТЕРФЕЙСА командной строки
- Как автообучить прогнозы
- Примеры прогнозирования интерфейса командной строки:
Прогнозирование продаж апельсинового сока
Прогнозирование спроса на энергию
Прогнозирование спроса на велосипеде
Прогноз ежедневных активных пользователей GitHub