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