Поделиться через


Схема 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', , '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_modelcustom_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]