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

Resumen

Crea modelos y genera predicciones mediante una adaptación del algoritmo de bosque aleatorio de Leo Breiman y Adele Cutler, que es un método de aprendizaje automático supervisado. 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 bosque

Ilustración

Ilustración de la herramienta Clasificación y regresión basadas en bosque

Uso

  • Esta herramienta crea cientos de árboles, conocidos como un conjunto de árboles de decisiones, los cuales se utilizan para crear un modelo que puede emplearse para la predicción. Cada árbol de decisión se crea mediante partes generadas aleatoriamente de los datos (de entrenamiento) originales. Cada árbol genera su propia predicción y vota sobre el resultado. El modelo de bosque 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.

  • Esta herramienta puede usarse en tres modos de operación diferentes. La opción Entrenar se puede usar para evaluar el rendimiento de distintos modelos al explorar distintas variables explicativas y ajustes de la herramienta. Una vez encontrado un buen modelo, puede usar 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 ArcGIS Spatial Analyst extension.

  • Esta herramienta produce una variedad de salidas. Entidades entrenadas de salida contendrá todos los valores de Entidades de entrenamiento de entrada usados en el modelo creado, así como todas las variables explicativas utilizadas en el modelo (incluidos los campos de entrada usados, las distancias calculadas y cualquier valor de ráster extraído o calculado). También contendrá predicciones para todas las entidades usadas para entrenar el modelo, lo cual puede resultar útil para evaluar el rendimiento del modelo creado. Cuando se usa esta herramienta para la predicción, producirá una nueva clase de entidad que contiene los valores de Entidades predichas de salida o un nuevo valor de Superficie de predicción de salida si se proporcionan rásteres explicativos.

  • El parámetro Archivo de modelo entrenado de salida se puede usar para guardar los resultados del modelo entrenado como un archivo reutilizable. La herramienta Predecir con archivo de modelo de estadística espacial se puede utilizar para predecir a nuevas entidades mediante el archivo de modelo.

  • Cuando se usa la opción Predecir a entidades, se crea una nueva clase de entidad que contiene los valores de Entidades predichas de salida. Cuando se usa la opción Predecir a ráster, se crea un nuevo valor de Superficie de predicción de salida.

  • Esta herramienta también crea mensajes y gráficos 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 la herramienta Clasificación y predicción basadas en bosque a través del Historial de geoprocesamiento. Los mensajes contienen información acerca de las características del modelo, errores fuera de bolsa, importancia variable y diagnósticos de validación.

    Puede usar el parámetro Tabla de importancia variable de salida para crear una tabla para visualizar un gráfico de importancia variable para su evaluación. Los 20 valores de importancia variable principales también se reflejan en la ventana de mensajes. Se puede acceder al gráfico directamente bajo la capa en el panel Contenido.

  • 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 (las variables del tipo de cadena de caracteres aparecerán activadas automáticamente). 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 esta 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. Las distancias se calculan desde cada uno de los valores de Entidades de distancia de entrenamiento explicativas de entrada hasta el valor de Entidad de entrenamiento de entrada más cercano. 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 explicativas con el mismo nombre ni eliminar nombres de capas duplicados en las listas desplegables. Para evitar este problema, asegúrese de que todas las capas tienen nombres únicos.

  • 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.

  • 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).

  • Los modelos basados en bosque no realizan extrapolación: solo pueden clasificar o predecir un valor con el que se haya 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.

  • Para usar datasets de mosaico como variables explicativas, utilice 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. El aumento del número de árboles del modelo de bosque dará lugar a una predicción de modelo más precisa, pero el modelo tardará más en calcularse.

  • 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 valor de Variable para predecir. Si el 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 se utiliza la opción 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 al utilizar la opción Predecir a ráster del parámetro Tipo de predicción. 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.
    • 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 funcionamiento de la herramienta. 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 configuració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 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 la herramienta realizará clasificación.
  • Desactivado: el valor de Variable para predecir es continua 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 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)

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 Entidades de entrenamiento de entrada. Las distancias se calculan desde cada uno de los valores de Entidades de distancia de entrenamiento explicativas de entrada hasta el valor de Entidades de entrenamiento de entrada más cercano. 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 (campos, entidades de distancia y rásteres) utilizada en el modelo creado. Se puede acceder al gráfico creado a partir de esta tabla desde el panel Contenido.

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 especificado 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 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.
    Valor de polígono asignado como promedio o mayoría

Boolean
Número de árboles
(Opcional)

La cantidad de árboles que se crearán en el modelo de bosque. Un mayor número de árboles por lo general dará lugar a una predicción de modelo más precisa, pero el modelo tardará más en calcularse. El número predeterminado de árboles es de 100.

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. El valor predeterminado se basa en datos y depende del número de árboles creados y el número de variables incluidas.

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. Si utiliza un porcentaje menor de los datos de entrada para cada árbol de decisión, se aumenta la velocidad de la herramienta si los datasets son 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 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 consiste en utilizar la raíz cuadrada del número total de variables explicativas (suma de campos, distancias y rásteres) si el valor de Variable para predecir es de categorías, o bien en dividir el número total de variables explicativas (suma de campos, distancias y rásteres) entre 3 si el valor de 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 observados para esas entidades se compararán con los valores predichos. 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 para la clasificación que resume el rendimiento del modelo creado. Esta tabla se puede usar para calcular otros diagnósticos además de las mediciones de precisión y sensibilidad que calcula la herramienta en los mensajes de salida.

Table
Tabla de validación de salida
(Opcional)

Si el valor de Número de ciclos de validación especificado es mayor que 2, esta tabla crea un gráfico de la distribución de R2 para cada modelo. Esta distribución se puede usar para evaluar la estabilidad del modelo.

Table
Compensar categorías dispersas
(Opcional)

Especifica si cada categoría del dataset de entrenamiento, independientemente de su frecuencia, se representará en cada árbol.

  • 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 R2 de cada ciclo se puede mostrar con el parámetro Tabla de validación de salida. Cuando está definido y se han generado predicciones, solo el modelo que produjo el valor R2 más alto se usará para 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.

  • 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

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

Especifica el modo de funcionamiento de la herramienta. 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 configuració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 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 de variable_predict es una variable de categorías y la herramienta realizará clasificación.
  • NUMERICEs valor de variable_predict es continuo y la herramienta realizará 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 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 calculan desde cada uno de los valores de distance_features de entrada hasta el valor de in_features más cercano. 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 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_to_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 en el modelo creado.

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 especificado 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)

La cantidad de árboles que se crearán en el modelo de bosque. Un mayor número de árboles por lo general dará lugar a una predicción de modelo más precisa, pero el modelo tardará más en calcularse. El número predeterminado de árboles es de 100.

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. El valor predeterminado se basa en datos y depende del número de árboles creados y el número de variables incluidas.

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. Si utiliza un porcentaje menor de los datos de entrada para cada árbol de decisión, se aumenta la velocidad de la herramienta si los datasets son 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 consiste en utilizar la raíz cuadrada del número total de variables explicativas (suma de campos, distancias y rásteres) si el valor de variable_predict es de categorías, o bien en dividir el número total de variables explicativas (suma de campos, distancias y rásteres) entre 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 para la clasificación que resume el rendimiento del modelo creado. Esta tabla se puede usar para calcular otros diagnósticos además de las mediciones de precisión y sensibilidad que calcula la herramienta en los mensajes de salida.

Table
output_validation_table
(Opcional)

Si el valor de Número de ciclos de validación especificado es mayor que 2, esta tabla crea un gráfico de la distribución de R2 para cada modelo. Esta distribución se puede usar para evaluar la estabilidad del modelo.

Table
compensate_sparse_categories
(Opcional)

Especifica si cada categoría del dataset de entrenamiento, independientemente de su frecuencia, se representará en cada árbol.

  • 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 R2 de cada ciclo se puede mostrar con el parámetro Tabla de validación de salida. Cuando está definido y se han generado predicciones, solo el modelo que produjo el valor R2 más alto se usará para 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.

  • 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

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_to_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.