Etiqueta | Explicación | Tipo 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 paquete de aprendizaje profundo (archivo .dlpk). | File |
Variable para predecir | Un campo del 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.
| 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 proporcionó un valor para 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.
| String |
Algoritmos (Opcional) | Especifica los algoritmos que se utilizarán durante el entrenamiento. De forma predeterminada, se utilizarán todos los algoritmos.
| String |
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 |
Agregar adjuntos de imagen (Opcional) | Especifica si las imágenes se utilizarán como variables explicativas del valor del parámetro Entidades de entrenamiento de entrada para entrenar un modelo de datos multimodal o mixto. Entrenar un modelo tabular de datos multimodal o mixto implica el uso de redes troncales de aprendizaje profundo y aprendizaje automático en AutoML para aprender de múltiples tipos de formatos de datos mediante un solo modelo. Los datos de entrada pueden consistir en una combinación de variables explicativas de un conjunto diverso de fuentes de datos, como descripciones de texto, imágenes correspondientes y cualquier variable categórica y continua adicional.
| Boolean |
Atributos de entidades confidenciales (Opcional) |
Evalúa y mejora la equidad de los modelos entrenados para datos tabulares para modelos de clasificación y regresión. Establezca los dos componentes siguientes para este parámetro:
| Value Table |
Métrica de equidad (Opcional) | Especifica las métricas de equidad que se usarán para medir la equidad en problemas de clasificación y regresión, que se usan para búsquedas de cuadrícula para seleccionar el modelo más justo.
| String |
Resumen
Entrena un modelo de aprendizaje profundo 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. Sus salidas incluyen métricas de rendimiento del mejor modelo de los datos de entrenamiento, así como el paquete de modelo de aprendizaje profundo entrenado (.dlpk) que se puede utilizar como entrada para la herramienta Predecir usando AutoML para predecir en un nuevo dataset.
Uso
Debe instalar el marco de aprendizaje profundo adecuado para Python en ArcGIS AllSource.
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 del parámetro Modo AutoML 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 ArcGIS Spatial Analyst extension 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 casos de uso de ejemplo 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.
Para utilizar el parámetro Agregar adjuntos de imagen, prepare el valor del parámetro Entidades de entrenamiento de entrada para adjuntos de imagen haciendo lo siguiente:
- Asegúrese de que la capa de entidades incluya un campo con rutas de archivos de imagen para cada registro.
- Habilite los adjuntos para la capa de entidad con la herramienta Habilitar adjuntos.
- Utilice la herramienta Agregar adjuntos para especificar el campo de ruta de la imagen y agregarla como un archivo adjunto de imagen a la capa de entidades.
Parámetros
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}, {add_image_attachments}, {sensitive_feature}, {fairness_metric})
Nombre | Explicación | Tipo 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 paquete de aprendizaje profundo (archivo .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.
| 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 proporcionó un valor para 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. Entregue el valor True 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.
| String |
algorithms [algorithms,...] (Opcional) | Especifica los algoritmos que se utilizarán durante el entrenamiento.
De forma predeterminada, se utilizarán todos los algoritmos. | String |
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 |
add_image_attachments (Opcional) | Especifica si las imágenes se utilizarán como variables explicativas del valor del parámetro in_features para entrenar un modelo de datos multimodal o mixto. Entrenar un modelo tabular de datos multimodal o mixto implica el uso de redes troncales de aprendizaje profundo y aprendizaje automático en AutoML para aprender de múltiples tipos de formatos de datos mediante un solo modelo. Los datos de entrada pueden consistir en una combinación de variables explicativas de un conjunto diverso de fuentes de datos, como descripciones de texto, imágenes correspondientes y cualquier variable categórica y continua adicional.
| Boolean |
sensitive_feature [sensitive_feature,...] (Opcional) |
Evalúa y mejora la equidad de los modelos entrenados para datos tabulares para modelos de clasificación y regresión. Establezca los dos componentes siguientes para este parámetro:
| Value Table |
fairness_metric (Opcional) | Especifica las métricas de equidad que se usarán para medir la equidad en problemas de clasificación y regresión, que se usan para búsquedas de cuadrícula para seleccionar el modelo más justo.
| String |
Muestra de código
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")