ForecastingJob Класс
Настройка задачи прогнозирования AutoML.
Инициализируйте новую задачу прогнозирования AutoML.
- Наследование
-
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabularForecastingJob
Конструктор
ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)
Параметры
Методы
dump |
Помещает содержимое задания в файл в формате YAML. |
set_data |
Определите конфигурацию данных. |
set_featurization |
Определите конфигурацию конструирования признаков. |
set_forecast_settings |
Управление параметрами, используемыми задачами прогнозирования. |
set_limits |
Задайте ограничения для задания. |
set_training |
Метод для настройки параметров, связанных с обучением прогнозирования. |
dump
Помещает содержимое задания в файл в формате YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Параметры
Локальный путь или файловый поток для записи содержимого YAML. Если dest — это путь к файлу, будет создан новый файл. Если dest является открытым файлом, файл будет записан в напрямую.
- kwargs
- dict
Дополнительные аргументы для передачи сериализатору YAML.
Исключения
Возникает, если dest является путем к файлу и файл уже существует.
Возникает, если dest является открытым файлом и файл недоступен для записи.
set_data
Определите конфигурацию данных.
set_data(*, training_data: Input, target_column_name: str, weight_column_name: str | None = None, validation_data: Input | None = None, validation_data_size: float | None = None, n_cross_validations: str | int | None = None, cv_split_column_names: List[str] | None = None, test_data: Input | None = None, test_data_size: float | None = None) -> None
Параметры
- training_data
- Input
Обучающие данные.
- target_column_name
- str
Имя целевого столбца.
Исключения
Возникает, если dest является путем к файлу и файл уже существует.
Возникает, если dest является открытым файлом и файл недоступен для записи.
set_featurization
Определите конфигурацию конструирования признаков.
set_featurization(*, blocked_transformers: List[BlockedTransformers | str] | None = None, column_name_and_types: Dict[str, str] | None = None, dataset_language: str | None = None, transformer_params: Dict[str, List[ColumnTransformer]] | None = None, mode: str | None = None, enable_dnn_featurization: bool | None = None) -> None
Параметры
- blocked_transformers
- Optional[List[Union[BlockedTransformers, str]]]
Список имен преобразователей, блокируемых во время создания признаков, по умолчанию — Нет.
Словарь имен столбцов и типов признаков, используемых для обновления назначения столбцов, по умолчанию имеет значение Нет.
Трехсимвой код ISO 639-3 для языков, содержащихся в наборе данных. Языки, отличные от английского, поддерживаются только при использовании вычислительных ресурсов с поддержкой GPU. Если набор данных содержит несколько языков, следует использовать language_code "mul". Чтобы найти коды ISO 639-3 для разных языков, см. раздел https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes, по умолчанию используется значение Нет.
- transformer_params
- Optional[Dict[str, List[ColumnTransformer]]]
Словарь преобразователя и соответствующих параметров настройки по умолчанию имеет значение Нет.
Указывает, следует ли включать методы проектирования признаков на основе DNN, по умолчанию используется значение Нет.
Исключения
Возникает, если dest является путем к файлу и файл уже существует.
Возникает, если dest является открытым файлом и файл недоступен для записи.
set_forecast_settings
Управление параметрами, используемыми задачами прогнозирования.
set_forecast_settings(*, time_column_name: str | None = None, forecast_horizon: str | int | None = None, time_series_id_column_names: str | List[str] | None = None, target_lags: str | int | List[int] | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, country_or_region_for_holidays: str | None = None, use_stl: str | None = None, seasonality: str | int | None = None, short_series_handling_config: str | None = None, frequency: str | None = None, target_aggregate_function: str | None = None, cv_step_size: int | None = None, features_unknown_at_forecast_time: str | List[str] | None = None) -> None
Параметры
Имя столбца времени. Это параметр требуется при прогнозировании, чтобы задать столбец даты и времени во входных данных, используемых для создания временного ряда и определения его периодичности.
- forecast_horizon
Максимальный требуемый горизонт прогнозирования в единицах периодичности временных рядов. Значение по умолчанию — 1.
Единицы измерения определяются на основе интервала времени данных обучения, например, месяц или неделя, на который следует составить прогноз. Если тип задачи — прогнозирование, этот параметр является обязательным. Дополнительные сведения о настройке параметров прогнозирования приведены в статье Автоматизированное обучение прогнозной модели временных рядов.
Имена столбцов, используемых для группировки временных рядов. Можно использовать для создания нескольких рядов. Если имена столбцов идентификаторов временных рядов не определены или указанные столбцы идентификаторов не идентифицируют все ряды в наборе данных, идентификаторы временных рядов будут созданы автоматически для набора данных.
- target_lags
Число периодов в прошлом, на которое должно быть определено запаздывание от целевого столбца. По умолчанию запаздывания отключены.
При прогнозировании этот параметр представляет количество строк для запаздывания от целевых значений в зависимости от частоты данных. Он представляется в виде списка или одного целого числа. Запаздывание следует использовать, когда связь между независимыми и зависимыми переменными не согласована или не коррелирует по умолчанию. Например, при попытке прогнозировать спрос на товар спрос за любой месяц может зависеть от цены на определенные товары тремя месяцами ранее. В этом примере может потребоваться запаздывание (отрицательное смещение) целевых значений (спроса) на три месяца, чтобы модель была обучена по правильной связи. Дополнительные сведения приведены в статье Автоматизированное обучение прогнозной модели временных рядов.
Обратите внимание на автоматическое определение размера запаздываний от целевых значений и скользящих интервалов. Просмотрите соответствующие комментарии в разделе, посвященном скользящим интервалам. Мы используем следующий алгоритм для определения оптимального размера запаздываний от целевых значений и скользящих интервалов.
Оцените максимальный порядок запаздываний для выбора функции ретроспективного анализа. В нашем случае это число периодов до следующего уровня детализации частоты дат. Например, если частота — раз в день, то значение будет равно неделе (7), а если частота — раз в неделю, значение будет равно месяцу (4). Значения, умноженные на два, являются максимальными для запаздываний и скользящих интервалов. В нашем примере мы будем рассматривать максимальный порядок запаздываний 14 и 8 соответственно.
Создайте ряд с неизменной сезонностью, добавив компоненты тренда и остатка. Этот ряд будет использоваться на следующем этапе.
Вычислите PACF (функцию частичной автоматической корреляции) на основе данных из (2) и выполните поиск точек, в которых значение автоматической корреляции является значимым, т. е. ее абсолютное значение больше 1,96/square_root (максимальное значение запаздывания), что соответствует значимости 95 %.
Если все точки значимы, сезонность считается строгой и функции ретроспективного анализа не создаются.
Мы проверяем значения PACF с самого начала. Значение, предшествующее первой незначимой автоматической корреляции, обозначает запаздывание. Если за первым значимым элементом (значение, коррелирующее само с собой) следует незначимый, запаздывание будет равно 0 и функции ретроспективного анализа не будут использоваться.
Флаг для создания запаздываний для числовых признаков с использованием значений auto и None.
Число периодов в прошлом, используемых для создания среднего значения скользящего интервала для целевого столбца.
При прогнозировании этот параметр представляет n исторических периодов, используемых для создания прогнозируемых значений, <= размер набора данных для обучения. Если этот параметр не задан, n принимается равным полному размеру набора для обучения. Этот параметр следует задавать в том случае, если при обучении модели нужно учитывать только определенный объем данных за предыдущие периоды. Если задано значение auto, скользящий интервал будет оцениваться как последнее значение, при котором PACF превышает порог значимости. Дополнительные сведения см. в разделе, посвященном target_lags.
Страна или регион, используемые для создания признаков праздников. Это должны быть двухбуквенные коды страны и региона по стандарту ISO 3166, например "US" или "GB".
- use_stl
Настройка декомпозиции STL для целевого столбца временных рядов. Параметр use_stl может принимать три значения: None (Нет) (по умолчанию) — без декомпозиции STL, season — создание только компонента сезона и season_trend — создание компонентов сезона и тенденции.
Задайте сезонность временного ряда в виде целого числа, кратного частоте ряда. Если для сезонности задано значение auto, она будет выводиться автоматически. Если задано значение None, временные ряды считаются несезонными, что эквивалентно значению сезонности 1.
- short_series_handling_config
Параметр, определяющий, как AutoML должно обрабатывать короткие временные ряды.
Возможные значения: "auto" (по умолчанию), "pad", "drop" и "None".
- авто короткие ряды будут заполнены, если нет длинных рядов,
В противном случае короткие ряды будут удалены.
- 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, соответственно).
Обработки
handlingconfiguration
результирующая обработка
результирующая конфигурацияhandling
True
auto
True
auto
True
Площадку
True
auto
True
drop
True
auto
True
Нет
Неверно
Нет
Неверно
авто
Неверно
Нет
Неверно
Площадку
Неверно
Нет
Неверно
drop
Неверно
Нет
Неверно
Нет
Неверно
Нет
- frequency
Частота прогнозирования.
При прогнозировании этот параметр представляет собой требуемый период составления прогноза, например, ежедневно, еженедельно, ежегодно и т. п. По умолчанию частота прогнозирования равна частоте набора данных. При необходимости можно задать для него значение больше (но не меньше) частоты набора данных. Мы агрегируем данные и сформируем результаты по частоте прогнозирования. Например, для ежедневных данных можно задать ежедневную, еженедельную или ежемесячную, но не ежечасную частоту прогнозирования. Частота должна быть псевдонимом смещения pandas. Дополнительные сведения приведены в документации по pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
- target_aggregate_function
Функция, используемая для агрегирования целевого столбца временных рядов в соответствии с заданной пользователем частотой. Если target_aggregation_function установлена, но параметр частоты не задан, возникает ошибка. Возможны следующие целевые функции агрегирования: "sum", "max", "min" и "mean".
значения целевого столбца агрегируются на основе указанной операции. Как правило, в большинстве ситуаций подходит операция "sum".
Числовые столбцы прогнозирования в данных агрегируются по сумме, среднему значению, минимальному и максимальному значению. В результате автоматизированное ML создает новые столбцы с суффиксом, соответствующим имени примененной функции агрегирования, и применяет к ним выбранную операцию агрегирования.
Для столбцов категориального прогноза данные агрегируются по моде — наиболее выраженной категории в окне.
Столбцы прогнозирования дат агрегируются по минимальному значению, максимальному значению и моде.
Частота
target_aggregation_function
Механизм исправления регулярности данных
Нет (по умолчанию)
Нет (по умолчанию)
Агрегат не применяется. Если не удается определить допустимую допустимость, будет вызвана ошибка.
Некоторое значение
Нет (по умолчанию)
Агрегат не применяется. Если число точек данных, соответствующих togiven frequencygrid, не является, то 90 %эти точки будут удалены, в противном случае возникает ошибка.
Нет (по умолчанию)
Статистическая функция
Ошибка aboutmissingfreququencyparameter israised.
Некоторое значение
Статистическая функция
Агрегирование редкости с помощьюprovidedaggregationfunction.
Количество периодов между origin_time одной свертки CV и следующей. Например, если n_step = 3 для ежедневных данных, то время создания каждой из сверток будет составлять три дня.
Столбцы признаков, доступные для обучения, но неизвестные на момент прогнозирования или вывода. Если для features_unknown_at_forecast_time задан пустой список, предполагается, что все столбцы признаков в наборе данных известны во время вывода. Если этот параметр не задан, поддержка будущих функций не включена.
Исключения
Возникает, если dest является путем к файлу и файл уже существует.
Возникает, если dest является открытым файлом и файл недоступен для записи.
set_limits
Задайте ограничения для задания.
set_limits(*, enable_early_termination: bool | None = None, exit_score: float | None = None, max_concurrent_trials: int | None = None, max_cores_per_trial: int | None = None, max_nodes: int | None = None, max_trials: int | None = None, timeout_minutes: int | None = None, trial_timeout_minutes: int | None = None) -> None
Параметры
Указывает, следует ли включить досрочное завершение, если оценка не улучшается в краткосрочной перспективе, по умолчанию используется значение Нет.
Логика ранней остановки:
К первым 20 итерациям (ориентирам) ранняя остановка не применяется.
Период возможности ранней остановки начинается с 21-й итерации и ищет early_stopping_n_iters итераций
(в настоящее время установлено значение 10). Это означает, что первая итерация, в которой может произойти остановка — 31-я.
AutoML по-прежнему планирует 2 итерации ансамбля после ранней остановки, что может привести к более высоким оценкам.
Ранняя остановка активируется, если абсолютное значение вычисленной наилучшей оценки остается неизменным для прошлых
итераций early_stopping_n_iters, то есть, если для итераций early_stopping_n_iters улучшения оценки не наблюдается.
Целевая оценка для эксперимента. При достижении этого показателя выполнение эксперимента завершается. Если значение не указано (без критериев), эксперимент выполняется до тех пор, пока показатель основной метрики не перестанет улучшаться. Дополнительные сведения о критериях выхода см. в этой статье , по умолчанию используется значение None.
Это максимальное число итераций, которые будут выполняться параллельно. Значение по умолчанию — 1.
- Кластеры AmlCompute поддерживают одну итерацию, выполняемую на каждом узле.
Для нескольких родительских выполнений экспериментов AutoML, запущенных параллельно в одном кластере AmlCompute, сумма значений max_concurrent_trials
для всех экспериментов не должна превышать максимальное количество узлов. В противном случае выполнения будут ставиться в очередь до тех пор, пока узлы не станут доступны.
- DSVM поддерживает несколько итераций на один узел.
max_concurrent_trials
Должны
значение меньше или равно количеству ядер в DSVM. Для параллельного выполнения нескольких экспериментов на одном DSVM, сумма значений max_concurrent_trials
для всех экспериментов должна быть меньше или равна максимальному количеству узлов.
- Databricks —
max_concurrent_trials
должно быть меньше или равно числу
рабочие узлы в Databricks.
max_concurrent_trials
не применяется к локальным выполнениям. Ранее этот параметр назывался concurrent_iterations
.
Максимальное количество потоков, используемых для заданной итерации обучения. Допустимые значения:
Больше 1, но не больше максимального количества ядер в целевом объекте вычислений.
Равно −1, что означает использование всех возможных ядер на итерацию для каждого дочернего выполнения.
Равно 1, значение по умолчанию.
[Экспериментальный] Максимальное количество узлов, используемых для распределенного обучения.
Для прогнозирования каждая модель обучается с помощью узлов max(2, int(max_nodes / max_concurrent_trials)).
Для классификации и регрессии каждая модель обучается с помощью max_nodes узлов.
Примечание. Этот параметр находится в общедоступной предварительной версии и может измениться в будущем.
Общее количество различных сочетаний алгоритмов и параметров для проверки во время эксперимента автоматизированного ML. Если значение не указано, по умолчанию используется 1000 итераций.
Максимальное количество времени в минутах, в течение которого могут быть пройдены все итерации до завершения эксперимента. Если значение не указано, время ожидания эксперимента по умолчанию составляет 6 дней. Чтобы указать время ожидания меньше или равное 1 часу, убедитесь, что размер набора данных не больше 10 000 000 (столбец времени строк) или в результатах ошибки по умолчанию задано значение Нет.
Максимальное время в минутах, в течение которого каждая итерация может выполняться до завершения. Если значение не указано, используется значение 1 месяц или 43200 минут, по умолчанию — Нет.
Исключения
Возникает, если dest является путем к файлу и файл уже существует.
Возникает, если dest является открытым файлом и файл недоступен для записи.
set_training
Метод для настройки параметров, связанных с обучением прогнозирования.
set_training(*, enable_onnx_compatible_models: bool | None = None, enable_dnn_training: bool | None = None, enable_model_explainability: bool | None = None, enable_stack_ensemble: bool | None = None, enable_vote_ensemble: bool | None = None, stack_ensemble_settings: StackEnsembleSettings | None = None, ensemble_model_download_timeout: int | None = None, allowed_training_algorithms: List[str] | None = None, blocked_training_algorithms: List[str] | None = None, training_mode: str | TrainingMode | None = None) -> None
Параметры
- enable_onnx_compatible_models
Следует ли включить или отключить принудительное применение моделей, совместимых с ONNX. Значение по умолчанию — False. Дополнительные сведения об Open Neural Network Exchange (ONNX) и Машинном обучении Azure приведены в этой статье.
Следует ли включать модели на основе DNN во время выбора модели. Однако для задач DNN NLP значением по умолчанию будет True, а для всех остальных задач AutoML — False.
- enable_model_explainability
Следует ли включить объяснение оптимальной модели AutoML в конце всех итераций обучения AutoML. Дополнительные сведения см. в статье Интерпретируемость: объяснения модели в автоматизированном машинном обучении. Значение по умолчанию — Нет.
- enable_stack_ensemble
Указывает, следует ли включить или отключить итерацию StackEnsemble. Если установлен флаг enable_onnx_compatible_models, то итерация StackEnsemble будет отключена. Аналогично, для задач временных рядов итерация StackEnsemble будет по умолчанию отключена во избежание рисков, связанных с чрезмерной лжевзаимосвязью из-за небольшого размера набора данных для обучения, используемого для подбора средства обучения по метаданным. Дополнительные сведения об ансамблях см. в разделе Конфигурация ансамбля , по умолчанию — Нет.
- enable_vote_ensemble
Указывает, следует ли включить или отключить итерацию VotingEnsemble. Дополнительные сведения об ансамблях см. в разделе Конфигурация ансамбля , по умолчанию — Нет.
- stack_ensemble_settings
- Optional[StackEnsembleSettings]
Параметры итерации StackEnsemble, по умолчанию — Нет.
Во время создания моделей VotingEnsemble и StackEnsemble скачиваются несколько подходящих моделей из предыдущих дочерних запусков. Настройте этот параметр с более высоким значением, чем 300 с. Если требуется больше времени, по умолчанию используется значение Нет.
Список имен моделей для поиска эксперимента. Если не указано, используются все модели, поддерживаемые для задачи, за вычетом всех указанных в blocked_training_algorithms
или нерекомендуемых моделях TensorFlow. По умолчанию используется значение None.
Список алгоритмов, которые следует игнорировать для эксперимента. По умолчанию используется значение Нет.
- training_mode
[Экспериментальный] Используемый режим обучения. Возможные значения:
distributed — обеспечивает распределенное обучение поддерживаемых алгоритмов.
non_distributed — отключает распределенное обучение.
auto — в настоящее время это то же самое, что и non_distributed. В будущем это может измениться.
Примечание. Этот параметр находится в общедоступной предварительной версии и может измениться в будущем.
Исключения
Возникает, если dest является путем к файлу и файл уже существует.
Возникает, если dest является открытым файлом и файл недоступен для записи.
Атрибуты
base_path
creation_context
Контекст создания ресурса.
Возвращаемое значение
Метаданные создания для ресурса.
Возвращаемый тип
featurization
Получение параметров табличного конструирования признаков для задания AutoML.
Возвращаемое значение
Параметры табличных признаков для задания AutoML
Возвращаемый тип
forecasting_settings
Возврат параметров прогноза.
Возвращаемое значение
параметры прогноза.
Возвращаемый тип
id
Идентификатор ресурса.
Возвращаемое значение
Глобальный идентификатор ресурса, идентификатор Azure Resource Manager (ARM).
Возвращаемый тип
inputs
limits
Получение табличных ограничений для задания AutoML.
Возвращаемое значение
Табличные ограничения для задания AutoML
Возвращаемый тип
log_files
Выходные файлы задания.
Возвращаемое значение
Словарь имен журналов и URL-адресов.
Возвращаемый тип
log_verbosity
Получите подробные сведения о журнале для задания AutoML.
Возвращаемое значение
Детализация журнала для задания AutoML
Возвращаемый тип
outputs
primary_metric
Возвращает основную метрику, используемую для выбора модели.
Возвращаемое значение
Основная метрика для выбора модели.
Возвращаемый тип
status
Состояние задания.
Обычно возвращаются значения Running (Выполняется), Completed (Завершено) и Failed (Сбой). Все возможные значения:
NotStarted — это временное состояние, в которое находятся клиентские объекты run до отправки в облако.
Starting — началась обработка запуска в облаке. На этом этапе вызывающий объект имеет идентификатор запуска.
Подготовка. Для отправки задания создается вычисление по запросу.
Подготовка — среда выполнения подготавливается и находится в одном из двух этапов:
Сборка образа Docker
настройка среды conda.
В очереди — задание помещается в очередь в целевом объекте вычислений. Например, в BatchAI задание находится в состоянии очереди.
ожидая готовности всех запрошенных узлов.
Выполнение — задание началось для выполнения в целевом объекте вычислений.
Завершение — выполнение пользовательского кода завершено, а выполнение выполняется в этапах постобработки.
CancelRequested — для задания запрошена отмена.
Завершено — выполнение выполнено успешно. Сюда входит выполнение пользовательского кода и выполнение.
пользовательского кода и запуска.
Failed — сбой запуска. Подробное описание причины как правило предоставляет свойство Error.
Canceled — применяется после запроса отмены и указывает, что выполнение теперь успешно отменено.
NotResponding — для запусков с включенными пульсами недавно не отправлялся пульс.
Возвращаемое значение
Состояние задания.
Возвращаемый тип
studio_url
Конечная точка Студии машинного обучения Azure.
Возвращаемое значение
URL-адрес страницы сведений о задании.
Возвращаемый тип
task_type
Получение типа задачи.
Возвращаемое значение
Тип выполняемой задачи. Возможные значения: "классификация", "регрессия", "прогнозирование".
Возвращаемый тип
test_data
training
Возвращает параметры обучения прогнозирования.
Возвращаемое значение
параметры обучения.
Возвращаемый тип
training_data
Получение обучающих данных.
Возвращаемое значение
Входные данные для обучения
Возвращаемый тип
type
validation_data
Azure SDK for Python