AutoMLConfig Класс
Представляет конфигурацию для отправки эксперимента автоматизированного ML в Машинном обучении Azure.
Этот объект конфигурации содержит и сохраняет параметры для настройки выполнения эксперимента, а также данные обучения, которые будут использоваться во время выполнения. Рекомендации по выбору параметров: https://aka.ms/AutoMLConfig.
Создайте AutoMLConfig.
- Наследование
-
builtins.objectAutoMLConfig
Конструктор
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
Обязательно
|
Тип выполняемой задачи. Возможные значения: classification, regression или forecasting в зависимости от задачи автоматизированного ML, которую необходимо решить. |
path
Обязательно
|
Полный путь к папке проекта Машинного обучения Azure. Если значение не указано, по умолчанию используется текущий каталог или "." |
iterations
Обязательно
|
Общее количество различных сочетаний алгоритмов и параметров для проверки во время эксперимента автоматизированного ML. Если значение не указано, по умолчанию используется 1000 итераций. |
primary_metric
Обязательно
|
Метрика, которую автоматизированное машинное обучение будет оптимизировать для выбора модели. Автоматизированное машинное обучение собирает больше метрик, чем может оптимизировать. Получить список допустимых метрик для заданной задачи можно с помощью get_primary_metrics. Дополнительные сведения о вычислении метрик приведены в https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric. Если этот параметр не указан, то для задач классификации используется точность, для задач прогнозирования и регрессии — нормализованное среднеквадратичное значение, для классификации образов и классификации образов по нескольким меткам — точность, а для обнаружения объектов на образах — средняя точность. |
positive_label
Обязательно
|
Положительная метка класса, которую автоматизированное машинное обучение будет использовать для вычисления двоичных метрик. Двоичные метрики вычисляются при соблюдении двух условий для задач классификации:
Дополнительные сведения о классификации приведены на странице Метрики для сценариев классификации. |
compute_target
Обязательно
|
Целевой объект вычислений Машинного обучения 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
Обязательно
|
Признаки обучения, используемые при подборе конвейеров во время эксперимента. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name. |
y
Обязательно
|
Метки обучения, используемые при подборе конвейеров во время эксперимента. Это значение, которое будет прогнозировать модель. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name. |
sample_weight
Обязательно
|
Весовой коэффициент, присваиваемый каждой выборке обучения при запуске подобранных конвейеров. Каждая строка должна соответствовать строке в данных X и y. Задайте этот параметр при указании |
X_valid
Обязательно
|
Признаки проверки, используемые при подгонке конвейеров во время эксперимента. Если параметр указан, необходимо также задать |
y_valid
Обязательно
|
Метки проверки, используемые при подгонке конвейеров во время эксперимента. Необходимо указать оба параметра |
sample_weight_valid
Обязательно
|
Весовой коэффициент, присваиваемый каждой выборке проверки при запуске конвейеров оценки. Каждая строка должна соответствовать строке в данных X и y. Задайте этот параметр при указании |
cv_splits_indices
Обязательно
|
Индексы, по которым разбиваются обучающие данные для перекрестной проверки. Каждая строка является отдельной сверткой перекрестной проверки, и в каждой свертке предоставляется 2 массива Numpy — первый с индексами для выборок, используемых для данных для обучения, а второй — с индексами, которые используются для данных проверки. Т.е. [[t1, v1], [t2, v2],...], где t1 — это индексы обучения для первой свертки перекрестной проверки, а v1 — это индексы проверки для первой свертки. Чтобы обозначить существующие данные в качестве данных проверки, используйте |
validation_size
Обязательно
|
Часть данных, которую следует оставить для проверки, если пользовательские данные проверки не указаны. Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно). Укажите Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении. |
n_cross_validations
Обязательно
|
Количество перекрестных проверок, выполняемых в случае, когда не указаны пользовательские данные проверки. Укажите Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении. |
y_min
Обязательно
|
Минимальное значение y для эксперимента регрессии. Сочетание |
y_max
Обязательно
|
Максимальное значение y для эксперимента регрессии. Сочетание |
num_classes
Обязательно
|
Количество классов в данных метки для эксперимента классификации. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных. |
featurization
Обязательно
|
Индикатор "auto"/"off"/FeaturizationConfig, определяющий, следует ли выполнять этап конструирования признаков автоматически или использовать настроенное конструирование признаков. Примечание. Если входные данные являются разреженными, включить конструирование признаков невозможно. Тип столбца определяется автоматически. В зависимости от определенного типа столбца предварительная обработка и конструирование признаков выполняется следующим образом:
Дополнительные сведения приведены в статье Конфигурация эксперимента автоматизированного ML в Python. Чтобы настроить этап конструирования признаков, укажите объект FeaturizationConfig. В настоящее время настроенное конструирование признаков поддерживает блокировку набора преобразователей, обновление назначения столбца, изменение параметров преобразователя и удаление столбцов. Дополнительные сведения приведены в документе Конфигурация конструирования признаков. Примечание. Признаки временных рядов обрабатываются отдельно, если для типа задачи задано прогнозирование независимо от этого параметра. |
max_cores_per_iteration
Обязательно
|
Максимальное количество потоков, используемых для заданной итерации обучения. Допустимые значения:
|
max_concurrent_iterations
Обязательно
|
Это максимальное количество итераций, которые могут выполняться параллельно. Значение по умолчанию — 1.
|
iteration_timeout_minutes
Обязательно
|
Максимальное время в минутах, в течение которого каждая итерация может выполняться до завершения. Если значение не указано, используется значение, равное 1 месяцу или 43 200 минутам. |
mem_in_mb
Обязательно
|
Максимальный объем памяти, используемой каждой итерацией до завершения. Если значение не указано, используется значение 1 ПБ или 1 073 741 824 МБ. |
enforce_time_on_windows
Обязательно
|
Следует ли применять временное ограничение для обучения модели при каждой итерации в Windows. Значение по умолчанию равно True. Если выполнение осуществляется из скрипта Python (PY-файл), ознакомьтесь с документацией по разрешающим ограничениям ресурсов в Windows. |
experiment_timeout_hours
Обязательно
|
Максимальное количество времени в часах, в течение которого могут быть пройдены все итерации до завершения эксперимента. Может быть десятичным значением, например 0,25, представляющим 15 минут. Если значение не указано, время ожидания эксперимента по умолчанию составляет 6 дней. Чтобы задать время ожидания, не превышающее 1 час, размер набора данных не должен превышать 10 000 000 (строк на столбец), иначе возникнет ошибка. |
experiment_exit_score
Обязательно
|
Целевая оценка для эксперимента. При достижении этого показателя выполнение эксперимента завершается. Если значение не указано (без критериев), эксперимент выполняется до тех пор, пока показатель основной метрики не перестанет улучшаться. Дополнительные сведения об условиях выхода приведены в этой статье. |
enable_early_stopping
Обязательно
|
Следует ли включать преждевременное завершение, если оценка не улучшается за короткое время. Значение по умолчанию равно True. Логика преждевременной остановки:
|
blocked_models
Обязательно
|
list(str) или
list(Classification) <xref:for classification task> или
list(Regression) <xref:for regression task> или
list(Forecasting) <xref:for forecasting task>
Список алгоритмов, которые следует игнорировать для эксперимента. Если |
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
Обязательно
|
Следует ли исключать строки со значениями NaN в метке. Значение по умолчанию равно True. |
verbosity
Обязательно
|
Уровень детализации для записи в файл журнала. Значение по умолчанию — INFO или 20. Допустимые значения определены в библиотеке ведения журнала Python. |
enable_tf
Обязательно
|
Нерекомендуемый параметр для включения или отключения алгоритмов Tensorflow. Значение по умолчанию — False. |
model_explainability
Обязательно
|
Следует ли включить объяснение оптимальной модели 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>
Список имен моделей для поиска эксперимента. Если параметр не указан, используются все поддерживаемые для задачи модели, кроме любых моделей, указанных в |
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
Обязательно
|
Следует ли включить или отключить принудительное применение моделей, совместимых с ONNX. Значение по умолчанию — False. Дополнительные сведения об Open Neural Network Exchange (ONNX) и Машинном обучении Azure приведены в этой статье. |
forecasting_parameters
Обязательно
|
Объект ForecastingParameters для хранения всех параметров, связанных с прогнозированием. |
time_column_name
Обязательно
|
Имя столбца времени. Это параметр требуется при прогнозировании, чтобы задать столбец даты и времени во входных данных, используемых для создания временного ряда и определения его периодичности. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
max_horizon
Обязательно
|
Максимальный требуемый горизонт прогнозирования в единицах периодичности временных рядов. Значение по умолчанию — 1. Единицы измерения определяются на основе интервала времени данных обучения, например, месяц или неделя, на который следует составить прогноз. Если тип задачи — прогнозирование, этот параметр является обязательным. Дополнительные сведения о настройке параметров прогнозирования приведены в статье Автоматизированное обучение прогнозной модели временных рядов. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
grain_column_names
Обязательно
|
Имена столбцов, используемых для группирования временных рядов. Можно использовать для создания нескольких рядов. Если интервал не определен, предполагается, что набор данных является одним временным рядом. Этот параметр используется с типом задач forecasting. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
target_lags
Обязательно
|
Число прошлых периодов, на которое должно быть определено запаздывание от целевого столбца. Значение по умолчанию — 1. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. При прогнозировании этот параметр представляет количество строк для запаздывания от целевых значений в зависимости от частоты данных. Он представляется в виде списка или одного целого числа. Запаздывание следует использовать, когда связь между независимыми и зависимыми переменными не согласована или не коррелирует по умолчанию. Например, при попытке прогнозировать спрос на товар спрос за любой месяц может зависеть от цены на определенные товары тремя месяцами ранее. В этом примере может потребоваться запаздывание (отрицательное смещение) целевых значений (спроса) на три месяца, чтобы модель была обучена по правильной связи. Дополнительные сведения приведены в статье Автоматизированное обучение прогнозной модели временных рядов. |
feature_lags
Обязательно
|
Флаг для создания запаздываний для числовых функций. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
target_rolling_window_size
Обязательно
|
Число прошлых периодов, используемых для создания среднего значения скользящего окна для целевого столбца. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. При прогнозировании этот параметр представляет n исторических периодов, используемых для создания прогнозируемых значений, <= размер набора данных для обучения. Если этот параметр не задан, n принимается равным полному размеру набора для обучения. Этот параметр следует задавать в том случае, если при обучении модели нужно учитывать только определенный объем данных за предыдущие периоды. |
country_or_region
Обязательно
|
Страна или регион, используемые для создания признаков праздников. Это должен быть двухбуквенный код страны и региона по стандарту ISO 3166, например "US" или "GB". Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
use_stl
Обязательно
|
Настройка декомпозиции STL для целевого столбца временных рядов. Параметр use_stl может принимать три значения: None (Нет) (по умолчанию) — без декомпозиции STL, season — создание только компонента сезона и season_trend — создание компонентов сезона и тенденции. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
seasonality
Обязательно
|
Задание сезонности временных рядов. Если для сезонности задано значение "auto", этот параметр будет выводиться автоматически. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
short_series_handling_configuration
Обязательно
|
Параметр, определяющий, как AutoML должно обрабатывать короткие временные ряды. Возможные значения: "auto" (по умолчанию), "pad", "drop" и "None".
Дата 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
Обязательно
|
Частота прогнозирования. При прогнозировании этот параметр представляет собой требуемый период составления прогноза, например, ежедневно, еженедельно, ежегодно и т. п. По умолчанию частота прогнозирования равна частоте набора данных. При необходимости можно задать для него значение больше (но не меньше) частоты набора данных. Мы агрегируем данные и сформируем результаты по частоте прогнозирования. Например, для ежедневных данных можно задать ежедневную, еженедельную или ежемесячную, но не ежечасную частоту прогнозирования. Частота должна быть псевдонимом смещения pandas. Дополнительные сведения приведены в документации по pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects |
target_aggregation_function
Обязательно
|
Функция, используемая для агрегирования целевого столбца временных рядов в соответствии с заданной пользователем частотой. Если target_aggregation_function установлена, но параметр частоты не задан, возникает ошибка. Возможны следующие целевые функции агрегирования: "sum", "max", "min" и "mean". Частота target_aggregation_function Механизм исправления регулярности данных Нет (по умолчанию) Нет (по умолчанию) Агрегирование не применяется. Если не удается определить допустимую частоту, возникает ошибка. Некоторое значение Нет (по умолчанию) Агрегирование не применяется. Если число точек данных, соответствующих заданной сетке частоты, меньше 90 %, эти точки будут удалены, в противном случае возникает ошибка. Нет (по умолчанию) Статистическая функция Возникла ошибка об отсутствии параметра частоты. Некоторое значение Статистическая функция Агрегирование по частоте с помощью функции providedaggregation. |
enable_voting_ensemble
Обязательно
|
Указывает, следует ли включить или отключить итерацию VotingEnsemble. Значение по умолчанию равно True. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей. |
enable_stack_ensemble
Обязательно
|
Указывает, следует ли включить или отключить итерацию StackEnsemble. Значение по умолчанию — None. Если установлен флаг enable_onnx_compatible_models, то итерация StackEnsemble будет отключена. Аналогично, для задач временных рядов итерация StackEnsemble будет по умолчанию отключена во избежание рисков, связанных с чрезмерной лжевзаимосвязью из-за небольшого размера набора данных для обучения, используемого для подбора средства обучения по метаданным. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей. |
debug_log
Обязательно
|
Файл журнала, в который будут записываться сведения об отладке. Если параметр не задан, используется automl.log. |
training_data
Обязательно
|
Обучающие данные, которые будут использоваться в эксперименте.
Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки).
Если указан
|
validation_data
Обязательно
|
Данные проверки, которые будут использоваться в эксперименте.
Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки).
Если указан
|
test_data
Обязательно
|
Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Тестовые данные, которые будут использоваться для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе. Если этот параметр или параметр |
test_size
Обязательно
|
Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Часть данных обучения, которую следует оставить в качестве тестовых данных для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе. Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно).
Если параметр Для задач на основе регрессии используется случайная выборка. Для задач классификации используется стратифицированная выборка. В настоящее время прогнозирование не поддерживает указание тестового набора данных с помощью разделения данных для обучения/тестирования. Если этот параметр или параметр |
label_column_name
Обязательно
|
Имя столбца меток. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел. Этот параметр применим к параметрам |
weight_column_name
Обязательно
|
Имя столбца с весом выборок. Автоматизированное машинное обучение поддерживает взвешенный столбец в качестве входных данных, и в результате вес строк данных меняется в большую или меньшую сторону. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел. Этот параметр применим к параметрам |
cv_split_column_names
Обязательно
|
Список имен столбцов, содержащих разделение пользовательской перекрестной проверки (CV). Каждый из столбцов с разделением CV представляет одно разделение CV, где каждая строка помечается 1 для обучения или 0 для проверки. Этот параметр применим к параметру Используйте Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении. |
enable_local_managed
Обязательно
|
Отключенный параметр. В настоящее время невозможно включить локальные управляемые выполнения. |
enable_dnn
Обязательно
|
Следует ли включать модели на основе DNN во время выбора модели. Значение по умолчанию в параметре инициализации — None. Однако для задач DNN NLP значением по умолчанию будет True, а для всех остальных задач AutoML — False. |
task
Обязательно
|
Тип выполняемой задачи. Возможные значения: classification, regression или forecasting в зависимости от задачи автоматизированного ML, которую необходимо решить. |
path
Обязательно
|
Полный путь к папке проекта Машинного обучения Azure. Если значение не указано, по умолчанию используется текущий каталог или "." |
iterations
Обязательно
|
Общее количество различных сочетаний алгоритмов и параметров для проверки во время эксперимента автоматизированного ML. Если значение не указано, по умолчанию используется 1000 итераций. |
primary_metric
Обязательно
|
Метрика, которую автоматизированное машинное обучение будет оптимизировать для выбора модели. Автоматизированное машинное обучение собирает больше метрик, чем может оптимизировать. Получить список допустимых метрик для заданной задачи можно с помощью get_primary_metrics. Дополнительные сведения о вычислении метрик приведены в https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric. Если этот параметр не указан, то для задач классификации используется точность, для задач прогнозирования и регрессии — нормализованное среднеквадратичное значение, для классификации образов и классификации образов по нескольким меткам — точность, а для обнаружения объектов на образах — средняя точность. |
positive_label
Обязательно
|
Положительная метка класса, которую автоматизированное машинное обучение будет использовать для вычисления двоичных метрик. Двоичные метрики вычисляются при соблюдении двух условий для задач классификации:
Дополнительные сведения о классификации приведены на странице Метрики для сценариев классификации. |
compute_target
Обязательно
|
Целевой объект вычислений Машинного обучения Azure для запуска эксперимента AutoML. Дополнительные сведения о целевых объектах вычислений см. на странице https://docs.microsoft.com/azure/machine-learning/how-to-auto-train-remote. |
spark_context
Обязательно
|
<xref:SparkContext>
Контекст Spark. Применим только при использовании в среде Azure Databricks или Spark. |
X
Обязательно
|
Признаки обучения, используемые при подборе конвейеров во время эксперимента. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name. |
y
Обязательно
|
Метки обучения, используемые при подборе конвейеров во время эксперимента. Это значение, которое будет прогнозировать модель. Этот параметр не рекомендуется использовать. Используйте вместо него training_data и label_column_name. |
sample_weight
Обязательно
|
Весовой коэффициент, присваиваемый каждой выборке обучения при запуске подобранных конвейеров. Каждая строка должна соответствовать строке в данных X и y. Задайте этот параметр при указании |
X_valid
Обязательно
|
Признаки проверки, используемые при подгонке конвейеров во время эксперимента. Если параметр указан, необходимо также задать |
y_valid
Обязательно
|
Метки проверки, используемые при подгонке конвейеров во время эксперимента. Необходимо указать оба параметра |
sample_weight_valid
Обязательно
|
Весовой коэффициент, присваиваемый каждой выборке проверки при запуске конвейеров оценки. Каждая строка должна соответствовать строке в данных X и y. Задайте этот параметр при указании |
cv_splits_indices
Обязательно
|
Индексы, по которым разбиваются обучающие данные для перекрестной проверки. Каждая строка является отдельной сверткой перекрестной проверки, и в каждой свертке предоставляется 2 массива Numpy — первый с индексами для выборок, используемых для данных для обучения, а второй — с индексами, которые используются для данных проверки. Т.е. [[t1, v1], [t2, v2],...], где t1 — это индексы обучения для первой свертки перекрестной проверки, а v1 — это индексы проверки для первой свертки. Этот параметр поддерживается, если данные передаются в виде отдельного набора данных Features и столбца Метка. Чтобы обозначить существующие данные в качестве данных проверки, используйте |
validation_size
Обязательно
|
Часть данных, которую следует оставить для проверки, если пользовательские данные проверки не указаны. Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно). Укажите Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении. |
n_cross_validations
Обязательно
|
Количество перекрестных проверок, выполняемых в случае, когда не указаны пользовательские данные проверки. Укажите Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении. |
y_min
Обязательно
|
Минимальное значение y для эксперимента регрессии. Сочетание |
y_max
Обязательно
|
Максимальное значение y для эксперимента регрессии. Сочетание |
num_classes
Обязательно
|
Количество классов в данных метки для эксперимента классификации. Этот параметр не рекомендуется использовать. Это значение будет вычисляться на основе данных. |
featurization
Обязательно
|
Индикатор "auto"/"off"/FeaturizationConfig, определяющий, следует ли выполнять этап конструирования признаков автоматически или использовать настроенное конструирование признаков. Примечание. Если входные данные являются разреженными, включить конструирование признаков невозможно. Тип столбца определяется автоматически. В зависимости от определенного типа столбца предварительная обработка и конструирование признаков выполняется следующим образом:
Дополнительные сведения приведены в статье Конфигурация эксперимента автоматизированного ML в Python. Чтобы настроить этап конструирования признаков, укажите объект FeaturizationConfig. В настоящее время настроенное конструирование признаков поддерживает блокировку набора преобразователей, обновление назначения столбца, изменение параметров преобразователя и удаление столбцов. Дополнительные сведения приведены в документе Конфигурация конструирования признаков. Примечание. Признаки временных рядов обрабатываются отдельно, если для типа задачи задано прогнозирование независимо от этого параметра. |
max_cores_per_iteration
Обязательно
|
Максимальное количество потоков, используемых для заданной итерации обучения. Допустимые значения:
|
max_concurrent_iterations
Обязательно
|
Это максимальное количество итераций, которые могут выполняться параллельно. Значение по умолчанию — 1.
|
iteration_timeout_minutes
Обязательно
|
Максимальное время в минутах, в течение которого каждая итерация может выполняться до завершения. Если значение не указано, используется значение, равное 1 месяцу или 43 200 минутам. |
mem_in_mb
Обязательно
|
Максимальный объем памяти, используемой каждой итерацией до завершения. Если значение не указано, используется значение 1 ПБ или 1 073 741 824 МБ. |
enforce_time_on_windows
Обязательно
|
Следует ли применять временное ограничение для обучения модели при каждой итерации в Windows. Значение по умолчанию равно True. Если выполнение осуществляется из скрипта Python (PY-файл), ознакомьтесь с документацией по разрешающим ограничениям ресурсов в Windows. |
experiment_timeout_hours
Обязательно
|
Максимальное количество времени в часах, в течение которого могут быть пройдены все итерации до завершения эксперимента. Может быть десятичным значением, например 0,25, представляющим 15 минут. Если значение не указано, время ожидания эксперимента по умолчанию составляет 6 дней. Чтобы задать время ожидания, не превышающее 1 час, размер набора данных не должен превышать 10 000 000 (строк на столбец), иначе возникнет ошибка. |
experiment_exit_score
Обязательно
|
Целевая оценка для эксперимента. При достижении этого показателя выполнение эксперимента завершается.
Если значение не указано (без критериев), эксперимент выполняется до тех пор, пока показатель основной метрики не перестанет улучшаться. Дополнительные сведения о критериях выхода см. в разделе >> |
enable_early_stopping
Обязательно
|
Следует ли включать преждевременное завершение, если оценка не улучшается за короткое время. Значение по умолчанию равно True. Логика преждевременной остановки:
|
blocked_models
Обязательно
|
list(str) или
list(Classification) <xref:for classification task> или
list(Regression) <xref:for regression task> или
list(Forecasting) <xref:for forecasting task>
Список алгоритмов, которые следует игнорировать для эксперимента. Если |
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
Обязательно
|
Следует ли исключать строки со значениями NaN в метке. Значение по умолчанию равно True. |
verbosity
Обязательно
|
Уровень детализации для записи в файл журнала. Значение по умолчанию — INFO или 20. Допустимые значения определены в библиотеке ведения журнала Python. |
enable_tf
Обязательно
|
Следует ли включать или отключать алгоритмы TensorFlow. Значение по умолчанию — False. |
model_explainability
Обязательно
|
Следует ли включить объяснение оптимальной модели 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>
Список имен моделей для поиска эксперимента. Если параметр не указан, используются все поддерживаемые для задачи модели, кроме любых моделей, указанных в |
allowed_models
Обязательно
|
Список имен моделей для поиска эксперимента. Если параметр не указан, используются все поддерживаемые для задачи модели, кроме любых моделей, указанных в |
whitelist_models
Обязательно
|
Этот параметр не рекомендуется. Используйте вместо него allowed_models. |
enable_onnx_compatible_models
Обязательно
|
Следует ли включить или отключить принудительное применение моделей, совместимых с ONNX. Значение по умолчанию — False. Дополнительные сведения об Open Neural Network Exchange (ONNX) и Машинном обучении Azure приведены в этой статье. |
forecasting_parameters
Обязательно
|
Объект для хранения всех параметров прогнозирования. |
time_column_name
Обязательно
|
Имя столбца времени. Это параметр требуется при прогнозировании, чтобы задать столбец даты и времени во входных данных, используемых для создания временного ряда и определения его периодичности. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
max_horizon
Обязательно
|
Максимальный требуемый горизонт прогнозирования в единицах периодичности временных рядов. Значение по умолчанию — 1. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. Единицы измерения определяются на основе интервала времени данных обучения, например, месяц или неделя, на который следует составить прогноз. Если тип задачи — прогнозирование, этот параметр является обязательным. Дополнительные сведения о настройке параметров прогнозирования приведены в статье Автоматизированное обучение прогнозной модели временных рядов. |
grain_column_names
Обязательно
|
Имена столбцов, используемых для группирования временных рядов. Можно использовать для создания нескольких рядов. Если интервал не определен, предполагается, что набор данных является одним временным рядом. Этот параметр используется с типом задач forecasting. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
target_lags
Обязательно
|
Число прошлых периодов, на которое должно быть определено запаздывание от целевого столбца. Значение по умолчанию — 1. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. При прогнозировании этот параметр представляет количество строк для запаздывания от целевых значений в зависимости от частоты данных. Он представляется в виде списка или одного целого числа. Запаздывание следует использовать, когда связь между независимыми и зависимыми переменными не согласована или не коррелирует по умолчанию. Например, при попытке прогнозировать спрос на товар спрос за любой месяц может зависеть от цены на определенные товары тремя месяцами ранее. В этом примере может потребоваться запаздывание (отрицательное смещение) целевых значений (спроса) на три месяца, чтобы модель была обучена по правильной связи. Дополнительные сведения приведены в статье Автоматизированное обучение прогнозной модели временных рядов. |
feature_lags
Обязательно
|
Флаг для создания запаздываний для числовых функций. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
target_rolling_window_size
Обязательно
|
Число прошлых периодов, используемых для создания среднего значения скользящего окна для целевого столбца. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. При прогнозировании этот параметр представляет n исторических периодов, используемых для создания прогнозируемых значений, <= размер набора данных для обучения. Если этот параметр не задан, n принимается равным полному размеру набора для обучения. Этот параметр следует задавать в том случае, если при обучении модели нужно учитывать только определенный объем данных за предыдущие периоды. |
country_or_region
Обязательно
|
Страна или регион, используемые для создания признаков праздников. Это должны быть двухбуквенные коды страны и региона по стандарту ISO 3166, например "US" или "GB". Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
use_stl
Обязательно
|
Настройка декомпозиции STL для целевого столбца временных рядов. Параметр use_stl может принимать три значения: None (Нет) (по умолчанию) — без декомпозиции STL, season — создание только компонента сезона и season_trend — создание компонентов сезона и тенденции. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
seasonality
Обязательно
|
Задание сезонности временных рядов. Если для сезонности задано значение –1, она будет выводиться. Если параметр use_stl не задан, он не будет использоваться. Этот параметр не рекомендуется использовать. Используйте вместо него forecasting_parameters. |
short_series_handling_configuration
Обязательно
|
Параметр, определяющий, как AutoML должно обрабатывать короткие временные ряды. Возможные значения: "auto" (по умолчанию), "pad", "drop" и "None".
Дата 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
Обязательно
|
Частота прогнозирования. При прогнозировании этот параметр представляет собой требуемый период составления прогноза, например, ежедневно, еженедельно, ежегодно и т. п. По умолчанию частота прогнозирования равна частоте набора данных. При необходимости можно задать для него значение больше (но не меньше) частоты набора данных. Мы агрегируем данные и сформируем результаты по частоте прогнозирования. Например, для ежедневных данных можно задать ежедневную, еженедельную или ежемесячную, но не ежечасную частоту прогнозирования. Частота должна быть псевдонимом смещения pandas. Дополнительные сведения приведены в документации по pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects |
target_aggregation_function
Обязательно
|
Функция, используемая для агрегирования целевого столбца временных рядов в соответствии с заданной пользователем частотой. Если target_aggregation_function установлена, но параметр частоты не задан, возникает ошибка. Возможны следующие целевые функции агрегирования: "sum", "max", "min" и "mean". Частота target_aggregation_function Механизм исправления регулярности данных Нет (по умолчанию) Нет (по умолчанию) Агрегирование не применяется. Если не удается определить допустимую частоту, возникает ошибка. Некоторое значение Нет (по умолчанию) Агрегирование не применяется. Если число точек данных, соответствующих заданной сетке частоты, меньше 90 %, эти точки будут удалены, в противном случае возникает ошибка. Нет (по умолчанию) Статистическая функция Возникла ошибка об отсутствии параметра частоты. Некоторое значение Статистическая функция Агрегирование по частоте с помощью функции providedaggregation. |
enable_voting_ensemble
Обязательно
|
Указывает, следует ли включить или отключить итерацию VotingEnsemble. Значение по умолчанию равно True. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей. |
enable_stack_ensemble
Обязательно
|
Указывает, следует ли включить или отключить итерацию StackEnsemble. Значение по умолчанию — None. Если установлен флаг enable_onnx_compatible_models, то итерация StackEnsemble будет отключена. Аналогично, для задач временных рядов итерация StackEnsemble будет по умолчанию отключена во избежание рисков, связанных с чрезмерной лжевзаимосвязью из-за небольшого размера набора данных для обучения, используемого для подбора средства обучения по метаданным. Дополнительные сведения об ансамблях приведены в разделе Конфигурация ансамблей. |
debug_log
Обязательно
|
Файл журнала, в который будут записываться сведения об отладке. Если параметр не задан, используется automl.log. |
training_data
Обязательно
|
Обучающие данные, которые будут использоваться в эксперименте.
Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки).
Если указан
|
validation_data
Обязательно
|
Данные проверки, которые будут использоваться в эксперименте.
Они должны включать признаки обучения и столбец меток (необязательно — столбец весов выборки).
Если указан
|
test_data
Обязательно
|
Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Тестовые данные, которые будут использоваться для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе. Если этот параметр или параметр |
test_size
Обязательно
|
Признак тестирования модели, использующий тестовые наборы данных или фрагменты тестовых данных, находится на этапе предварительной версии и может быть изменен в любое время. Часть данных обучения, которую следует оставить в качестве тестовых данных для тестового запуска, выполняемого автоматически после завершения обучения модели. Тестовый запуск будет получать прогнозы с использованием оптимальной модели и будет вычислять метрики на их основе. Это значение должно находиться в диапазоне от 0,0 до 1,0 (не включительно).
Если параметр Для задач на основе регрессии используется случайная выборка. Для задач классификации используется стратифицированная выборка. В настоящее время прогнозирование не поддерживает указание тестового набора данных с помощью разделения данных для обучения/тестирования. Если этот параметр или параметр |
label_column_name
Обязательно
|
Имя столбца меток. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел. Этот параметр применим к параметрам |
weight_column_name
Обязательно
|
Имя столбца с весом выборок. Автоматизированное машинное обучение поддерживает взвешенный столбец в качестве входных данных, и в результате вес строк данных меняется в большую или меньшую сторону. Если источником входных данных является pandas.DataFrame, где отсутствуют имена столбцов, вместо имен можно использовать индексы столбцов, выраженные в виде целых чисел. Этот параметр применим к параметрам |
cv_split_column_names
Обязательно
|
Список имен столбцов, содержащих разделение пользовательской перекрестной проверки (CV). Каждый из столбцов с разделением CV представляет одно разделение CV, где каждая строка помечается 1 для обучения или 0 для проверки. Этот параметр применим к параметру Используйте Дополнительные сведения приведены в статье Настройка разделения и перекрестной проверки данных в автоматизированном машинном обучении. |
enable_local_managed
Обязательно
|
Отключенный параметр. В настоящее время невозможно включить локальные управляемые выполнения. |
enable_dnn
Обязательно
|
Следует ли включать модели на основе 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 приведены в статьях:
Настройка экспериментов автоматизированного машинного обучения на Python. В этой статье содержатся сведения о различных алгоритмах и основных метриках, используемых для каждого типа задач.
Автоматизированное обучение прогнозной модели временных рядов. В этой статье содержатся сведения о параметрах конструктора, а
**kwargs
используются при прогнозировании.
Дополнительные сведения о различных вариантах настройки разделения данных для обучения или проверки, а также о перекрестной проверке для автоматизированного машинного обучения, 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 |