Схема YAML задания автоматического прогнозирования в CLI (версия 2)

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение ML для 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

Ключ Тип Описание Допустимые значения Значение по умолчанию
$schema строка Расположение или URL-адрес для загрузки схемы YAML.
Если пользователь использует расширение VS Code Машинного обучения Azure для создания файла YAML, в том числе $schema в верхней части файла, пользователь может вызывать завершение схемы и ресурсов.
compute строка Обязательный.
Имя вычислительной инфраструктуры AML для выполнения задания.
Вычисление может быть ссылкой на существующий вычислительный компьютер в рабочей области.
Примечание. Задания в конвейере не поддерживают "local" как compute. Local здесь означает, что вычислительный экземпляр, созданный в рабочей области Студия машинного обучения Azure пользователя.
1. шаблон [^azureml:<compute_name>] для использования существующих вычислений,
2.'local' Использование локального выполнения
'local'
limits object Представляет объект словаря, состоящий из конфигураций ограничений табличного задания Автоматизированного машинного обучения.
Ключ — это имя предела в контексте задания, а значение — значение ограничения. Сведения о свойствах этого объекта см. в разделе Ограничения .
name строка Имя отправленного задания автоматизированного машинного обучения.
Он должен быть уникальным для всех заданий в рабочей области. Если значение не указано, Машинное обучение Azure автоматически создает GUID для имени.
description строка Описание задания автоматизированного машинного обучения.
display_name строка Имя задания, которое пользователь хочет отобразить в пользовательском интерфейсе студии. Он может быть неуникальным в пределах рабочей области. Если он не указан, Машинное обучение Azure автоматически создает удобочитаемый идентификатор прилагательного-существительного для отображаемого имени.
experiment_name строка Имя эксперимента.
Эксперименты — это записи заданий обучения машинного обучения в Azure. Эксперименты содержат результаты выполнения, а также журналы, диаграммы и графики. Запись о выполнении каждого задания организована в соответствующем эксперименте на вкладке "Эксперименты" студии.
Имя рабочего каталога, в котором он был создан
environment_variables object Объект словаря переменных среды для задания в процессе, в котором выполняется команда.
outputs object Представляет словарь выходных конфигураций задания. Ключ — это имя выходных данных в контексте задания, а значение — выходная конфигурация. Просмотрите выходные данные задания , чтобы узнать свойства этого объекта.
log_files object Объект словаря, содержащий журналы выполнения задания автоматизированного машинного обучения.
log_verbosity строка Уровень детализации журнала для записи в файл журнала.
Допустимые значения определяются в библиотеке ведения журнала Python.
'not_set', 'debug', 'info', 'warning', 'error', 'critical' 'info'
type const Обязательный.
Тип задания.
automl automl
task const Обязательный.
Тип выполняемой задачи автоматизированного машинного обучения.
forecasting forecasting
target_column_name строка Обязательный.
Представляет имя прогнозируемого столбца. Если задание автоматизированного машинного обучения не указано, возникает ошибка.
featurization object Объект словаря, определяющий конфигурацию пользовательского конструирования признаков. Если она не создана, в конфигурации Автоматизированного машинного обучения применяется автоматическое конструирование признаков. Сведения о свойствах этого объекта см. в разделе Конструирование признаков .
forecasting object Объект словаря, определяющий параметры задания прогнозирования. Сведения о свойствах этого объекта см. в разделе Прогнозирование .
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 object Объект словаря, определяющий конфигурацию, используемую при обучении модели.
Проверьте обучение , чтобы узнать свойства этого объекта.
training_data object Обязательно
Объект словаря, содержащий конфигурацию MLTable, определяющую обучающие данные, которые будут использоваться в качестве входных данных для обучения модели. Эти данные являются подмножеством данных и должны состоять как из независимых признаков/столбцов, так и из целевого компонента или столбца. Пользователь может использовать зарегистрированную таблицу MLTable в рабочей области в формате ":" (например, Input(mltable='my_mltable:1')) ИЛИ может использовать локальный файл или папку в качестве MLTable(например, Input(mltable=MLTable(local_path="./data")). Этот объект должен быть указан. Если целевой компонент отсутствует в исходном файле, автоматизированное машинное обучение выдает ошибку. Проверьте данные для обучения, проверки или тестирования, чтобы узнать свойства этого объекта.
validation_data object Объект словаря, содержащий конфигурацию MLTable, определяющую данные проверки, которые будут использоваться в эксперименте автоматизированного машинного обучения для перекрестной проверки. Он должен состоять как из независимых признаков или столбцов, так и из целевого компонента или столбца, если этот объект предоставлен. Примеры в обучающих и проверочных данных не могут перекрываться в сгибе.
Чтобы узнать свойства этого объекта, ознакомьтесь с данными для обучения, проверки или тестирования . Если этот объект не определен, автоматизированное машинное обучение использует для n_cross_validations разделения проверочных данных из обучающих данных, определенных в объекте training_data .
test_data object Объект словаря, содержащий конфигурацию MLTable, определяющий тестовые данные, которые будут использоваться в тестовом запуске для прогнозирования при использовании оптимальной модели, и оценивает модель с использованием определенных метрик. Он должен состоять только из независимых признаков, используемых в обучающих данных (без целевого компонента), если этот объект предоставлен.
Проверьте данные для обучения, проверки или тестирования, чтобы узнать свойства этого объекта. Если она не указана, автоматизированное машинное обучение использует другие встроенные методы, чтобы предложить оптимальную модель для вывода.

ограничения

Ключ Тип Описание Допустимые значения Значение по умолчанию
enable_early_termination Логическое Указывает, следует ли включить завершение эксперимента, если оценка потерь не улучшается после количества итераций "x".
В задании автоматизированного машинного обучения в первых 20 итерациях не применяется к ранней остановке. Окно ранней остановки начинается только после первых 20 итераций.
true, false true
max_concurrent_trials Целое число Максимальное число испытаний (дочерних заданий), которые будут выполняться параллельно. Настоятельно рекомендуется задать количество одновременных запусков в соответствии с количеством узлов в кластере (вычисление AML, определенное в compute). 1
max_trials Целое число Представляет максимальное количество испытаний, которые задание автоматизированного машинного обучения может попытаться запустить алгоритм обучения с различным сочетанием гиперпараметров. Значение по умолчанию равно 1000. Если enable_early_termination параметр определен, количество проб, используемых для запуска алгоритмов обучения, может быть меньше. 1000
max_cores_per_trial Целое число Представляет максимальное количество ядер, доступных для использования в каждой пробной версии. Значение по умолчанию равно -1, что означает, что в процессе используются все ядра. -1
timeout_minutes Целое число Максимальное время в минутах, которое может занять выполнение отправленного задания автоматизированного машинного обучения. По истечении указанного периода времени задание завершается. Это время ожидания включает настройку, конструирование признаков, запуски обучения, ensembling и объяснимость модели (если они предоставлены) всех проб.
Обратите внимание, что он не включает в себя запуски ensembling и возможности объяснения модели в конце процесса, если задание не может быть завершено timeout_minutes в предоставленном виде, так как эти функции становятся доступны после завершения всех пробных версий (дочерних заданий).
Значение по умолчанию — 360 минут (6 часов). Чтобы указать время ожидания меньше или равное 1 часу (60 минутам), пользователь должен убедиться, что размер набора данных не превышает 10 000 000 (столбец времени строк) или получить ошибку.
360
trial_timeout_minutes Целое число Максимальное время в минутах, в течение которых может выполняться каждая пробная версия (дочернее задание) в отправленном задании автоматизированного машинного обучения. Через указанное время дочернее задание будет завершено. 30
exit_score FLOAT Оценка, достигаемая экспериментом. Эксперимент завершается после достижения указанной оценки. Если не указано (без критериев), эксперимент выполняется до тех пор, пока не будет выполнен дальнейший прогресс в заданном primary metricобъекте .

прогноз

Ключ Тип Описание Допустимые значения Значение по умолчанию
time_column_name строка Обязательно
Имя столбца в наборе данных, соответствующее оси времени каждого временного ряда. Входной набор данных для обучения, проверки или тестирования должен содержать этот столбец, если задача имеет значение forecasting. Если не указано или задано значение None, задание прогнозирования автоматизированного машинного обучения выдает ошибку и завершает эксперимент.
forecast_horizon строка или целое число Максимальный горизонт прогноза в единицах частоты временных рядов. Эти единицы основаны на выводимом интервале времени обучающих данных (например, ежемесячно, еженедельно), который синоптик использует для прогнозирования. Если задано значение None или auto, то значение по умолчанию равно 1, что означает "t+1" из последней метки времени t во входных данных. auto, [int] 1
frequency строка Частота, с которой необходимо генерирование прогноза, например ежедневно, еженедельно, ежегодно и т. д.
Если он не указан или имеет значение None, значение по умолчанию выводится из индекса времени набора данных. Пользователь может задать значение, превышающее вычисленную частоту набора данных, но не меньше. Например, если частота набора данных является ежедневной, она может принимать такие значения, как ежедневно, еженедельно, ежемесячно, но не ежечасно, так как ежечасно меньше ежедневно (24 часа).
Дополнительные сведения см. в документации по pandas .
None
time_series_id_column_names string или list(strings) Имена столбцов в данных, используемых для группировки данных в несколько временных рядов. Если time_series_id_column_names не определен или имеет значение Нет, автоматизированное машинное обучение использует логику автоматического обнаружения для обнаружения столбцов. None
feature_lags строка Представляет, хочет ли пользователь автоматически создавать задержки для предоставленных числовых признаков. По умолчанию установлено значение auto, то есть автоматизированное машинное обучение использует эвристические средства на основе автозамены для автоматического выбора заказов на задержку и создания соответствующих признаков задержки для всех числовых признаков. "Нет" означает, что для каких-либо числовых признаков не создаются задержки. 'auto', None None
country_or_region_for_holidays строка Страна или регион, которые будут использоваться для создания праздничных функций. Эти символы должны быть представлены в двухбуквенный код страны или региона ISO 3166, например "США" или "ГБ". Список кодов ISO можно найти по адресу https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. None
cv_step_size строка или целое число Количество периодов между origin_time одной свертки CV и следующей. Например, если для ежедневных данных задано значение 3, время начала каждой свертки составляет три дня друг от друга. Если задано значение Нет или не указано, по умолчанию устанавливается значение auto . Если он имеет целочисленный тип, минимальное значение, которое может занять 1, иначе это вызывает ошибку. auto, [int] auto
seasonality строка или целое число Сезонность временных рядов в виде целого числа, кратного частоте ряда. Если сезонность не указана, ее значение устанавливается 'auto'в значение , то есть автоматически выводится автоматизированным машинным обучением. Если для этого параметра не задано значение None, автоматизированное машинное обучение принимает временные ряды как не сезонные, что эквивалентно присвоению им целочисленного значения 1. 'auto', [int] auto
short_series_handling_config строка Представляет, как автоматизированное машинное обучение должно обрабатывать короткие временные ряды, если указано. Он принимает следующие значения:
  • 'auto' : короткий ряд заполняется, если длинные ряды отсутствуют, в противном случае короткие ряды удаляются.
  • 'pad': все короткие ряды заполняются нулями.
  • 'drop': все короткие ряды удаляются.
  • None: короткий ряд не изменен.
    'auto', 'pad', 'drop', None auto
    target_aggregate_function строка Представляет агрегатную функцию, используемую для агрегирования целевого столбца во временных рядах и формирования прогнозов с указанной частотой (определенной в freq). Если этот параметр задан, но freq параметр не задан, возникает ошибка. Он опущен или имеет значение Нет, а затем агрегирование не применяется. 'sum', 'max', 'min', 'mean' auto
    target_lags string или integer или list(integer) Количество прошлых или исторических периодов, используемых для отставания от целевых значений в зависимости от частоты набора данных. По умолчанию этот параметр отключен. Параметр 'auto' позволяет системе использовать автоматическую эвристическую задержку.
    Это свойство задержки следует использовать, если связь между независимыми переменными и зависимой переменными не коррелирует по умолчанию. Дополнительные сведения см. в разделе Отложенные функции прогнозирования временных рядов в автоматизированном ml.
    'auto', [int] None
    target_rolling_window_size строка или целое число Количество прошлых наблюдений, используемых для создания скользящего среднего окна целевого столбца. При прогнозировании этот параметр представляет n исторических периодов, используемых для создания прогнозируемых значений, <= размер набора данных для обучения. Если этот параметр не задан, n принимается равным полному размеру набора для обучения. Этот параметр следует задавать в том случае, если при обучении модели нужно учитывать только определенный объем данных за предыдущие периоды. 'auto'Целое число None None
    use_stl строка Компоненты, создаваемые путем применения декомпозиции STL к временным рядам. Если параметр не указан или имеет значение Нет, компонент временных рядов не создается.
    use_stl может принимать два значения:
    'season' : для создания компонента сезона.
    'season_trend' : для создания компонентов автоматического машинного обучения сезона и тренда.
    'season', 'seasontrend' None

    данные для обучения, проверки или тестирования

    Ключ Тип Описание Допустимые значения Значение по умолчанию
    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

    обучение

    Ключ Тип Описание Допустимые значения Значение по умолчанию
    allowed_training_algorithms list(string) Список алгоритмов прогнозирования временных рядов, которые можно опробовать в качестве базовой модели для обучения модели в эксперименте. Если он опущен или имеет значение Нет, то во время эксперимента используются все поддерживаемые алгоритмы, кроме алгоритмов, указанных в 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) Список алгоритмов прогнозирования временных рядов, которые не запускаются в качестве базовой модели во время обучения модели в эксперименте. Если параметр опущен или имеет значение Нет, то во время обучения модели используются все поддерживаемые алгоритмы. '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
    enable_dnn_training Логическое Флаг для включения или отключения включения моделей на основе DNN, чтобы опробовать их во время выбора модели. True, False False
    enable_model_explainability Логическое Представляет флаг для включения объяснимости модели, например важности признаков, лучшей модели, оцениваемой системой автоматизированного машинного обучения. True, False True
    enable_vote_ensemble Логическое Флаг для включения или отключения ensembling некоторых базовых моделей с помощью алгоритма голосования. Дополнительные сведения об ансамбле см. в разделе Настройка автоматического поезда. true, false true
    enable_stack_ensemble Логическое Флаг для включения или отключения ensembling некоторых базовых моделей с помощью алгоритма стеков. В задачах прогнозирования этот флаг по умолчанию отключен, чтобы избежать риска переобучения из-за небольшого набора для обучения, используемого для установки метаобучения. Дополнительные сведения об ансамбле см. в разделе Настройка автоматического поезда. true, false false

    конструирование признаков

    Ключ Тип Описание Допустимые значения Значение по умолчанию
    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 object Объект словаря, состоящий из имен столбцов в качестве ключа дикта и типов признаков, используемых для обновления назначения столбца как связанного значения, если для конструирования mode признаков задано значение custom.
    transformer_params object Вложенный объект словаря, состоящий из имени преобразователя в качестве ключа и соответствующих параметров настройки для столбцов набора данных для конструирования признаков, если для конструирования mode признаков задано значение custom.
    Прогнозирование поддерживает imputer только преобразователь для настройки.
    Ознакомьтесь с column_transformers , чтобы узнать, как создавать параметры настройки.
    None

    column_transformers

    Ключ Тип Описание Допустимые значения Значение по умолчанию
    fields list(string) Список имен столбцов, к которым необходимо применить указанные столбцы transformer_params .
    parameters object Объект словаря, состоящий из "strategy" в качестве ключа и значения в качестве стратегии вменения.
    Дополнительные сведения о том, как его можно предоставить, приведены в примерах здесь.

    Выходные данные задания

    Ключ Тип Описание Допустимые значения Значение по умолчанию
    type строка Тип выходных данных для задания. Для типа по умолчанию uri_folder выходные данные соответствуют папке. uri_folder , mlflow_model, custom_model uri_folder
    mode строка Режим доставки выходных файлов в целевое хранилище. В режиме подключения для чтения и записи (rw_mount) выходной каталог является подключенным каталогом. В режиме отправки записанные файлы отправляются в конце задания. rw_mount, upload rw_mount

    Запуск задания прогнозирования с помощью CLI

    az ml job create --file [YOUR_CLI_YAML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]