Entrenar con AutoML (GeoAI)

Resumen

Entrena un modelo de aprendizaje automático creando procesos de entrenamiento y automatizando gran parte del proceso de entrenamiento. Incluye el análisis de datos exploratorios, la selección de entidades, la ingeniería de entidades, la selección de modelos, el ajuste de hiperparámetros y el entrenamiento de modelos. Entre sus salidas están las métricas de rendimiento del mejor modelo de los datos de entrenamiento, así como el paquete .dlpk del modelo de aprendizaje profundo entrenado que se puede usar como entrada para la herramienta Predecir con AutoML para predecir en un nuevo conjunto de datos.

Más información sobre cómo funciona AutoML

Uso

  • Debe instalar el marco de aprendizaje profundo adecuado para Python en ArcGIS Pro.

    Más información sobre cómo instalar un marco de aprendizaje profundo para ArcGIS

  • El tiempo que la herramienta tarda en generar el modelo entrenado depende de lo siguiente:

    • La cantidad de datos proporcionados durante el entrenamiento
    • El valor del parámetro Modo AutoML

    De forma predeterminada, el temporizador de todos los modos se establece en 60 minutos. Independientemente de la cantidad de datos utilizados en el entrenamiento, la opción Básico no requiere la totalidad de esos 60 minutos para encontrar el modelo óptimo. El proceso de ajuste finalizará en cuanto se identifique el modelo óptimo. La opción Avanzado requiere más tiempo debido a las tareas adicionales de ingeniería de entidades, selección de entidades y ajuste de hiperparámetros. Además de las nuevas entidades obtenidas al combinar varias entidades de la entrada, la herramienta crea entidades espaciales con nombres de zone3_id a zone7_id. Estas nuevas entidades se extraerán de la información de ubicación de los datos de entrada y se utilizarán para entrenar mejores modelos. Para obtener más información sobre las nuevas entidades espaciales, consulte Cómo funciona AutoML. Si la cantidad de datos que desea entrenar es considerable, es posible que todas las combinaciones de los modelos no se evalúen en menos de 60 minutos. En estos casos, se considerará como óptimo el modelo que mejor funcione dentro de un intervalo de 60 minutos. A continuación, puede utilizar este modelo o volver a ejecutar la herramienta con un valor mayor del parámetro Límite de tiempo total (minutos).

  • Se requiere una licencia de extensión de ArcGIS Spatial Analyst para usar rásteres como variables explicativas.

  • El valor del parámetro Informe de salida es un archivo en formato HTML que proporciona una manera de revisar la información en el directorio de trabajo.

    La primera página del informe de salida contiene vínculos a cada uno de los modelos evaluados y muestra su rendimiento en un dataset de validación junto con el tiempo que tardó en entrenarlos. Según el indicador de evaluación, el informe muestra el mejor modelo que se ha elegido.

    RMSE es la métrica de evaluación predeterminada para los problemas de regresión, mientras que Logloss es la métrica predeterminada para los problemas de clasificación. Las siguientes métricas están disponibles en el informe de salida:

      • Clasificación: AUC, Logloss, F1, Precisión, Precisión media
      • Regresión: MSE, RMSE, MAE, R2, MAPE, coeficiente de Spearman, coeficiente de Pearson

    Al hacer clic en una combinación de modelo, se muestran los detalles del entrenamiento de esa combinación de modelos, incluidas las curvas de aprendizaje, las curvas de importancia variable, los hiperparámetros utilizados, etc.

  • Entre los posibles casos de uso de la herramienta está el entrenamiento de un modelo de generación anual de energía solar basado en factores meteorológicos, entrenar un modelo de predicción de cultivos con variables relacionadas y entrenar un modelo de predicción de valores inmobiliarios.

  • Para obtener información sobre los requisitos para ejecutar esta herramienta y los problemas que pueden presentarse, consulte Preguntas frecuentes sobre el aprendizaje profundo.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrenamiento de entrada

La clase de entidad de entrada que se utilizará para entrenar el modelo.

Feature Layer; Table View
Modelo de salida

El modelo entrenado de salida que se guardará como un archivo de paquete de aprendizaje profundo (.dlpk).

File
Variable para predecir

Un campo del valor de parámetro Entidades de entrenamiento de entrada que contiene los valores que se usarán para entrenar el modelo. Este campo contiene valores (de entrenamiento) conocidos de la variable que se usará para predecir en ubicaciones desconocidas.

Field
Tratar variable como variable de categorías
(Opcional)

Especifica si el valor del parámetro Variable para predecir se tratará como una variable de categorías.

  • Activado: el valor de parámetro Variable para predecir se tratará como una variable de categorías y la herramienta realizará clasificación.
  • Desactivado: el valor de parámetro Variable para predecir se tratará como continuo y la herramienta realizará regresión. Esta es la opción predeterminada.

Boolean
Variables de entrenamiento explicativas
(Opcional)

Una lista de campos que representan a las variables explicativas que ayudarán a predecir el valor o la categoría del valor de parámetro Variable para predecir. Active la casilla de verificación correspondiente en el caso de las variables que representen clases o categorías (tales como cobertura de suelo, presencia o ausencia).

Value Table
Entidades de distancia de entrenamiento explicativas
(Opcional)

Las entidades cuyas distancias en las entidades de entrenamiento de entrada se calcularán automáticamente y se agregarán como más variables explicativas. Las distancias se calculan desde cada una de las entidades de distancia de entrenamiento explicativas de entrada hasta las entidades de entrenamiento de entrada más cercanas. Se admiten las entidades de punto y poligonales y, si las entidades de distancia de entrenamiento explicativas de entrada son polígonos o líneas, los atributos de distancia se calcularán como la distancia entre los segmentos más cercanos del par de entidades.

Feature Layer
Rásteres de entrenamiento explicativos
(Opcional)

Los rásteres cuyos valores se extraerán del ráster y se considerarán variables explicativas para el modelo. Cada capa forma una variable explicativa. Para cada entidad de las entidades de entrenamiento de entrada, el valor de la celda ráster se extraerá de esa ubicación exacta. Se utilizará remuestreo de ráster bilineal al extraer el valor de ráster en el caso de los rásteres continuos. La asignación de vecino más cercano se utilizará al extraer un valor de ráster desde rásteres de categorías. Si el valor del parámetro Entidades de entrenamiento de entrada tiene polígonos y ha especificado este parámetro, se usará un valor de ráster para cada polígono del modelo. Se asigna a cada polígono el valor medio en el caso de los rásteres continuos y la mayoría en el caso de los rásteres de categorías. Active la casilla de verificación de la columna De categorías en el caso de los rásteres que representen clases o categorías tales como cobertura de suelo, presencia o ausencia.

Value Table
Límite de tiempo total (minutos)
(Opcional)

El límite de tiempo total en minutos que requiere el entrenamiento del modelo AutoML. El valor predeterminado es 60 (1 hora).

Double
Modo AutoML
(Opcional)

Especifica el objetivo de AutoML y la intensidad de la búsqueda AutoML.

  • BásicoBásico se utiliza para explicar la importancia de las distintas variables y los datos. No se realizarán ajustes de ingeniería de entidades, selección de entidades ni de hiperparámetros. Los informes reflejan las descripciones completas y explicaciones de las curvas de aprendizaje de modelo, los diagramas de importancia de entidades generados para los modelos basados en árboles y los diagramas SHAP para todos los demás modelos. Este modo es el que menos tiempo de procesamiento requiere. Esta es la opción predeterminada.
  • IntermedioEl modo Intermedio se usa para entrenar un modelo que se utilizará en casos de uso real. Este modelo utiliza la validación cruzada (CV) quíntuple y genera la salida de curvas de aprendizaje y diagramas de importancia en los informes, pero no proporciona diagramas SHAP.
  • AvanzadaEl modo Avanzado se utiliza en las competiciones de aprendizaje automático (para un máximo rendimiento). Este modo utiliza una validación cruzada (CV) de 10 repeticiones y realiza ajustes de ingeniería de entidades, selección de entidades e hiperparámetros. Las entidades de entrenamiento de entrada se asignan a varias cuadrículas espaciales de distintos tamaños en función de su ubicación; los Id. de cuadrícula correspondientes se entregan como variables explicativas categóricas adicionales al modelo. El informe solo contiene las curvas de aprendizaje; la explicación del modelo no está disponible.
String
Algoritmos
(Opcional)

Especifica los algoritmos que se utilizarán durante el entrenamiento.

De forma predeterminada, se utilizarán todos los algoritmos.

  • LinealSe usará el algoritmo supervisado Regresión lineal para entrenar un modelo de aprendizaje automático de regresión.Si Lineal es el único algoritmo especificado, asegúrese de que el número total de registros sea inferior a 10.000 y que el número de columnas sea inferior a 1.000. Otros modelos pueden acomodar datasets más grandes, y se recomienda usar Lineal con otros algoritmos y no como el único algoritmo.
  • Bosque aleatorioSe utilizará el algoritmo de aprendizaje automático supervisado basado en árboles de decisión Bosque aleatorio. Se puede utilizar tanto para la clasificación como para la regresión.
  • XGBoostSe usará el algoritmo de aprendizaje automático supervisado XGBoost (refuerzo de gradientes extremo). Se puede utilizar tanto para la clasificación como para la regresión.
  • LightGBMSe utilizará el algoritmo de ensamblaje de refuerzo de gradientes LightGBM, que se basa en los árboles de decisión. Se puede utilizar tanto para la clasificación como para la regresión. LightGBM está optimizado para un alto rendimiento con sistemas distribuidos.
  • Árbol de decisiónSe utilizará el algoritmo de aprendizaje automático supervisado Árbol de decisión, que clasifica o complementa los datos mediante respuestas verdaderas y falsas a determinadas preguntas. Los árboles de decisión se comprenden fácilmente y son idóneos en cuanto a la explicabilidad.
  • Árbol extraSe utilizará el algoritmo de aprendizaje automático supervisado de ensamblaje Árboles extra (árboles extremadamente aleatorios), que utiliza árboles de decisión. Este algoritmo es similar a Bosques aleatorios, pero puede ser más rápido.
Multivalue
Porcentaje de validación
(Opcional)

El porcentaje de datos de entrada que se utilizarán para la validación. El valor predeterminado es 10.

Long
Informe de salida
(Opcional)

El informe de salida que se generará como un archivo .html. Si la ruta proporcionada no está vacía, el informe se creará en una nueva carpeta en la ruta proporcionada. El informe contendrá detalles de los distintos modelos, así como detalles de los hiperparámetros utilizados durante la evaluación y el rendimiento de cada modelo. Los hiperparámetros son parámetros que controlan el proceso de entrenamiento. No se actualizan durante el entrenamiento e incluyen arquitectura de modelo, tasa de aprendizaje, número de ciclos, etc.

File
Tabla de importancia de salida
(Opcional)

Una tabla de salida que contiene información de importancia de cada una de las variables explicativas (campos, entidades de distancia y rásteres) utilizadas en el modelo.

Table
Clase de entidad de salida
(Opcional)

La capa de entidades que contiene los valores predichos por el mejor rendimiento del modelo en la capa de entidades de entrenamiento. Se puede usar para verificar el rendimiento del modelo comparando visualmente los valores predichos con la realidad del terreno.

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})
NombreExplicaciónTipo de datos
in_features

La clase de entidad de entrada que se utilizará para entrenar el modelo.

Feature Layer; Table View
out_model

El modelo entrenado de salida que se guardará como un archivo de paquete de aprendizaje profundo (.dlpk).

File
variable_predict

Un campo del parámetro in_features que contiene los valores que se usarán para entrenar el modelo. Este campo contiene valores (de entrenamiento) conocidos de la variable que se usará para predecir en ubicaciones desconocidas.

Field
treat_variable_as_categorical
(Opcional)

Especifica si el valor del parámetro variable_predict se tratará como una variable de categorías.

  • CATEGORICALEl valor de parámetro variable_predict se tratará como una variable de categorías y la herramienta realizará clasificación.
  • CONTINUOUSEl valor de parámetro variable_predict se tratará como continuo y la herramienta realizará regresión. Esta es la opción predeterminada.
Boolean
explanatory_variables
[explanatory_variables,...]
(Opcional)

Una lista de campos que representan a las variables explicativas que ayudan a predecir el valor o la categoría del valor de parámetro variable_predict. Entregue el valor True ('name_of_variable',True) en el caso de las variables que representen clases o categorías (tales como cobertura de suelo, presencia o ausencia).

Value Table
distance_features
[distance_features,...]
(Opcional)

Las entidades cuyas distancias en las entidades de entrenamiento de entrada se calcularán automáticamente y se agregarán como más variables explicativas. Las distancias se calculan desde cada una de las entidades de distancia de entrenamiento explicativas de entrada hasta las entidades de entrenamiento de entrada más cercanas. Se admiten las entidades de punto y poligonales y, si las entidades de distancia de entrenamiento explicativas de entrada son polígonos o líneas, los atributos de distancia se calcularán como la distancia entre los segmentos más cercanos del par de entidades.

Feature Layer
explanatory_rasters
[explanatory_rasters,...]
(Opcional)

Los rásteres cuyos valores se extraerán del ráster y se considerarán variables explicativas para el modelo. Cada capa forma una variable explicativa. Para cada entidad de las entidades de entrenamiento de entrada, el valor de la celda ráster se extraerá de esa ubicación exacta. Se utilizará remuestreo de ráster bilineal al extraer el valor de ráster en el caso de los rásteres continuos. La asignación de vecino más cercano se utilizará al extraer un valor de ráster desde rásteres de categorías. Si el valor del parámetro in_features tiene polígonos y ha especificado este parámetro, se usará un valor de ráster para cada polígono del modelo. Se asigna a cada polígono el valor medio en el caso de los rásteres continuos y la mayoría en el caso de los rásteres de categorías. Transmita un valor verdadero con "<name_of_raster> true" en el caso de los rásteres que representen clases o categorías tales como cobertura de suelo, presencia o ausencia.

Value Table
total_time_limit
(Opcional)

El límite de tiempo total en minutos que requiere el entrenamiento del modelo AutoML. El valor predeterminado es 60 (1 hora).

Double
autoML_mode
(Opcional)

Especifica el objetivo de AutoML y la intensidad de la búsqueda AutoML.

  • BASICBásico se utiliza para explicar la importancia de las distintas variables y los datos. No se realizarán ajustes de ingeniería de entidades, selección de entidades ni de hiperparámetros. Los informes reflejan las descripciones completas y explicaciones de las curvas de aprendizaje de modelo, los diagramas de importancia de entidades generados para los modelos basados en árboles y los diagramas SHAP para todos los demás modelos. Este modo es el que menos tiempo de procesamiento requiere. Esta es la opción predeterminada.
  • INTERMEDIATEEl modo Intermedio se usa para entrenar un modelo que se utilizará en casos de uso real. Este modelo utiliza la validación cruzada (CV) quíntuple y genera la salida de curvas de aprendizaje y diagramas de importancia en los informes, pero no proporciona diagramas SHAP.
  • ADVANCEDEl modo Avanzado se utiliza en las competiciones de aprendizaje automático (para un máximo rendimiento). Este modo utiliza una validación cruzada (CV) de 10 repeticiones y realiza ajustes de ingeniería de entidades, selección de entidades e hiperparámetros. Las entidades de entrenamiento de entrada se asignan a varias cuadrículas espaciales de distintos tamaños en función de su ubicación; los Id. de cuadrícula correspondientes se entregan como variables explicativas categóricas adicionales al modelo. El informe solo contiene las curvas de aprendizaje; la explicación del modelo no está disponible.
String
algorithms
[algorithms,...]
(Opcional)

Especifica los algoritmos que se utilizarán durante el entrenamiento.

  • LINEARSe usará el algoritmo supervisado Regresión lineal para entrenar un modelo de aprendizaje automático de regresión.Si Lineal es el único algoritmo especificado, asegúrese de que el número total de registros sea inferior a 10.000 y que el número de columnas sea inferior a 1.000. Otros modelos pueden acomodar datasets más grandes, y se recomienda usar Lineal con otros algoritmos y no como el único algoritmo.
  • RANDOM FORESTSe utilizará el algoritmo de aprendizaje automático supervisado basado en árboles de decisión Bosque aleatorio. Se puede utilizar tanto para la clasificación como para la regresión.
  • XGBOOSTSe usará el algoritmo de aprendizaje automático supervisado XGBoost (refuerzo de gradientes extremo). Se puede utilizar tanto para la clasificación como para la regresión.
  • LIGHT GBMSe utilizará el algoritmo de ensamblaje de refuerzo de gradientes LightGBM, que se basa en los árboles de decisión. Se puede utilizar tanto para la clasificación como para la regresión. LightGBM está optimizado para un alto rendimiento con sistemas distribuidos.
  • DECISION TREESe utilizará el algoritmo de aprendizaje automático supervisado Árbol de decisión, que clasifica o complementa los datos mediante respuestas verdaderas y falsas a determinadas preguntas. Los árboles de decisión se comprenden fácilmente y son idóneos en cuanto a la explicabilidad.
  • EXTRA TREESe utilizará el algoritmo de aprendizaje automático supervisado de ensamblaje Árboles extra (árboles extremadamente aleatorios), que utiliza árboles de decisión. Este algoritmo es similar a Bosques aleatorios, pero puede ser más rápido.

De forma predeterminada, se utilizarán todos los algoritmos.

Multivalue
validation_percent
(Opcional)

El porcentaje de datos de entrada que se utilizarán para la validación. El valor predeterminado es 10.

Long
out_report
(Opcional)

El informe de salida que se generará como un archivo .html. Si la ruta proporcionada no está vacía, el informe se creará en una nueva carpeta en la ruta proporcionada. El informe contendrá detalles de los distintos modelos, así como detalles de los hiperparámetros utilizados durante la evaluación y el rendimiento de cada modelo. Los hiperparámetros son parámetros que controlan el proceso de entrenamiento. No se actualizan durante el entrenamiento e incluyen arquitectura de modelo, tasa de aprendizaje, número de ciclos, etc.

File
out_importance
(Opcional)

Una tabla de salida que contiene información de importancia de cada una de las variables explicativas (campos, entidades de distancia y rásteres) utilizadas en el modelo.

Table
out_features
(Opcional)

La capa de entidades que contiene los valores predichos por el mejor rendimiento del modelo en la capa de entidades de entrenamiento. Se puede usar para verificar el rendimiento del modelo comparando visualmente los valores predichos con la realidad del terreno.

Feature Class

Muestra de código

TrainUsingAutoML (ventana de Python)

El siguiente script muestra cómo utilizar la función 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")

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Sí

Temas relacionados