Clasificación y regresión basadas en bosques y aumentadas (Estadística espacial)

Resumen

Crea modelos y genera predicciones utilizando uno de los dos métodos de aprendizaje automático supervisado: una adaptación del algoritmo de bosque aleatorio desarrollado por Leo Breiman y Adele Cutler o el algoritmo Extreme Gradient Boosting (XGBoost) desarrollado por Tianqi Chen y Carlos Guestrin. Es posible realizar predicciones para ambas variables de categorías (clasificación) y variables continuas (regresión). Las variables explicativas pueden adoptar la forma de campos en la tabla de atributos de las entidades de entrenamiento, los datasets ráster y las entidades de distancia utilizadas para calcular valores de proximidad para su uso como variables adicionales. Además de la validación del rendimiento del modelo basándose en datos de entrenamiento, es posible realizar predicciones en las entidades o en un ráster de predicción.

Más información sobre cómo funciona Clasificación y regresión basadas en bosques y aumentadas

Ilustración

Ilustración de la herramienta Clasificación y regresión basadas en bosques y aumentadas

Uso

  • Esta herramienta admite dos tipos de modelos: los basados en bosques y los de gradiente aumentado. Ambos tipos de modelos utilizan cientos de árboles, conocidos como un conjunto de árboles de decisiones, para crear un modelo que puede emplearse para la predicción.

    • Basado en bosques: crea un modelo aplicando una técnica de bagging en la que cada árbol de decisión se crea en paralelo utilizando una porción de los datos originales (de entrenamiento) generada aleatoriamente. Cada árbol genera su propia predicción y vota sobre el resultado. El modelo basado en bosques considera los votos de todos los árboles de decisiones para predecir o clasificar el resultado de una muestra desconocida. Se trata de algo importante, ya que los árboles individuales pueden tener problemas de exceso de ajuste en un modelo; sin embargo, combinar varios árboles de un bosque para la predicción aborda el problema de exceso de ajuste asociado con un único árbol. Este modelo requiere menos parámetros y es más intuitivo.
    • Gradiente aumentado: crea un modelo aplicando una técnica de incremento en la cual cada árbol de decisión se crea secuencialmente con los datos originales (de entrenamiento). Cada árbol posterior corrige los errores de los árboles anteriores, de modo que el modelo combina varios aprendices débiles para convertirse en un modelo de predicción fuerte. El modelo de gradiente aumentado incorpora regularización y una técnica de parada temprana que puede evitar el exceso de ajuste. Este modelo proporciona un mayor control sobre los hiperparámetros y es más complejo.
  • Esta herramienta puede utilizarse en tres modos de funcionamiento: entrenar, predecir a entidades y predecir a ráster. En el parámetro Tipo de predicción, la opción Solo entrenar puede utilizarse para evaluar el rendimiento de varios modelos a medida que explora diferentes variables explicativas y ajustes de la herramienta. Una vez que encuentre un buen modelo, utilice la opción Predecir a entidades o Predecir a ráster.

  • Esta es una herramienta controlada por datos y funciona de forma óptima con datasets grandes. La herramienta debe entrenarse con al menos varios cientos de entidades para obtener unos resultados óptimos. No es una herramienta adecuada para datasets muy pequeños.

  • El valor del parámetro Entidades de entrada puede ser puntos o polígonos. Esta herramienta no funciona con datos multiparte.

  • Para usar rásteres como variables explicativas o para predecir un valor de Superficie de predicción de salida se requiere una licencia de Extensión ArcGIS Spatial Analyst.

  • Esta herramienta produce las siguientes salidas opcionales:

    • Entidades entrenadas de salida: una clase de entidad que contiene todos los valores de Entidades entrenadas de entrada y todas las variables explicativas utilizadas en el modelo. Las variables explicativas incluyen todos los campos de entrada utilizados, las distancias calculadas y los valores ráster extraídos o calculados. La clase de entidad también incluirá predicciones para cada entidad en los valores de Entidades de entrenamiento de entrada. Incluye las entidades que se utilizaron para entrenar y validar el modelo. Si la variable a predecir no es categórica, la clase de entidad incluirá el residual y el residual estándar para cada predicción. Si la variable a predecir es categórica, la clase de entidad contendrá un campo Correctly Classified que especifique si el modelo clasificó correctamente cada predicción. Utilice los campos Residual y Standard Residual o el campo Correctly Classified para ayudar a evaluar el rendimiento del modelo creado.
    • Archivo de modelo entrenado de salida: un archivo reutilizable que contiene los resultados del modelo entrenado. El archivo puede utilizarse en la herramienta Predecir con archivo de modelo de estadística espacial para predecir a nuevas entidades.
    • Entidades predichas de salida: una clase de entidad que contiene el valor predicho del modelo para cada entidad. Esta opción solo está disponible cuando el valor del parámetro Tipo de predicción es Predecir a entidades.
    • Superficie de predicción de salida: un ráster de salida que contiene los resultados de la predicción. Esta opción solo está disponible cuando el valor del parámetro Tipo de predicción es Predecir a ráster.
    • Tabla de importancia variable de salida: tabla que describe la importancia de cada variable explicativa (campos, entidades de distancia y rásteres).
    • Tabla de ajuste de los parámetros de salida: una tabla que contiene los ajustes de los parámetros y los valores del objetivo para cada ensayo de optimización. Esta salida solo está disponible cuando el parámetro Optimizar parámetros está activado.
    • Tabla de rendimiento de clasificación de salida (matriz de confusión): una tabla que resume el rendimiento del modelo en los datos de validación. Las columnas de la matriz representan las categorías predichas por el modelo y las filas las categorías reales. Utilice la tabla para evaluar cómo se comporta el modelo con los datos de validación. Esta salida solo está disponible cuando el parámetro Tratar como de categorías está activado.
  • Esta herramienta crea mensajes para ayudarle a comprender el rendimiento del modelo creado. Puede acceder a los mensajes desplazándose sobre la barra de progreso, haciendo clic en el botón emergente o expandiendo la sección de mensajes en el panel Geoprocesamiento. También puede acceder a los mensajes de una ejecución anterior de esta herramienta a través del Historial de geoprocesamiento. Los mensajes incluyen lo siguiente:

    • Información sobre las características del modelo
    • Errores de modelo fuera de bolsa
    • Diagnóstico del entrenamiento
    • Diagnóstico de la validación
    • Diagnóstico de variables explicativas
    • Importancia variable: si se proporciona el valor del parámetro Tabla de importancia variable de salida, los mensajes de geoprocesamiento indicarán las 20 variables con mayor importancia. Si el valor del parámetro Número de ciclos de validación es superior a 1, habrá más de un conjunto de valores de importancia variable. Cada ciclo tendrá un conjunto de valores de importancia variable, de modo que los mensajes de geoprocesamiento informarán del conjunto de valores de importancia variable asociados a la ejecución con un R cuadrado o precisión que más se aproxime a la mediana del R cuadrado o precisión.

  • Esta herramienta agrega los siguientes gráficos opcionales al panel Contenido:

    • Rendimiento de predicción: un gráfico de barras apiladas que ayuda a evaluar hasta qué punto el modelo se corresponde con los datos. Las categorías del eje x fueron predichas por el modelo para el valor de Entidades de entrenamiento de entrada. Incluye las entidades que se utilizaron para entrenar y validar el modelo. Los colores representan las verdaderas categorías de las entidades de entrenamiento de entrada. Este gráfico solo se produce si la variable a predecir es categórica, la casilla de verificación Tratar variable como variable de categorías está marcada y se proporciona el parámetro Entidades de entrenamiento de salida.
    • Matriz de confusión: un gráfico de calor matricial. El eje x representa la categoría prevista de las entidades en el valor de Entidades de entrenamiento de entrada y el eje y representa su categoría real. Las celdas diagonales visualizan el número de veces que el modelo predijo correctamente una categoría. Los recuentos más altos de las celdas diagonales indican que el modelo funcionó bien. Este gráfico solo se genera si la variable para predecir es categórica, y el parámetro Tratar variable como variable de categorías está activado.
    • Resumen de importancia variable o Distribución de importancia variable: gráfico de barras que muestra la importancia de cada variable explicativa para el modelo. Si el valor de Número de ciclos de validación es superior a 1, el gráfico será un diagrama de caja que muestra la distribución de los valores de importancia de cada variable explicativa. Esta tabla se produce si proporciona el valor del parámetro Tabla de importancia variable de salida.
    • Rendimiento de validación: un gráfico de barras apiladas que ayuda a evaluar el rendimiento del modelo con los datos de validación. Las categorías reales de las entidades de los datos de validación están en el eje x. El color representa la categoría prevista de las entidades en los datos de validación. Esta tabla solo se produce si la variable a predecir es de categorías, se marca la casilla de verificación Tratar variable como variable de categorías y se proporciona el valor del parámetro Tabla de rendimiento de clasificación de salida (matriz de confusión).
    • Validación R2 o Precisión de validación: histograma que muestra la distribución de los valores R2 o de precisión. La distribución de los valores R2 o de precisión se debe a la aleatoriedad que se introduce al crear el modelo. Este gráfico ayuda a evaluar la estabilidad del rendimiento del modelo a lo largo de diferentes ciclos del mismo. Esta tabla solo se genera cuando se proporciona el valor del parámetro Tabla de validación de salida y el valor Número de ciclos de validación es superior a 1.
  • Las variables explicativas pueden provenir de campos, calcularse a partir de entidades de distancia o extraerse de rásteres. Es posible usar cualquier combinación de estos tipos de variables explicativas, pero se requiere al menos un tipo. Las variables explicativas (a partir de campos, entidades de distancia o rásteres) empleadas deben contener una variedad de valores. Si la variable explicativa es de categorías, active la casilla de verificación De categorías. La casilla de verificación De categorías se marcará automáticamente para las variables de tipo cadena. Las variables explicativas de categorías están limitadas a 60 valores únicos, aunque un número menor de categorías permite aumentar el rendimiento del modelo. Para un tamaño de datos dado, cuanto mayor sea el número de categorías contenidas en una variable, más probable es que domine el modelo y conduzca a resultados de predicción menos eficaces.

  • Se usan entidades de distancia para crear automáticamente variables explicativas que representan una distancia desde las entidades proporcionadas a los valores de Entidades de entrenamiento de entrada. Se calcularán las distancias desde cada entidad del valor de Entidades de entrenamiento de entrada hasta el valor más cercano de Entidades de distancia de entrenamiento explicativas. Si los valores de 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. Sin embargo, las distancias se calculan de forma diferente para los polígonos y las líneas. Consulte Cómo calculan la distancia las herramientas de proximidad para obtener más detalles.

  • Si los valores de Entidades de entrenamiento de entrada son puntos y está utilizando el parámetro Rásteres de entrenamiento explicativos, la herramienta profundiza para extraer variables explicativas de cada ubicación de punto. En el caso de los rásteres multibanda, solo se usa la primera banda.

  • Aunque puede tener varias capas con el mismo nombre en el panel Contenido, la herramienta no acepta capas de distancia explicativas y capas ráster explicativas con el mismo nombre. Para evitar este problema, asegúrese de que cada capa tenga un nombre único o elimine los nombres de capa duplicados en las listas desplegables.

  • Si los valores de Entidades de entrenamiento de entrada son polígonos, el valor del parámetro Variable para predecir es de categorías y está usando exclusivamente valores de Rásteres de entrenamiento explicativos, el parámetro Convertir polígonos a resolución ráster para entrenamiento estará disponible. Si activa este parámetro, el polígono se dividirá en puntos en el centroide de cada celda ráster cuyo centroide quede dentro del polígono. A continuación, se extraen los valores de ráster de cada ubicación de punto, que se utilizan para entrenar el modelo. En el caso de las variables numéricas se utiliza un método de muestreo bilineal, mientras que en las variables de categorías se usa el método de mayor cercanía. El tamaño de celda predeterminado de los polígonos convertidos será el tamaño de celda máximo de los rásteres de entrada. Sin embargo, puede cambiarlo usando la configuración de entorno Tamaño de celda. Si este parámetro no está activado, 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.

    Los polígonos se convierten a la resolución de ráster (izquierda) o se les asigna un valor medio (derecha).

  • Debe existir variación en los datos empleados para cada variable explicativa especificada. Si recibe el error de que no existe variación en uno de los campos o rásteres especificados, puede probar a ejecutar de nuevo la herramienta, marcando esa variable como de categorías. Si el 95 por ciento de las entidades tienen el mismo valor para una variable determinada, esa variable se marca como carente de variación.

  • El parámetro Compensar categorías dispersas se puede usar si la variación en las categorías no está equilibrada. Por ejemplo, si algunas categorías se producen cientos de veces en el dataset y otras pocas se producen muchas menos veces, al activar este parámetro garantizará que cada categoría se represente en cada árbol para crear modelos equilibrados. Este parámetro solo se admite si el valor del parámetro Tipo de modelo es Basado en bosque.

  • Al comparar variables explicativas, los campos Prediction y Training deben ser del mismo tipo (un campo doble en Training debe corresponderse con un campo doble en Prediction).

  • Ni los modelos basados en bosque ni los aumentados se extrapolan, sino que solo clasifican o predicen hasta un valor en el que se ha entrenado el modelo. Al predecir un valor basado en variables explicativas mucho mayores o menores que el rango del dataset de entrenamiento original, el modelo estima que el valor estará alrededor del valor más alto o más bajo del dataset original. Esta herramienta podría presentar un rendimiento deficiente si se intenta predecir con variables explicativas que están fuera del rango de las variables explicativas empleadas para entrenar el modelo.

  • La herramienta generará un error si las variables explicativas de predicción contienen categorías que no están presentes en las entidades de entrenamiento. Del mismo modo, la herramienta fallará si existen categorías en los datos de validación que no están presentes en las entidades de entrenamiento.

  • Para usar datasets de mosaico como variables explicativas, ejecute primero la herramienta Crear capa de mosaico y copie la ruta completa a la capa en la herramienta o utilice las herramientas Crear capa de mosaico y Crear capa ráster para ajustar la plantilla de procesamiento para el dataset de mosaico.

  • El valor predeterminado del parámetro Número de árboles es de 100. En el caso de los modelos basados en bosque, el aumento del número de árboles del modelo dará lugar a una predicción de modelo más precisa, pero el modelo tardará más en calcularse.

  • Si el valor del parámetro Tipo de modelo es Basado en bosque y el parámetro Calcular incertidumbre está activado, la herramienta calculará un intervalo de predicción del 90 por ciento sobre cada valor predicho del valor de Variable para predecir. Si el valor del parámetro Tipo de predicción es Solo entrenar o Predecir a entidades, se agregarán dos campos al valor de Entidades entrenadas de salida o al valor de Entidades predichas de salida. Estos campos, que terminan con _P05 y _P95, representan los límites superiores e inferiores del intervalo de predicción. Para cualquier observación nueva, puede predecir con una confianza del 90 por ciento que el valor de una observación nueva estará dentro del intervalo, dadas las mismas variables explicativas. Si el valor del parámetro Tipo de predicción es Predecir a ráster, se agregarán al panel Contenido dos rásteres adicionales que representan los límites superior e inferior del intervalo de predicción.

  • Por motivos de rendimiento, el parámetro Entidades de distancia de entrenamiento explicativas no está disponible cuando el valor del parámetro Tipo de predicción es Predecir a ráster. Para incluir las distancias a las entidades como variables explicativas, calcule rásteres de distancia con la herramienta Acumulación de distancia e incluya los rásteres de distancia en el parámetro Rásteres de entrenamiento explicativos.

  • Esta herramienta admite el procesamiento en paralelo para la predicción y utiliza el 50 por ciento de los procesadores disponibles de forma predeterminada. El número de procesadores puede aumentar o disminuir usando el entorno Factor de procesamiento en paralelo.

  • Para más información sobre cómo funciona esta herramienta y para comprender los mensajes y gráficos de salida, consulte Cómo funciona Clasificación y regresión basadas en bosque.

    Referencias:

    • Breiman, Leo. Out-Of-Bag Estimation. 1996.
    • Breiman, L. (1996). Bagging predictors. Machine learning, 24(2), 123-140.
    • Breiman, Leo. "Random Forests". Machine Learning. 45 (1): 5-32. doi:10.1023/A:1010933404324. 2001.
    • Breiman, L., J.H. Friedman, R.A. Olshen, C.J. Stone. Classification and regression trees. New York: Routledge. Capítulo 4. 2017.
    • Chen, T. y Guestrin, C. (2016). "XGBoost: A Scalable Tree Boosting System." En Proceedings of the 22nd ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 785-794.
    • Dietterich, T. G. (2000, June). Ensemble methods in machine learning. In International workshop on multiple classifier systems (pp. 1-15). Springer, Berlín, Heidelberg.
    • Gini, C. (1912). Variabilità e mutabilità. Reprinted in Memorie di metodologica statistica (Ed. Pizetti E, Salvemini, T). Rome: Libreria Eredi Virgilio Veschi.
    • Grömping, U. (2009). Variable importance assessment in regression: linear regression versus random forest. The American Statistician, 63(4), 308-319.
    • Ho, T. K. (1995, agosto). Random decision forests. In Document analysis and recognition, 1995., proceedings of the third international conference on Document Analysis and Recognition. (Vol. 1, pp. 278-282). IEEE.
    • James, G., Witten, D., Hastie, T., y Tibshirani, R. (2013). An introduction to statistical learning (Vol. 112). New York: springer.
    • LeBlanc, M., y Tibshirani, R. (1996). Combining estimates in regression and classification. Journal of the American Statistical Association, 91(436), 1641-1650.
    • Loh, W. Y., y Shih, Y. S. (1997). Split selection methods for classification trees. Statistica sinica, 815-840.
    • Meinshausen, Nicolai. "Quantile regression forests". Journal of Machine Learning Research 7. Junio (2006): 983-999.
    • Nadeau, C., y Bengio, Y. (2000). Inference for the generalization error. In Advances in neural information processing systems (pp. 307-313).
    • Strobl, C., Boulesteix, A. L., Kneib, T., Augustin, T., y Zeileis, A. (2008). Conditional variable importance for random forests. BMC bioinformatics, 9(1), 307.
    • Zhou, Z. H. (2012). Ensemble methods: foundations and algorithms. CRC press.

Parámetros

EtiquetaExplicaciónTipo de datos
Tipo de predicción

Especifica el modo de operación que se utilizará. La herramienta puede ejecutarse para entrenar un modelo solo para evaluar rendimientos, predecir entidades o crear una superficie de predicción.

  • Solo entrenarSe entrenará un modelo, pero no se generará ninguna predicción. Utilice esta opción para evaluar la precisión del modelo antes de generar las predicciones. Esta opción generará diagnósticos de modelo de salida en la ventana de mensajes y un gráfico de importancia variable. Esta es la opción predeterminada.
  • Predecir a entidadesSe generarán predicciones o clasificaciones para las entidades. Se deben proporcionar variables explicativas tanto para las entidades de entrenamiento como para las entidades que se desea predecir. La salida de esta opción será una clase de entidad, diagnósticos de modelo en la ventana de mensajes y una tabla y un gráfico opcionales de importancia variable.
  • Predecir a rásterSe generará un ráster de predicción para el área en la que se intersecan los rásteres explicativos. Se deben proporcionar rásteres explicativos tanto para el área de entrenamiento como el área que se desea predecir. La salida de esta opción será una superficie de predicción, diagnósticos de modelo en la ventana de mensajes y una tabla y un gráfico opcionales de importancia variable.
String
Entidades de entrenamiento de entrada

La clase de entidad que contiene el valor del parámetro Variable para predecir y, opcionalmente, las variables explicativas de entrenamiento provenientes de los campos.

Feature Layer
Variable para predecir
(Opcional)

La variable del valor del parámetro Entidades de entrenamiento de entrada que contiene los valores que se desean usar 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 de Variable para predecir es una variable de categorías.

  • Activado: el valor de Variable para predecir es una variable de categorías y se realizará una clasificación.
  • Desactivado: el valor de Variable para predecir es continuo y se realizará una 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 ayudan a predecir el valor o la categoría del valor Variable para predecir. Active la casilla de verificación De categorías 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)

La capa de entidades que contiene las entidades de entrenamiento explicativas de la distancia. Se crearán automáticamente variables explicativas mediante el cálculo de una distancia desde las entidades proporcionadas a los valores de Entidades de entrenamiento de entrada. Se calcularán las distancias desde cada una de las entidades del valor Entidades de entrenamiento de entrada hasta los valores de Entidades de entrenamiento de distancia explicativa más cercanos. Si los valores de 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)

Las variables explicativas de entrenamiento extraídas de los rásteres. Las variables de entrenamiento explicativas se crearán automáticamente extrayendo valores de celda ráster. Para cada entidad del parámetro Entidades de entrenamiento de entrada, el valor de la celda ráster se extrae de esa ubicación exacta. Se usa 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 usa al extraer un valor de ráster desde rásteres de categorías. Active la casilla de verificación 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
Entidades de predicción de entrada
(Opcional)

Una clase de entidad que representa las ubicaciones en las que se realizarán predicciones. Esta clase de entidad también debe contener las variables explicativas proporcionadas como campos que se correspondan con las utilizadas de los datos de entrenamiento.

Feature Layer
Entidades predichas de salida
(Opcional)

La clase de entidad de salida que contiene los resultados de predicción.

Feature Class
Superficie de predicción de salida
(Opcional)

El ráster de salida que contiene los resultados de predicción. El tamaño de celda predeterminado será el tamaño de celda máximo de las entradas ráster. Para definir otro tamaño de celda, utilice la configuración de entorno Tamaño de celda.

Raster Dataset
Variables explicativas coincidentes
(Opcional)

Una lista de los valores de Variables explicativas especificados del parámetro Entidades de entrenamiento de entrada de la derecha y sus campos correspondientes del parámetro Entidades de predicción de entrada de la izquierda.

Value Table
Entidades de distancia coincidentes
(Opcional)

Una lista de los valores de Entidades de distancia explicativas especificados para el parámetro Entidades de entrenamiento de entrada de la derecha y sus conjuntos de entidades correspondientes del parámetro Entidades de predicción de entrada de la izquierda.

Puede proporcionar valores de Entidades de predicción de entrada más adecuados para el parámetro Entidades de distancia explicativas si aquellos que se utilizan para el entrenamiento se encuentran en un área de estudio o periodo de tiempo distintos.

Value Table
Rásteres explicativos coincidentes
(Opcional)

Una lista de los valores de Rásteres explicativos especificados para el parámetro Entidades de entrenamiento de entrada de la derecha y sus rásteres correspondientes del parámetro Entidades de predicción de entrada o el parámetro Superficie de predicción que se crearán a la izquierda.

Puede proporcionar valores de Rásteres explicativos más adecuados para el parámetro Entidades de predicción de entrada si aquellos que se utilizan para el entrenamiento se encuentran en un área de estudio o periodo de tiempo distintos.

Value Table
Entidades de entrenamiento de salida
(Opcional)

Las variables explicativas utilizadas para el entrenamiento (incluidos los valores de ráster y los cálculos de distancia muestreados), así como el campo Variable para predecir observado y las predicciones de acompañamiento que se utilizarán para evaluar en mayor profundidad el rendimiento del modelo entrenado.

Feature Class
Tabla de importancia variable de salida
(Opcional)

La tabla que contendrá información que describe la importancia de cada variable explicativa utilizada en el modelo. Las variables explicativas contienen campos, entidades de distancia y rásteres utilizados para crear el modelo.

Si el valor del parámetro Tipo de modelo es Incremento de gradiente, la importancia se mide por la ganancia, el peso y la cobertura, y la tabla contendrá estos campos. El resultado contiene un diagrama de barras, si el valor del parámetro Número de ciclos de validación es uno, o un diagrama de caja, si el valor es mayor que uno, de la importancia de las variables explicativas.

Table
Convertir polígonos a resolución ráster para entrenamiento
(Opcional)

Especifica la forma de tratar a los polígonos al entrenar el modelo si los valores de Entidades de entrenamiento de entrada son polígonos con un valor de categorías para Variable para predecir y si solo se han proporcionado valores de Rásteres de entrenamiento explicativos.

  • Activado: el polígono se dividirá en todas las celdas ráster con centroides que quedan dentro del polígono. Los valores de ráster de cada centroide se extraerán y utilizarán para entrenar el modelo. El modelo ya no se entrenará en el polígono, sino en los valores de ráster extraídos para cada centroide de celda. Esta es la opción predeterminada.

    Polígono dividido en celdas ráster

  • Desactivado: se asigna a cada polígono el valor medio de los rásteres continuos subyacentes y la mayoría en el caso de los rásteres de categorías.

    Valor de polígono asignado como promedio o mayoría

Boolean
Número de árboles
(Opcional)

El número de árboles que se crearán en los modelos basados en bosque y con incremento de gradiente. El valor predeterminado es 100.

Si el valor del parámetro Tipo de modelo es Basado en bosque, un mayor número de árboles dará lugar generalmente a predicciones del modelo más precisas; sin embargo, el modelo tardará más en calcularse. Si el valor del parámetro Tipo de modelo es Incremento de gradiente, un mayor número de árboles puede dar lugar a predicciones más precisas del modelo; sin embargo, también pueden llevar a un exceso de ajuste de los datos de entrenamiento. Para evitar el exceso de ajuste de los datos, proporcione valores para los parámetros Profundidad máxima de árbol, Regularización L2 (Lambda), Reducción de pérdida mínima para divisiones (Gamma) y Tasa de aprendizaje (Eta).

Long
Tamaño mínimo de hoja
(Opcional)

El número mínimo de observaciones requeridas para conservar una hoja (es decir, el nodo terminal de un árbol que no tiene más divisiones). El mínimo predeterminado para regresión es 5 y el mínimo predeterminado para clasificación es 1. En el caso de datos muy grandes, si aumenta estos números se reducirá el tiempo de ejecución de la herramienta.

Long
Profundidad máxima de árbol
(Opcional)

El número máximo de divisiones que se realizarán en un árbol. Si se utiliza una profundidad máxima grande, se podrán crear más divisiones, lo cual puede aumentar las probabilidades de exceso de ajuste en el modelo. Si el valor del parámetro Tipo de modelo es Basado en bosque, por defecto está basado en datos y depende del número de árboles creados y del número de variables incluidas. Si el valor del parámetro Tipo de modelo es Incremento de gradiente, el valor predeterminado es 6.

Long
Datos disponibles por árbol (%)
(Opcional)

El porcentaje de valores de Entidades de entrenamiento de entrada que se utilizarán para cada árbol de decisión. El valor predeterminado es del 100 por cien de los datos. Las muestras de cada árbol se toman aleatoriamente a partir de dos tercios de los datos especificados.

Cada árbol de decisión del bosque se crea con una muestra o un subconjunto aleatorios (aproximadamente dos tercios) de los datos de entrenamiento disponibles. El uso de un porcentaje menor de los datos de entrada para cada árbol de decisión disminuye el tiempo de ejecución de la herramienta en el caso de datasets muy grandes.

Long
Número de variables muestreadas aleatoriamente
(Opcional)

El número de variables explicativas que se utilizarán para crear cada árbol de decisión.

Cada árbol de decisión en los modelos basados en bosque y con incremento de gradiente se crea utilizando un subconjunto aleatorio de las variables explicativas especificadas. Al aumentar el número de variables utilizadas en cada árbol de decisión, aumentarán también las probabilidades de exceso de ajuste en el modelo, especialmente si existen una o varias variables dominantes. La forma predeterminada es utilizar la raíz cuadrada del número total de variables explicativas (campos, distancias y rásteres combinados) si el valor Variable para predecir es de categorías o dividir el número total de variables explicativas (campos, distancias y rásteres combinados) por 3 si el valor Variable para predecir es numérico.

Long
Datos de entrenamiento excluidos para la validación (%)
(Opcional)

El porcentaje (entre el 10 y el 50 por ciento) de los valores de Entidades de entrenamiento de entrada que se reservarán como el dataset de prueba para la validación. El modelo se entrenará sin este subconjunto aleatorio de datos, y los valores predichos por el modelo para esas entidades se compararán con los valores observados. El valor predeterminado es del 10 por ciento.

Double
Tabla de rendimiento de clasificación de salida (matriz de confusión)
(Opcional)

Una matriz de confusión que resume el rendimiento del modelo creado sobre los datos de validación. La matriz compara las categorías predichas por el modelo para los datos de validación con las categorías reales. Esta tabla puede utilizarse para calcular diagnósticos adicionales que no se incluyen en los mensajes de salida. Este parámetro está disponible cuando el valor Variable para predecir es categórico y el parámetro Tratar variable como variable de categorías está marcado.

Table
Tabla de validación de salida
(Opcional)

Una tabla que contiene el R2 de cada modelo si el valor de Variable para predecir no es de categorías, o bien la precisión de cada modelo si el valor es de categorías. Esta tabla contiene un gráfico de barras de la distribución de las precisiones o de los valores R2. Esta distribución se puede usar para evaluar la estabilidad del modelo. Este parámetro está disponible cuando el valor de Número de ciclos de validación es superior a 2.

Table
Compensar categorías dispersas
(Opcional)

Especifica si cada categoría del dataset de entrenamiento, independientemente de su frecuencia, se representará en cada árbol. Este parámetro solo está disponible si el valor del parámetro Tipo de modelo es Basado en bosque.

  • Activado: todos los árboles incluirán todas las categorías representadas en el dataset de entrenamiento.
  • Desactivado: los árboles se crearán en función de una muestra aleatoria de las categorías del dataset de entrenamiento. Esta es la opción predeterminada.

Boolean
Número de ciclos de validación
(Opcional)

El número de iteraciones de la herramienta.

La distribución de los valores R cuadrado (continuos) o precisiones (categóricas) de todos los modelos se puede mostrar utilizando el parámetro Tabla de validación de salida. Si el valor del parámetro Tipo de predicción es Predecir a ráster o Predecir a entidades, se utilizará el modelo que haya producido el valor R cuadrado medio o la precisión más altos para realizar las predicciones. El uso del valor medio ayuda a garantizar la estabilidad de las predicciones.

Long
Calcular incertidumbre
(Opcional)

Especifica si la incertidumbre de predicción se calculará al entrenar, predecir a entidades o predecir a ráster.

Este parámetro solo está disponible si el valor del parámetro Tipo de modelo es Basado en bosque.

  • Activado: se calculará un intervalo de incertidumbre de predicción.
  • Desactivado: no se calculará la incertidumbre. Esta es la opción predeterminada.
Boolean
Archivo de modelo entrenado de salida
(Opcional)

Un archivo de modelo de salida que guardará el modelo entrenado, que se puede utilizar más tarde para la predicción.

File
Tipo de modelo
(Opcional)

Especifica el método que se utilizará para crear el modelo.

  • Basado en bosqueSe creará un modelo utilizando una adaptación del algoritmo de bosque aleatorio. El modelo utilizará los votos de cientos de árboles de decisión. Cada árbol de decisión se creará a partir de un subconjunto generado aleatoriamente de los datos originales y las variables originales.
  • Incremento de gradienteSe creará un modelo utilizando el algoritmo Incremento de gradiente extremo (XGBoost). El modelo creará una secuencia de cientos de árboles en la que cada árbol subsiguiente corrige los errores de los árboles anteriores.
String
Regularización L2 (Lambda)
(Opcional)

Un término de regularización que reduce la sensibilidad del modelo a las entidades individuales. Si se aumenta este valor, el modelo es más conservador y evita el exceso de ajuste de los datos de entrenamiento. Si el valor es 0, el modelo se convierte en un incremento de gradiente tradicional. El valor predeterminado es 1.

Este parámetro solo está disponible si el valor del parámetro Tipo de modelo es Incremento de gradiente.

Double
Reducción de pérdida mínima para divisiones (Gamma)
(Opcional)

Un umbral para la reducción de pérdida mínima necesaria para dividir los árboles.

Las divisiones potenciales se evalúan para su reducción de pérdida. Si la división candidata tiene una reducción de pérdida superior a este valor umbral, se producirá la partición. Los valores de umbral más altos evitan el exceso de ajuste y dan lugar a modelos más conservadores con menos particiones. El valor predeterminado es 0.

Este parámetro solo está disponible si el valor del parámetro Tipo de modelo es Incremento de gradiente.

Double
Tasa de aprendizaje (Eta)
(Opcional)

Un valor que reduce la contribución de cada árbol a la predicción final. El valor debe ser mayor que 0 y menor o igual que 1. Una tasa de aprendizaje más baja evita el exceso de ajuste del modelo; sin embargo, puede requerir más tiempo de cómputo. El valor predeterminado es de 0,3.

Este parámetro solo está disponible si el valor del parámetro Tipo de modelo es Incremento de gradiente.

Double
Número máximo de bins para buscar divisiones
(Opcional)

El número de bins en que se dividirán los datos de entrenamiento para buscar el mejor punto de división. El valor no puede ser 1. El valor predeterminado es 0, que corresponde a la utilización de un algoritmo codicioso. El algoritmo codicioso creará una división candidata en cada punto de datos. No se recomienda proporcionar un número demasiado reducido de bins para la búsqueda porque provocará un rendimiento deficiente de la predicción del modelo.

Este parámetro solo está disponible si el valor del parámetro Tipo de modelo es Incremento de gradiente.

Long
Optimizar parámetros
(Opcional)

Especifica si se utilizará un método de optimización para encontrar el conjunto de hiperparámetros que logran un rendimiento óptimo del modelo.

  • Activado: se utiliza un método de optimización para encontrar el conjunto de hiperparámetros.
  • Desactivado: no se utiliza ningún método de optimización. Esta es la opción predeterminada.

Boolean
Método de optimización
(Opcional)

Especifica el método de optimización que se utilizará para seleccionar y probar los puntos de búsqueda para encontrar el conjunto óptimo de hiperparámetros. Los puntos de búsqueda son combinaciones de hiperparámetros dentro del espacio de búsqueda especificado por el parámetro Ajuste de parámetros del modelo. Esta opción está disponible si el parámetro Parámetros de optimización está activado.

  • Búsqueda aleatoria (rápida)Se utilizará un algoritmo de muestreo aleatorio estratificado para seleccionar los puntos de búsqueda dentro del espacio de búsqueda. Esta es la opción predeterminada.
  • Búsqueda aleatoria (robusta)Se utilizará un algoritmo de muestreo aleatorio estratificado para seleccionar los puntos de búsqueda. Cada búsqueda se ejecutará 10 veces utilizando un valor inicial aleatorio diferente. El resultado de cada búsqueda será la mediana del mejor ciclo determinado por el valor del parámetro Optimizar objetivo (Objetivo). Esta opción está disponible si el valor del parámetro Tipo de modelo es Basado en bosque.
  • Búsqueda de cuadrículaSe seleccionarán todos los puntos de búsqueda dentro del espacio de búsqueda.
String
Optimizar objetivo (Objetivo)
(Opcional)

Especifica la función objetivo o el valor que se minimizará o maximizará para encontrar el conjunto óptimo de hiperparámetros.

  • R cuadradoEl método de optimización maximizará R2 para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir no es de categorías. Este es el valor predeterminado cuando la variable para predecir no es de categorías.
  • Error cuadrático medio (RMSE)El método de optimización minimizará el error cuadrático medio para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir no es de categorías.
  • PrecisiónEl método de optimización maximizará la precisión para encontrar el modelo óptimo. Esta opción solo está disponible cuando la variable para predecir es de categorías. Este es el valor predeterminado cuando la variable para predecir es de categorías.
  • Coeficiente de correlación de Matthews (MCC)El método de optimización maximizará el coeficiente de correlación de Matthews para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir es de categorías.
  • Puntuación F1El método de optimización maximizará la puntuación F1 para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir es de categorías.
String
Número de ciclos para conjuntos de parámetros
(Opcional)

El número de puntos de búsqueda dentro del espacio de búsqueda especificado por el parámetro Ajuste de parámetros del modelo que se probarán. Este parámetro está disponible si el valor de Método de optimización es Búsqueda aleatoria (Rápida) o Búsqueda aleatoria (Robusta).

Long
Ajuste de parámetros del modelo
(Opcional)

Una lista de hiperparámetros y sus espacios de búsqueda. Personalice el espacio de búsqueda de cada hiperparámetro proporcionando un límite inferior, un límite superior y un intervalo. El límite inferior y el límite superior especifican el rango de valores posibles para el hiperparámetro.

A continuación, se indica el rango de valores válidos para cada hiperparámetro:

  • Número de árboles (number_of_trees): un valor entero superior a 1.
  • Profundidad máxima de árbol ((maximum_depth): un valor entero mayor o igual que 0.
  • Tamaño mínimo de hoja (minimum_leaf_size): un valor entero mayor que 1.
  • Datos disponibles por árbol (%) (sample_size): un valor entero mayor que 0 y menor o igual que 100.
  • Número de variables muestreadas aleatoriamente (random_variables): un valor entero menor o igual que el número de variables explicativas. Se incluyen aquí las variables explicativas de campos, entidades de distancia y rásteres.
  • Tasa de aprendizaje (Eta) (eta): un valor doble mayor que 0 y menor o igual que 1.
  • Regularización L2 (Lambda) (reg_lambda): un valor doble mayor o igual que 0.
  • Reducción de pérdida mínima para divisiones (Gamma) (gamma): un valor doble mayor o igual a 0.
  • Número máximo de bins para buscar divisiones (max_bins): un valor entero mayor que 1 o el valor 0. Un valor de 0 significa que el modelo creará una división candidata en cada punto de datos.

Value Table
Tabla de ajuste de los parámetros de salida
(Opcional)

Una tabla que contiene los ajustes de los parámetros y los valores del objetivo para cada ensayo de optimización. El resultado contiene un gráfico de todas las pruebas y sus valores objetivo. Esta opción está disponible si la opción Optimizar parámetros está activada.

Table
Incluir todas las probabilidades de predicción
(Opcional)

Para predecir variables categóricas, especifica si se predecirá la probabilidad de cada categoría de la variable categórica o solo la probabilidad de la categoría del registro. Por ejemplo, si una variable categórica tiene las categorías A, B y C, y el primer registro tiene la categoría B, use este parámetro para especificar si se predecirá la probabilidad de las categorías A, B y C o solo se pronosticará la probabilidad de la categoría B para el registro.

  • Activado: las probabilidades de todas las categorías de la variable categórica se predecirán y se incluirán en el resultado.
  • Desactivado: solo se predecirá e incluirá en el resultado la probabilidad de la categoría del registro. Esta es la opción predeterminada.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Capas ráster de incertidumbre de salida

Si el parámetro Calcular incertidumbre está activado, la herramienta calculará un intervalo de predicción del 90 por ciento sobre cada valor predicho del parámetro Variable para predecir.

Raster Layer

arcpy.stats.Forest(prediction_type, in_features, {variable_predict}, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {features_to_predict}, {output_features}, {output_raster}, {explanatory_variable_matching}, {explanatory_distance_matching}, {explanatory_rasters_matching}, {output_trained_features}, {output_importance_table}, {use_raster_values}, {number_of_trees}, {minimum_leaf_size}, {maximum_depth}, {sample_size}, {random_variables}, {percentage_for_training}, {output_classification_table}, {output_validation_table}, {compensate_sparse_categories}, {number_validation_runs}, {calculate_uncertainty}, {output_trained_model}, {model_type}, {reg_lambda}, {gamma}, {eta}, {max_bins}, {optimize}, {optimize_algorithm}, {optimize_target}, {num_search}, {model_param_setting}, {output_param_tuning_table}, {include_probabilities})
NombreExplicaciónTipo de datos
prediction_type

Especifica el modo de operación que se utilizará. La herramienta puede ejecutarse para entrenar un modelo solo para evaluar rendimientos, predecir entidades o crear una superficie de predicción.

  • TRAINSe entrenará un modelo, pero no se generará ninguna predicción. Utilice esta opción para evaluar la precisión del modelo antes de generar las predicciones. Esta opción generará diagnósticos de modelo de salida en la ventana de mensajes y un gráfico de importancia variable. Esta es la opción predeterminada.
  • PREDICT_FEATURESSe generarán predicciones o clasificaciones para las entidades. Se deben proporcionar variables explicativas tanto para las entidades de entrenamiento como para las entidades que se desea predecir. La salida de esta opción será una clase de entidad, diagnósticos de modelo en la ventana de mensajes y una tabla y un gráfico opcionales de importancia variable.
  • PREDICT_RASTERSe generará un ráster de predicción para el área en la que se intersecan los rásteres explicativos. Se deben proporcionar rásteres explicativos tanto para el área de entrenamiento como el área que se desea predecir. La salida de esta opción será una superficie de predicción, diagnósticos de modelo en la ventana de mensajes y una tabla y un gráfico opcionales de importancia variable.
String
in_features

La clase de entidad que contiene el valor del parámetro variable_predict y, opcionalmente, las variables explicativas de entrenamiento provenientes de los campos.

Feature Layer
variable_predict
(Opcional)

La variable del valor del parámetro in_features que contiene los valores que se desean usar 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)
  • CATEGORICALEl valor variable_predict es una variable de categorías y se realizará una clasificación.
  • NUMERICEl valor de variable_predict es continuo y se realizará una regresión. Esta es la configuración predeterminada
Boolean
explanatory_variables
[[Variable, Categorical],...]
(Opcional)

Una lista de campos que representan a las variables explicativas que ayudan a predecir el valor o la categoría del valor variable_predict. Use el valor del parámetro treat_variable_as_categorical en el caso de las variables que representen clases o categorías (tales como cobertura de suelo, presencia o ausencia). Especifique la variable como CATEGORICAL si representa clases o categorías tales como cobertura de suelo, presencia o ausencia, y especifique NUMERIC si es continua.

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

Las entidades de distancia de entrenamiento explicativas. Se crearán automáticamente variables explicativas mediante el cálculo de una distancia desde las entidades proporcionadas a los valores de in_features. Las distancias se calcularán desde cada una de las entidades del valor in_features hasta los valores más cercanos de distance_features. Si los valores de distance_features 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
[[Variable, Categorical],...]
(Opcional)

Las variables explicativas de entrenamiento extraídas de los rásteres. Las variables de entrenamiento explicativas se crearán automáticamente extrayendo valores de celda ráster. Para cada entidad del parámetro in_features, el valor de la celda ráster se extrae de esa ubicación exacta. Se usa remuestreo de ráster bilineal al extraer el valor de ráster, a no ser que este se especifique como de categorías, en cuyo caso se usa la asignación de vecino más cercano. Especifique el ráster como CATEGORICAL si representa clases o categorías tales como cobertura de suelo, presencia o ausencia, y especifique NUMERIC si es continuo.

Value Table
features_to_predict
(Opcional)

Una clase de entidad que representa las ubicaciones en las que se realizarán predicciones. Esta clase de entidad también debe contener las variables explicativas proporcionadas como campos que se correspondan con las utilizadas de los datos de entrenamiento.

Feature Layer
output_features
(Opcional)

La clase de entidad de salida que contiene los resultados de predicción.

Feature Class
output_raster
(Opcional)

El ráster de salida que contiene los resultados de predicción. El tamaño de celda predeterminado será el tamaño de celda máximo de las entradas ráster. Para definir otro tamaño de celda, utilice la configuración de entorno Tamaño de celda.

Raster Dataset
explanatory_variable_matching
[[Prediction, Training],...]
(Opcional)

Una lista de los valores de explanatory_variables especificados del parámetro in_features de la derecha y sus campos correspondientes del parámetro features_to_predict de la izquierda, por ejemplo, [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]].

Value Table
explanatory_distance_matching
[[Prediction, Training],...]
(Opcional)

Una lista de los valores de distance_features especificados para el parámetro in_features de la derecha y sus conjuntos de entidades correspondientes del parámetro features_to_predict de la izquierda.

Puede proporcionar valores de explanatory_distance_features más adecuados para el parámetro features_to_predict si aquellos que se utilizan para el entrenamiento se encuentran en un área de estudio o periodo de tiempo distintos.

Value Table
explanatory_rasters_matching
[[Prediction, Training],...]
(Opcional)

Una lista de los valores de explanatory_rasters especificados para el parámetro in_features de la derecha y sus rásteres correspondientes del parámetro features_to_predict o el parámetro output_raster que se crearán a la izquierda.

Puede proporcionar valores de explanatory_rasters más adecuados para el parámetro features_to_predict si aquellos que se utilizan para el entrenamiento se encuentran en un área de estudio o periodo de tiempo distintos.

Value Table
output_trained_features
(Opcional)

Las variables explicativas utilizadas para el entrenamiento (incluidos los valores de ráster y los cálculos de distancia muestreados), así como el campo variable_predict observado y las predicciones de acompañamiento que se utilizarán para evaluar en mayor profundidad el rendimiento del modelo entrenado.

Feature Class
output_importance_table
(Opcional)

La tabla que contendrá información que describe la importancia de cada variable explicativa (campos, entidades de distancia y rásteres) utilizada para crear el modelo.

Table
use_raster_values
(Opcional)

Especifica la forma de tratar a los polígonos al entrenar el modelo si los valores de in_features son polígonos con un valor de categorías para variable_predict y si solo se han proporcionado valores de explanatory_rasters.

  • TRUEEl polígono se dividirá en todas las celdas ráster con centroides que quedan dentro del polígono. Los valores de ráster de cada centroide se extraerán y utilizarán para entrenar el modelo. El modelo ya no se entrenará en el polígono, sino en los valores de ráster extraídos para cada centroide de celda. Esta es la opción predeterminada.
  • FALSESe asignará a cada polígono el valor medio de los rásteres continuos subyacentes y la mayoría en el caso de los rásteres de categorías.
Boolean
number_of_trees
(Opcional)

El número de árboles que se crearán en los modelos basados en bosque y con incremento de gradiente. El valor predeterminado es 100.

Si el valor del parámetro model_type es FOREST-BASED, un mayor número de árboles dará lugar generalmente a predicciones del modelo más precisas; sin embargo, el modelo tardará más en calcularse. Si el valor del parámetro model_type es GRADIENT_BOOSTED, un mayor número de árboles puede dar lugar a predicciones más precisas del modelo; sin embargo, también pueden llevar a un exceso de ajuste de los datos de entrenamiento. Para evitar el exceso de ajuste de los datos, proporcione valores para los parámetros maximum_depth, reg_lambda, gamma y eta.

Long
minimum_leaf_size
(Opcional)

El número mínimo de observaciones requeridas para conservar una hoja (es decir, el nodo terminal de un árbol que no tiene más divisiones). El mínimo predeterminado para regresión es 5 y el mínimo predeterminado para clasificación es 1. En el caso de datos muy grandes, si aumenta estos números se reducirá el tiempo de ejecución de la herramienta.

Long
maximum_depth
(Opcional)

El número máximo de divisiones que se realizarán en un árbol. Si se utiliza una profundidad máxima grande, se podrán crear más divisiones, lo cual puede aumentar las probabilidades de exceso de ajuste en el modelo. Si el valor del parámetro model_type es FOREST-BASED, el valor predeterminado se basa en datos y depende del número de árboles creados y el número de variables incluidas. Si el valor del parámetro model_type es GRADIENT_BOOSTED, el valor predeterminado es 6.

Long
sample_size
(Opcional)

El porcentaje de valores de in_features que se utilizarán para cada árbol de decisión. El valor predeterminado es del 100 por cien de los datos. Las muestras de cada árbol se toman aleatoriamente a partir de dos tercios de los datos especificados.

Cada árbol de decisión del bosque se crea con una muestra o un subconjunto aleatorios (aproximadamente dos tercios) de los datos de entrenamiento disponibles. El uso de un porcentaje menor de los datos de entrada para cada árbol de decisión disminuye el tiempo de ejecución de la herramienta en el caso de datasets muy grandes.

Long
random_variables
(Opcional)

El número de variables explicativas que se utilizarán para crear cada árbol de decisión.

Cada árbol de decisión del bosque se crea con un subconjunto aleatorio de las variables explicativas especificadas. Al aumentar el número de variables utilizadas en cada árbol de decisión, aumentarán también las probabilidades de exceso de ajuste en el modelo, especialmente si existen una o varias variables dominantes. Una práctica habitual es utilizar la raíz cuadrada del número total de variables explicativas (campos, distancias y rásteres combinados) si el valor de variable_predict es de categorías o dividir el número total de variables explicativas (campos, distancias y rásteres combinados) por 3 si el valor de variable_predict es numérico.

Long
percentage_for_training
(Opcional)

El porcentaje (entre el 10 y el 50 por ciento) de los valores de in_features que se reservarán como el dataset de prueba para la validación. El modelo se entrenará sin este subconjunto aleatorio de datos, y los valores observados para esas entidades se compararán con el valor predicho. El valor predeterminado es del 10 por ciento.

Double
output_classification_table
(Opcional)

Una matriz de confusión que resume el rendimiento del modelo creado sobre los datos de validación. La matriz compara las categorías predichas por el modelo para los datos de validación con las categorías reales. Esta tabla puede utilizarse para calcular diagnósticos adicionales que no se incluyen en los mensajes de salida. Este parámetro está disponible cuando el valor variable_predict es de categorías y el valor del parámetro treat_variable_as_categorical es CATEGORICAL.

Table
output_validation_table
(Opcional)

Una tabla que contiene el R2 de cada modelo si el valor de variable_predict no es de categorías, o bien la precisión de cada modelo si el valor es de categorías. Esta tabla contiene un gráfico de barras de la distribución de las precisiones o de los valores R2. Esta distribución se puede usar para evaluar la estabilidad del modelo. Este parámetro está disponible cuando el valor de number_validation_runs es superior a 2.

Table
compensate_sparse_categories
(Opcional)

Especifica si cada categoría del dataset de entrenamiento, independientemente de su frecuencia, se representará en cada árbol. Este parámetro está disponible si el valor del parámetro model_type es FOREST-BASED.

  • TRUETodos los árboles incluirán todas las categorías representadas en el dataset de entrenamiento.
  • FALSELos árboles se crearán en función de una muestra aleatoria de las categorías del dataset de entrenamiento. Esta es la opción predeterminada.
Boolean
number_validation_runs
(Opcional)

El número de iteraciones de la herramienta.

La distribución de los valores R cuadrado o las precisiones de todos los modelos pueden visualizarse utilizando el parámetro output_validation_table. Si el valor del parámetro prediction_type es PREDICT_RASTER o PREDICT_FEATURES, se utilizará el modelo que haya producido el valor R cuadrado medio o la precisión más altos para hacer predicciones. El uso del valor medio ayuda a garantizar la estabilidad de las predicciones.

Long
calculate_uncertainty
(Opcional)

Especifica si la incertidumbre de predicción se calculará al entrenar, predecir a entidades o predecir a ráster.

Este parámetro está disponible si el valor del parámetro model_type es FOREST-BASED.

  • TRUESe calculará un intervalo de incertidumbre de predicción.
  • FALSENo se calculará la incertidumbre. Esta es la opción predeterminada.
Boolean
output_trained_model
(Opcional)

Un archivo de modelo de salida que guardará el modelo entrenado, que se puede utilizar más tarde para la predicción.

File
model_type
(Opcional)

Especifica el método que se utilizará para crear el modelo.

  • FOREST-BASEDSe creará un modelo utilizando una adaptación del algoritmo de bosque aleatorio. El modelo utilizará los votos de cientos de árboles de decisión. Cada árbol de decisión se creará a partir de un subconjunto generado aleatoriamente de los datos originales y las variables originales.
  • GRADIENT_BOOSTEDSe creará un modelo utilizando el algoritmo Incremento de gradiente extremo (XGBoost). El modelo creará una secuencia de cientos de árboles en la que cada árbol subsiguiente corrige los errores de los árboles anteriores.
String
reg_lambda
(Opcional)

Un término de regularización que reduce la sensibilidad del modelo a las entidades individuales. Si se aumenta este valor, el modelo es más conservador y evita el exceso de ajuste de los datos de entrenamiento. Si el valor es 0, el modelo se convierte en un incremento de gradiente tradicional. El valor predeterminado es 1.

Este parámetro está disponible si el valor del parámetro model_type es GRADIENT_BOOSTED.

Double
gamma
(Opcional)

Un umbral para la reducción de pérdida mínima necesaria para dividir los árboles.

Las divisiones potenciales se evalúan para su reducción de pérdida. Si la división candidata tiene una reducción de pérdida superior a este valor umbral, se producirá la partición. Los valores de umbral más altos evitan el exceso de ajuste y dan lugar a modelos más conservadores con menos particiones. El valor predeterminado es 0.

Este parámetro está disponible si el valor del parámetro model_type es GRADIENT_BOOSTED.

Double
eta
(Opcional)

Un valor que reduce la contribución de cada árbol a la predicción final. El valor debe ser mayor que 0 y menor o igual que 1. Una tasa de aprendizaje más baja evita el exceso de ajuste del modelo; sin embargo, puede requerir más tiempo de cómputo. El valor predeterminado es de 0,3.

Este parámetro está disponible si el valor del parámetro model_type es GRADIENT_BOOSTED.

Double
max_bins
(Opcional)

El número de bins en que se dividirán los datos de entrenamiento para buscar el mejor punto de división. El valor no puede ser 1. El valor predeterminado es 0, que corresponde a la utilización de un algoritmo codicioso. El algoritmo codicioso creará una división candidata en cada punto de datos. No se recomienda proporcionar un número demasiado reducido de bins para la búsqueda porque provocará un rendimiento deficiente de la predicción del modelo.

Este parámetro está disponible si el valor del parámetro model_type es GRADIENT_BOOSTED.

Long
optimize
(Opcional)

Especifica si se utilizará un método de optimización para encontrar el conjunto de hiperparámetros que logran un rendimiento óptimo del modelo.

  • TRUESe utiliza un método de optimización para encontrar el conjunto de hiperparámetros.
  • FALSENo se utiliza ningún método de optimización. Esta es la opción predeterminada.
Boolean
optimize_algorithm
(Opcional)

Especifica el método de optimización que se utilizará para seleccionar y probar los puntos de búsqueda para encontrar el conjunto óptimo de hiperparámetros. Los puntos de búsqueda son combinaciones de hiperparámetros dentro del espacio de búsqueda especificado por el parámetro model_param_setting. Esta opción está disponible si el valor del parámetro optimize es TRUE.

  • RANDOMSe utilizará un algoritmo de muestreo aleatorio estratificado para seleccionar los puntos de búsqueda dentro del espacio de búsqueda. Esta es la opción predeterminada.
  • RANDOM_ROBUSTSe utilizará un algoritmo de muestreo aleatorio estratificado para seleccionar los puntos de búsqueda. Cada búsqueda se ejecutará 10 veces utilizando un valor inicial aleatorio diferente. El resultado de cada búsqueda será la mediana del mejor ciclo determinado por el valor del parámetro optimize_target. Esta opción está disponible si el valor del parámetro model_type es FOREST-BASED.
  • GRIDSe seleccionarán todos los puntos de búsqueda dentro del espacio de búsqueda.
String
optimize_target
(Opcional)

Especifica la función objetivo o el valor que se minimizará o maximizará para encontrar el conjunto óptimo de hiperparámetros.

  • R2El método de optimización maximizará R2 para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir no es de categorías. Este es el valor predeterminado cuando la variable para predecir no es de categorías.
  • RMSEEl método de optimización minimizará el error cuadrático medio para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir no es de categorías.
  • ACCURACYEl método de optimización maximizará la precisión para encontrar el modelo óptimo. Esta opción solo está disponible cuando la variable para predecir es de categorías. Este es el valor predeterminado cuando la variable para predecir es de categorías.
  • MCCEl método de optimización maximizará el coeficiente de correlación de Matthews para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir es de categorías.
  • F1-SCOREEl método de optimización maximizará la puntuación F1 para encontrar el conjunto óptimo de hiperparámetros. Esta opción solo está disponible cuando la variable para predecir es de categorías.
String
num_search
(Opcional)

El número de puntos de búsqueda dentro del espacio de búsqueda especificado por el parámetro model_param_setting que se probarán. Este parámetro está disponible si el valor del parámetro optimize_algorithm es RANDOM o RANDOM_ROBUST.

Long
model_param_setting
[model_param_setting,...]
(Opcional)

Una lista de hiperparámetros y sus espacios de búsqueda. Personalice el espacio de búsqueda de cada hiperparámetro proporcionando un límite inferior, un límite superior y un intervalo. El límite inferior y el límite superior especifican el rango de valores posibles para el hiperparámetro.

A continuación, se indica el rango de valores válidos para cada hiperparámetro:

  • Número de árboles (number_of_trees): un valor entero superior a 1.
  • Profundidad máxima de árbol ((maximum_depth): un valor entero mayor o igual que 0.
  • Tamaño mínimo de hoja (minimum_leaf_size): un valor entero mayor que 1.
  • Datos disponibles por árbol (%) (sample_size): un valor entero mayor que 0 y menor o igual que 100.
  • Número de variables muestreadas aleatoriamente (random_variables): un valor entero menor o igual que el número de variables explicativas. Se incluyen aquí las variables explicativas de campos, entidades de distancia y rásteres.
  • Tasa de aprendizaje (Eta) (eta): un valor doble mayor que 0 y menor o igual que 1.
  • Regularización L2 (Lambda) (reg_lambda): un valor doble mayor o igual que 0.
  • Reducción de pérdida mínima para divisiones (Gamma) (gamma): un valor doble mayor o igual a 0.
  • Número máximo de bins para buscar divisiones (max_bins): un valor entero mayor que 1 o el valor 0. Un valor de 0 significa que el modelo creará una división candidata en cada punto de datos.

Value Table
output_param_tuning_table
(Opcional)

Una tabla que contiene los ajustes de los parámetros y los valores del objetivo para cada ensayo de optimización. El resultado contiene un gráfico de todas las pruebas y sus valores objetivo. Esta opción está disponible si optimize es TRUE.

Table
include_probabilities
(Opcional)

Para predecir variables categóricas, especifica si se predecirá la probabilidad de cada categoría de la variable categórica o solo la probabilidad de la categoría del registro. Por ejemplo, si una variable categórica tiene las categorías A, B y C, y el primer registro tiene la categoría B, use este parámetro para especificar si se predecirá la probabilidad de las categorías A, B y C o solo se pronosticará la probabilidad de la categoría B.

  • ALL_PROBABILITIESLas probabilidades de todas las categorías de la variable categórica se predecirán y se incluirán en el resultado.
  • HIGHEST_PROBABILITY_ONLYSolo se predecirá e incluirá en el resultado la probabilidad de la categoría del registro. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
output_uncertainty_raster_layers

Si calculate_uncertainty está definido como TRUE, la herramienta calculará un intervalo de predicción del 90 por ciento sobre cada valor predicho del parámetro variable_predict.

Raster Layer

Muestra de código

Ejemplo 1 de Forest (ventana de Python)

En el siguiente script de Python se muestra cómo utilizar la función Forest.

import arcpy
arcpy.env.workspace = r"c:\data"

# Forest-based model using only the training method and all data
# comes from a single polygon feature class. The tool excludes 10% of the 
# input features from training and uses these values to validate the model.

prediction_type = "TRAIN"
in_features = r"Boston_Vandalism.shp"
variable_predict = "VandCnt"
explanatory_variables = [["Educat", "false"], ["MedAge", "false"], 
    ["HHInc", "false"], ["Pop", "false"]]
output_trained_features = "TrainingFeatures.shp"
number_of_trees = 100
sample_size = 100
percentage_for_training = 10

arcpy.stats.Forest(prediction_type, in_features, variable_predict, None,
    explanatory_variables, None, None, None, None, None, None, None, None,
    output_trained_features, None, True, number_of_trees, None, None, sample_size, 
    None, percentage_for_training)
Ejemplo 2 de Forest (script independiente)

En el siguiente script de Python se muestra cómo utilizar la función Forest para predecir a entidades.

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True

# Set the work space to a gdb
arcpy.env.workspace = r"C:\Data\BostonCrimeDB.gdb"

# Forest-based model taking advantage of both distance features and 
# explanatory rasters. The training and prediction data has been manually
# split so the percentage to exclude parameter was set to 0. A variable importance
# table is created to help assess results and advanced options have been used
# to fine-tune the model.

prediction_type = "PREDICT_FEATURES"
in_features = r"Boston_Vandalism_Training"
variable_predict = "Vandalism_Count"
treat_variable_as_categorical = None
explanatory_variables = [["EduClass", "true"], ["MedianAge", "false"],
    ["HouseholdIncome", "false"], ["TotalPopulation", "false"]]
distance_features = r"Boston_Highways"
explanatory_rasters = r"LandUse true"
features_to_predict = r"Boston_Vandalism_Prediction"
output_features = r"Prediction_Output"
output_raster = None
explanatory_variable_matching = [["EduClass", "EduClass"], ["MedianAge", "MedianAge"], 
    ["HouseholdIncome", "HouseholdIncome"], ["TotalPopulation", "TotalPopulation"]]
explanatory_distance_matching = [["Boston_Highways", "Boston_Highways"]]
explanatory_rasters_matching = [["LandUse", "LandUse"]]
output_trained_features = r"Training_Output"
output_importance_table = r"Variable_Importance"
use_raster_values = True
number_of_trees = 100
minimum_leaf_size = 2
maximum_level = 5
sample_size = 100
random_sample = 3
percentage_for_training = 0

arcpy.stats.Forest(prediction_type, in_features, variable_predict,
    treat_variable_as_categorical, explanatory_variables, distance_features,
    explanatory_rasters, features_to_predict, output_features, output_raster,
    explanatory_variable_matching, explanatory_distance_matching, 
    explanatory_rasters_matching, output_trained_features, output_importance_table,
    use_raster_values, number_of_trees, minimum_leaf_size, maximum_level,
    sample_size, random_sample, percentage_for_training)
Ejemplo 3 de Forest (script independiente)

En el siguiente script de Python se muestra cómo utilizar la función Forest para crear una superficie de predicción.

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True

# Set the work space to a gdb
arcpy.env.workspace = r"C:\Data\Landsat.gdb"

# Using a forest-based model to classify a Landsat image. The TrainingPolygons feature 
# class was created manually and is used to train the model to 
# classify the remainder of the Landsat image.

prediction_type = "PREDICT_RASTER"
in_features = r"TrainingPolygons"
variable_predict = "LandClassName"
treat_variable_as_categorical = "CATEGORICAL" 
explanatory_variables = None
distance_features = None
explanatory_rasters = [["Band1", "false"], ["Band2", "false"], ["Band3", "false"]]
features_to_predict = None
output_features = None
output_raster = r"PredictionSurface"
explanatory_variable_matching = None
explanatory_distance_matching = None
explanatory_rasters_matching = [["Band1", "Band1"], ["Band2", "Band2"], ["Band3", "Band3"]]
output_trained_features = None
output_importance_table = None
use_raster_values = True
number_of_trees = 100
minimum_leaf_size = None
maximum_level = None
sample_size = 100
random_sample = None
percentage_for_training = 10

arcpy.stats.Forest(prediction_type, in_features, variable_predict,
    treat_variable_as_categorical, explanatory_variables, distance_features,
    explanatory_rasters, features_to_predict, output_features, output_raster,
    explanatory_variable_matching, explanatory_distance_matching, 
    explanatory_rasters_matching, output_trained_features, output_importance_table,
    use_raster_values, number_of_trees, minimum_leaf_size, maximum_level,
    sample_size, random_sample, percentage_for_training)

Entornos

Casos especiales

Generador de números aleatorios

El tipo de generador de números aleatorios que se utiliza siempre es Mersenne Twister.

Factor de procesamiento en paralelo

El procesamiento en paralelo solo se usa cuando se hacen predicciones.