Обучение с использованием AutoML (GeoAI)

Краткая информация

Обучает модель машинного обучения путем создания конвейеров обучения и автоматизации большей части процесса обучения. Это включает в себя исследовательский анализ данных, выбор объектов, разработку обработку объектов, выбор модели, настройку гиперпараметров и обучение модели. Его выходные данные включают показатели производительности лучшей модели на обучающих данных, а также обученный пакет модели глубокого обучения .dlpk, которую можно использовать в качестве входной в инструменте Прогнозирование с помощью AutoML для прогнозирования нового набора данных.

Подробнее о том, как работает AutoML

Использование

  • Вы должны установить соответствующую среду глубокого обучения для Python в ArcGIS Pro.

    Узнайте, как установить среду глубокого обучения для ArcGIS

  • Время, необходимое инструменту для создания обученной модели, зависит от следующих факторов:

    • Объем данных, предоставленных при обучении.
    • Значение параметра Режим AutoML.

    По умолчанию таймер для всех режимов установлен на 60 минут. Независимо от того, какой объем данных используется в обучении, опция Базовый для поиска оптимальной модели не займет более 60 минут. Процесс подгонки будет выполнен, как только появится оптимальная модель. Для работы опции Расширенный может потребоваться больше времени, поскольку в нее входят дополнительные задачи по обработке объектов, выборке данных и настройке гиперпараметров. Помимо новых объектов, полученных путем объединения нескольких входных объектов, инструмент также создает новые пространственные объекты с именами от zone3_id до zone7_id. Эти новые объекты будут извлечены из информации о местоположении входных данных, и будут использоваться для обучения лучших моделей. Подробнее о новых пространственных объектах см. статью Как работает AutoML. Если объем обучаемых данных велик, все комбинации моделей могут не успеть оцениться в течение 60 минут. В таких случаях оптимальной моделью будет считаться наиболее эффективная модель, определенная в течение 60 минут. Затем вы можете либо использовать эту модель, либо повторно запустить инструмент с более высоким значением параметра Общий лимит времени (минуты) parameter value.

  • Для использования растров в качестве независимых переменных необходима лицензия дополнительного модуля Spatial Analyst

  • Значение параметра Выходной отчет представляет собой файл в формате HTML, который позволяет просматривать информацию в рабочем каталоге.

    Первая страница выходного отчета содержит ссылки на каждую из оцененных моделей и показывает их производительность в наборе данных проверки, а также время, затраченное на их обучение. На основе метрики оценки в отчете показана наиболее эффективная выбранная модель.

    RMSE — это метрика оценки по умолчанию для задач регрессии, а Logloss — метрика по умолчанию для задач классификации. В выходном отчете доступны следующие метрики:

      • Классификация —AUC, Logloss, F1, Точность, Средняя точность
      • Регрессия—MSE, RMSE, MAE, R2, MAPE, коэффициент Спирмена, коэффициент Пирсона

    Когда вы щелкаете комбинацию моделей, то отображаются сведения об обучении для этой комбинации моделей, включая кривые обучения, кривые важности переменных, используемые гиперпараметры и т. д.

  • Возможные варианты использования этого инструмента включают обучение модели ежегодного производства солнечной энергии на основе погодных факторов, обучение модели прогнозирования урожая с использованием связанных переменных и обучение модели прогнозирования стоимости дома.

  • Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.

Параметры

ПодписьОписаниеТип данных
Входные обучающие объекты

Входной класс объектов, который будет использоваться для обучения модели.

Feature Layer; Table View
Выходная модель

Выходная обученная модель, которая будет сохранена как пакет глубокого обучения файл (.dlpk).

File
Переменная для прогнозирования

Поле из значения параметра Входные обучающие объекты, которое содержит значения, используемые для обучения модели. Это поле содержит известные (обучающие) значения переменной, которые будут использованы для прогнозирования в неизвестных местоположениях.

Field
Рассматривать переменную как Категориальную
(Дополнительный)

Определяет, будет ли значение параметра Переменная для прогнозирования интерпретироваться как категорийная переменная.

  • Отмечено – значение параметра Переменная для прогнозирования интерпретируется как категорийная переменная, и инструмент будет выполнять классификацию.
  • Не отмечено – значение параметра Переменная для прогнозирования интерпретируется как непрерывное, и инструмент будет выполнять регрессию. Это значение по умолчанию

Boolean
Независимые переменные обучения
(Дополнительный)

Список полей, представляющих независимые переменные, которые помогут прогнозировать значения или категории для параметра Переменная для прогнозирования. Установите флажки для любых переменных, которые представляют классы или категории (такие как земной покров, наличие или отсутствие).

Value Table
Независимые объекты расстояния обучения
(Дополнительный)

Объекты, расстояние до которых от входных обучающих объектов будет оценено автоматически и добавлено как дополнительные независимые переменные. Расстояния будут вычислены от каждого из входных Независимых объектов расстояния обучения до ближайшего Входного обучающего объекта. Поддерживаются точечные и полигональные объекты, а также если входные независимые объекты расстояния обучения являются полигонами или линиями, то атрибуты расстояния вычисляются как расстояние между ближайшими сегментами пары объектов.

Feature Layer
Независимые обучающие растры
(Дополнительный)

Растры, значения которых будут исключены из растра и станут использоваться как независимые переменные в модели. Каждый слой формирует одну независимую переменную. Для каждого из входных обучающих объектов значение ячейки растра извлекается в именно в этом местоположении. Билинейный пересчет растра используется, если значение растра извлекается из непрерывных растров. Метод ближайшего соседа используется, если значение растра извлекается из категориальных растров. Если параметр Входные обучающие объекты содержит полигоны, и вы отметили этот параметр, в модели будет использоваться одно значение растра для каждого полигона. Каждому полигону назначается среднее значение для непрерывных растров и значение большинства для категориальных растров. Отметьте столбец Категориальная для любых растров, которые представляют классы или категории например, почвенно-растительный покров – его наличие или отсутствие.

Value Table
Общий лимит времени (минуты)
(Дополнительный)

Общий лимит времени в минутах, который нужен для обучения модели AutoML. По умолчанию равен 60 (1 час).

Double
Режим AutoML
(Дополнительный)

Определяет цель AutoML и то, насколько интенсивно будет выполняться поиск AutoML.

  • ОснованиеБазовый режим используется для объяснения значимости различных переменных и данных. Обработка объектов, выборка объектов и настройка гиперпараметров не выполняются. В отчеты будут включены полные описания и пояснения для кривых обучения модели, графики важности признаков, созданные для древовидных моделей, и графики SHAP для всех остальных моделей. Этот режим затрачивает меньше времени. Это значение по умолчанию
  • СреднийПромежуточный режим используется для обучения модели, которая будет использоваться в реальных примерах. Этот режим использует 5-кратную перекрестную проверку (CV) и выводит кривые обучения и графики важности в отчетах, но графики SHAP недоступны.
  • ДополнительноРасширенный режим используется для сложного машинного обучения (при максимальной производительности). Этот режим использует 10-кратную перекрестную проверку (CV) и выполняет обработку объектов, выбор объектов и настройку гиперпараметров. Входные обучающие объекты назначаются нескольким пространственным сеткам разного размера в зависимости от их местоположения, а соответствующие идентификаторы сетки передаются в модель как дополнительные категорийные независимые переменные. Этот отчет включает только кривые обучения, объяснения модели недоступны.
String
Алгоритмы
(Дополнительный)

Определяет алгоритмы, которые будут использоваться в ходе обучения.

По умолчанию будут использоваться все алгоритмы.

  • ЛинейныйДля обучения модели машинного обучения будет использоваться супервизионный алгоритм Линейная регрессия.Если указан только Линейный алгоритм, убедитесь, что общее количество записей меньше 10000, а количество столбцов меньше 1000. Другие модели могут обрабатывать большие наборы данных, поэтому рекомендуется использовать Линейный алгоритм вместе с другими алгоритмами, а не как отдельный алгоритм.
  • Произвольный лесБудет использоваться супервизионный алгоритм машинного обучения на основе дерева решений Произвольный лес. Его можно использовать и для классификации, и для регрессии.
  • XGBoostБудет использоваться супервизионный алгоритм машинного обучения XGBoost (экстремальное градиентное превышение). Его можно использовать и для классификации, и для регрессии.
  • Light GBMБудет использоваться алгоритм градиентной бустинговой сборки Light GBM, который основан на деревьях решений. Его можно использовать и для классификации, и для регрессии. LightGBM оптимизирован для высокой производительности в распределенных системах.
  • Дерево решенийБудет использован супервизионный алгоритм машинного обучения Дерево решений, который выполняет классификацию или регрессию данных, используя ответы "правда" или "ложь" на определенные вопросы. Деревья решений легки для понимания и интерпретации.
  • Дополнительное деревоБудет использоваться супервизионный алгоритм сборки машинного обучения Дополнительные деревья (экстремально случайные деревья), который использует деревья решений. Этот алгоритм похож на Произвольный лес, но может быть быстрее.
Multivalue
Процент проверки
(Дополнительный)

Процент входных данных, который будет использован для проверки. Значением по умолчанию является 10.

Long
Выходной отчет
(Дополнительный)

Выходной отчет будет создан как файл .html. Если указанный путь не пуст, отчет будет создан в новой папке по указанному пути. Отчет будет содержать подробную информацию о различных моделях, а также сведения о гиперпараметрах, которые использовались во время оценки и производительности каждой модели. Гиперпараметры представляют собой параметры, которые управляют процессом обучения. Они не обновляются в ходе обучения и включают архитектуру модели, скорость обучения, число эпох и др.

File
Выходная таблица значимости
(Дополнительный)

Выходная таблица, содержащая информацию о важности каждой независимой переменной (полей, пространственных объектов и растров), используемых в модели.

Table
Выходной класс пространственных объектов
(Дополнительный)

Векторный слой, содержащий прогнозируемые значения самой эффективной модели в векторном слое обучения. Его можно использовать для проверки производительности модели путем визуального сравнения прогнозируемых значений с реальными данными.

Feature Class

arcpy.geoai.TrainUsingAutoML(in_features, out_model, variable_predict, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {total_time_limit}, {autoML_mode}, {algorithms}, {validation_percent}, {out_report}, {out_importance}, {out_features})
ИмяОписаниеТип данных
in_features

Входной класс объектов, который будет использоваться для обучения модели.

Feature Layer; Table View
out_model

Выходная обученная модель, которая будет сохранена как пакет глубокого обучения файл (.dlpk).

File
variable_predict

Поле из значения параметра in_features, которое содержит значения, используемые для обучения модели. Это поле содержит известные (обучающие) значения переменной, которые будут использованы для прогнозирования в неизвестных местоположениях.

Field
treat_variable_as_categorical
(Дополнительный)

Определяет, будет ли значение параметра variable_predict интерпретироваться как категорийная переменная.

  • CATEGORICALЗначение параметра variable_predict интерпретируется как категорийная переменная, и инструмент будет выполнять классификацию.
  • CONTINUOUSЗначение параметра variable_predict интерпретируется как непрерывное, и инструмент будет выполнять регрессию. Это значение по умолчанию
Boolean
explanatory_variables
[explanatory_variables,...]
(Дополнительный)

Список полей, представляющих независимые переменные, которые помогут прогнозировать значения или категории параметра variable_predict. Передайте значение True ('name_of_variabler',True) для любых переменных, которые представляют классы или категории (такие как земной покров, наличие или отсутствие).

Value Table
distance_features
[distance_features,...]
(Дополнительный)

Объекты, расстояние до которых от входных обучающих объектов будет оценено автоматически и добавлено как дополнительные независимые переменные. Расстояния будут вычислены от каждого из входных Независимых объектов расстояния обучения до ближайшего Входного обучающего объекта. Поддерживаются точечные и полигональные объекты, а также если входные независимые объекты расстояния обучения являются полигонами или линиями, то атрибуты расстояния вычисляются как расстояние между ближайшими сегментами пары объектов.

Feature Layer
explanatory_rasters
[explanatory_rasters,...]
(Дополнительный)

Растры, значения которых будут исключены из растра и станут использоваться как независимые переменные в модели. Каждый слой формирует одну независимую переменную. Для каждого из входных обучающих объектов значение ячейки растра извлекается в именно в этом местоположении. Билинейный пересчет растра используется, если значение растра извлекается из непрерывных растров. Метод ближайшего соседа используется, если значение растра извлекается из категориальных растров. Если параметр in_features содержит полигоны, и вы отметили этот параметр, в модели будет использоваться одно значение растра для каждого полигона. Каждому полигону назначается среднее значение для непрерывных растров и значение большинства для категориальных растров. Укажите значение Истина, используя "<name_of_raster> true" для любых растров, которые представляют классы или категории например, почвенно-растительный покров – его наличие или отсутствие.

Value Table
total_time_limit
(Дополнительный)

Общий лимит времени в минутах, который нужен для обучения модели AutoML. По умолчанию равен 60 (1 час).

Double
autoML_mode
(Дополнительный)

Определяет цель AutoML и то, насколько интенсивно будет выполняться поиск AutoML.

  • BASICБазовый режим используется для объяснения значимости различных переменных и данных. Обработка объектов, выборка объектов и настройка гиперпараметров не выполняются. В отчеты будут включены полные описания и пояснения для кривых обучения модели, графики важности признаков, созданные для древовидных моделей, и графики SHAP для всех остальных моделей. Этот режим затрачивает меньше времени. Это значение по умолчанию
  • INTERMEDIATEПромежуточный режим используется для обучения модели, которая будет использоваться в реальных примерах. Этот режим использует 5-кратную перекрестную проверку (CV) и выводит кривые обучения и графики важности в отчетах, но графики SHAP недоступны.
  • ADVANCEDРасширенный режим используется для сложного машинного обучения (при максимальной производительности). Этот режим использует 10-кратную перекрестную проверку (CV) и выполняет обработку объектов, выбор объектов и настройку гиперпараметров. Входные обучающие объекты назначаются нескольким пространственным сеткам разного размера в зависимости от их местоположения, а соответствующие идентификаторы сетки передаются в модель как дополнительные категорийные независимые переменные. Этот отчет включает только кривые обучения, объяснения модели недоступны.
String
algorithms
[algorithms,...]
(Дополнительный)

Определяет алгоритмы, которые будут использоваться в ходе обучения.

  • LINEARДля обучения модели машинного обучения будет использоваться супервизионный алгоритм Линейная регрессия.Если указан только Линейный алгоритм, убедитесь, что общее количество записей меньше 10000, а количество столбцов меньше 1000. Другие модели могут обрабатывать большие наборы данных, поэтому рекомендуется использовать Линейный алгоритм вместе с другими алгоритмами, а не как отдельный алгоритм.
  • RANDOM FORESTБудет использоваться супервизионный алгоритм машинного обучения на основе дерева решений Произвольный лес. Его можно использовать и для классификации, и для регрессии.
  • XGBOOSTБудет использоваться супервизионный алгоритм машинного обучения XGBoost (экстремальное градиентное превышение). Его можно использовать и для классификации, и для регрессии.
  • LIGHT GBMБудет использоваться алгоритм градиентной бустинговой сборки Light GBM, который основан на деревьях решений. Его можно использовать и для классификации, и для регрессии. LightGBM оптимизирован для высокой производительности в распределенных системах.
  • DECISION TREEБудет использован супервизионный алгоритм машинного обучения Дерево решений, который выполняет классификацию или регрессию данных, используя ответы "правда" или "ложь" на определенные вопросы. Деревья решений легки для понимания и интерпретации.
  • EXTRA TREEБудет использоваться супервизионный алгоритм сборки машинного обучения Дополнительные деревья (экстремально случайные деревья), который использует деревья решений. Этот алгоритм похож на Произвольный лес, но может быть быстрее.

По умолчанию будут использоваться все алгоритмы.

Multivalue
validation_percent
(Дополнительный)

Процент входных данных, который будет использован для проверки. Значением по умолчанию является 10.

Long
out_report
(Дополнительный)

Выходной отчет будет создан как файл .html. Если указанный путь не пуст, отчет будет создан в новой папке по указанному пути. Отчет будет содержать подробную информацию о различных моделях, а также сведения о гиперпараметрах, которые использовались во время оценки и производительности каждой модели. Гиперпараметры представляют собой параметры, которые управляют процессом обучения. Они не обновляются в ходе обучения и включают архитектуру модели, скорость обучения, число эпох и др.

File
out_importance
(Дополнительный)

Выходная таблица, содержащая информацию о важности каждой независимой переменной (полей, пространственных объектов и растров), используемых в модели.

Table
out_features
(Дополнительный)

Векторный слой, содержащий прогнозируемые значения самой эффективной модели в векторном слое обучения. Его можно использовать для проверки производительности модели путем визуального сравнения прогнозируемых значений с реальными данными.

Feature Class

Пример кода

TrainUsingAutoML (окно Python)

Это пример использования функции TrainUsingAutoML.

# Name: TrainUsingAutoML.py
# Description: Train a machine learning model on feature or tabular data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath  = "path_to_data" 
out_path = "path_to_trained_model"

in_feature = os.path.join(datapath, "train_data.gdb", "name_of_data")
out_model = os.path.join(out_path, "model.dlpk")

# Run Train Using AutoML Model
arcpy.geoai.TrainUsingAutoML(in_feature, out_model, "price", None, 
                             "bathrooms #;bedrooms #;square_fee #", None, None, 
                             60, "BASIC")

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

Связанные разделы