Evaluar predicciones con validación cruzada (Estadística espacial)

Resumen

Evalúa el rendimiento de los modelos predictivos con validación cruzada. Esta herramienta genera métricas de validación para los modelos creados con las herramientas Clasificación y regresión basadas en bosques y aumentadas, Regresión lineal generalizada y Predicción de presencia única. Permite especificar el tipo de evaluación (por ejemplo, K iteraciones o K iteraciones espacial), el número de grupos y el equilibrio de eventos raros para garantizar una evaluación del modelo sólida e imparcial.

Obtener más información sobre cómo funciona Evaluar predicciones con validación cruzada

Ilustración

Ilustración de la herramienta Evaluar predicciones con validación cruzada

Uso

  • El parámetro Tipo de evaluación tiene las siguientes opciones para dividir las entidades en grupos:

    • K iteraciones espacial: utilice la validación cruzada espacial para evaluar cómo un modelo predecirá las entidades que se encuentran geográficamente fuera del área de estudio de los datos de entrenamiento.
    • K iteraciones aleatoria: utilice la validación cruzada aleatoria para evaluar cómo un modelo predecirá las entidades que se encuentran geográficamente dentro del área de estudio de los datos de entrenamiento.

  • Cuando se utiliza la clasificación para predecir eventos raros o categorías desequilibradas, utilice el parámetro Tipo de equilibrio para equilibrar el número de muestras dentro de cada nivel categórico. Pruebe los diferentes métodos de equilibrio en esta herramienta; a continuación, seleccione el método de equilibrio que mejor haya funcionado y ejecútelo en el dataset de entrenamiento completo antes de realizar la predicción con la herramienta Preparar datos para predicción.

  • La validación cruzada no se utiliza para generar un único modelo o archivo de modelo. Genera métricas de precisión que se pueden utilizar para evaluar la eficacia con la que un modelo y sus parámetros predicen los datos que se excluyeron cuando se entrenó el modelo.

  • Esta herramienta no aceptará entidades de análisis que se sobremuestrearon primero en la herramienta Preparar datos para predicción, es decir, equilibradas con sobremuestreo aleatorio o SMOTE. Los datos sobremuestreados no se pueden utilizar en un conjunto de validación debido a la fuga de datos.

  • Se respetan los parámetros de la herramienta de predicción original. Sin embargo, para los resultados de análisis de la herramienta Clasificación y regresión basada en bosques y aumentadas, los datos de validación se establecen en 0. Si se utilizó el parámetro Optimizar parámetros en la herramienta Clasificación y regresión basada en bosques y aumentadas, se utilizarán los parámetros óptimos de la ejecución original de la herramienta para ejecutar la validación cruzada.

  • La herramienta crea los siguientes resultados:

    • Entidades de salida: registra el dataset de entrenamiento y los resultados de entrenamiento y predicción de cada entidad del dataset de entrenamiento.
    • Tabla de validación de salida: registra las métricas de evaluación de cada ejecución de validación.
    La herramienta también crea muchos mensajes de geoprocesamiento útiles, incluida la tabla de estadísticas de diagnóstico medias fuera de la muestra.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de resultados de análisis

La clase de entidades que contiene los resultados de salida de entrenamiento de la herramienta Clasificación y regresión basada en bosques y aumentadas, Regresión lineal generalizada o Predicción de presencia única. Los resultados del entrenamiento de predicción se evaluarán con validación cruzada.

Feature Layer
Entidades de salida

Las entidades de salida que contendrán las variables independientes originales, la variable dependiente y campos adicionales que resumen los resultados de la validación cruzada.

Feature Class
Tabla de validación de salida

La tabla de salida que contendrá las métricas de evaluación para cada ejecución de validación cruzada.

Table
Entidades de entrada de análisis

Las entidades de entrada que se utilizarán en el análisis predictivo que produjo las entidades de resultado del análisis.

Feature Layer
Tipo de evaluación
(Opcional)

Especifica el método que se utilizará para dividir el valor del parámetro Entidades de resultado del análisis en k grupos.

  • K iteraciones aleatoriasLas entidades de los resultados del análisis se dividirán aleatoriamente en k grupos. Cada grupo contendrá el mismo número de entidades o un número similar. Si se predicen categorías (clasificación), todas las categorías de la variable dependiente aparecerán en cada grupo de entrenamiento. Esta es la opción predeterminada.
  • K iteraciones espacialesLas entidades de los resultados del análisis se dividirán espacialmente en k grupos utilizando el agrupamiento k-means en los centroides o puntos poligonales de entrada. Si se predicen categorías (clasificación), todas las categorías de la variable dependiente aparecerán en cada grupo de entrenamiento. Cada grupo está separado espacialmente de los demás.
String
Número de grupos
(Opcional)

El número de grupos en los que se dividirá el valor del parámetro Entidades del resultado del análisis. El número de grupos debe ser mayor que 1. El valor predeterminado es 10.

Long
Tipo de equilibrio
(Opcional)

Especifica el método que se utilizará para equilibrar el número de muestras de cada categoría de variable dependiente en el grupo de entrenamiento. Este parámetro está activo si el modelo original predijo una variable de categorías.

  • NingunoLas entidades del resultado del análisis no se equilibrarán. Esta es la opción predeterminada.
  • Submuestreo aleatorioSe eliminarán entidades aleatorias de cada clase no minoritaria hasta que el número de entidades coincida con el número de entidades de la clase minoritaria.
  • Submuestreo de TomekSe eliminarán las entidades de cada clase no minoritaria que estén cerca de las entidades de la clase minoritaria. Este método mejorará el límite entre las clases; sin embargo, cada clase puede tener un número diferente de entidades.
  • Submuestreo de Medoides KLas entidades de la clase no minoritaria que no sean representativas de la clase se eliminarán hasta que el número de entidades coincida con el número de entidades de la clase minoritaria.
  • Sobremuestreo aleatorioLas entidades de la clase minoritaria se duplicarán aleatoriamente hasta que el número de entidades coincida con el número de entidades de la clase mayoritaria.
  • SMOTE (sobremuestreo)Se generarán entidades sintéticas para la clase minoritaria mediante la interpolación entre las entidades existentes hasta que el número de entidades coincida con el número de entidades de la clase mayoritaria.
String

arcpy.stats.CrossValidate(analysis_result_features, out_features, out_table, analysis_input_features, {evaluation_type}, {num_groups}, {balancing_type})
NombreExplicaciónTipo de datos
analysis_result_features

La clase de entidades que contiene los resultados de salida de entrenamiento de la herramienta Clasificación y regresión basada en bosques y aumentadas, Regresión lineal generalizada o Predicción de presencia única. Los resultados del entrenamiento de predicción se evaluarán con validación cruzada.

Feature Layer
out_features

Las entidades de salida que contendrán las variables independientes originales, la variable dependiente y campos adicionales que resumen los resultados de la validación cruzada.

Feature Class
out_table

La tabla de salida que contendrá las métricas de evaluación para cada ejecución de validación cruzada.

Table
analysis_input_features

Las entidades de entrada que se utilizarán en el análisis predictivo que produjo las entidades de resultado del análisis.

Feature Layer
evaluation_type
(Opcional)

Especifica el método que se utilizará para dividir el valor del parámetro analysis_result_features en k grupos.

  • RANDOM_KFOLDLas entidades de los resultados del análisis se dividirán aleatoriamente en k grupos. Cada grupo contendrá el mismo número de entidades o un número similar. Si se predicen categorías (clasificación), todas las categorías de la variable dependiente aparecerán en cada grupo de entrenamiento. Esta es la opción predeterminada.
  • SPATIAL_KFOLDLas entidades de los resultados del análisis se dividirán espacialmente en k grupos utilizando el agrupamiento k-means en los centroides o puntos poligonales de entrada. Si se predicen categorías (clasificación), todas las categorías de la variable dependiente aparecerán en cada grupo de entrenamiento. Cada grupo está separado espacialmente de los demás.
String
num_groups
(Opcional)

El número de grupos en los que se dividirá el valor del parámetro analysis_result_features. El número de grupos debe ser mayor que 1. El valor predeterminado es 10.

Long
balancing_type
(Opcional)

Especifica el método que se utilizará para equilibrar el número de muestras de cada categoría de variable dependiente en el grupo de entrenamiento. Este parámetro está activo si el modelo original predijo una variable de categorías.

  • NONELas entidades del resultado del análisis no se equilibrarán. Esta es la opción predeterminada.
  • RANDOM_UNDERSe eliminarán entidades aleatorias de cada clase no minoritaria hasta que el número de entidades coincida con el número de entidades de la clase minoritaria.
  • TOMEK_UNDERSe eliminarán las entidades de cada clase no minoritaria que estén cerca de las entidades de la clase minoritaria. Este método mejorará el límite entre las clases; sin embargo, cada clase puede tener un número diferente de entidades.
  • KMED_UNDERLas entidades de la clase no minoritaria que no sean representativas de la clase se eliminarán hasta que el número de entidades coincida con el número de entidades de la clase minoritaria.
  • RANDOM_OVERLas entidades de la clase minoritaria se duplicarán aleatoriamente hasta que el número de entidades coincida con el número de entidades de la clase mayoritaria.
  • SMOTE_OVERSe generarán entidades sintéticas para la clase minoritaria mediante la interpolación entre las entidades existentes hasta que el número de entidades coincida con el número de entidades de la clase mayoritaria.
String

Muestra de código

Ejemplo 1 de CrossValidate (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función CrossValidate.

# Evaluate a predictive model with cross validation
import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb"

arcpy.stats.CrossValidate(
    analysis_result_features=r"in_analysis_result_features",
    out_features=r"out_feature",
    out_table=r"out_table",
    analysis_input_features=r"analyis_in_feature",
    evaluation_type="RANDOM_KFOLD",
    num_groups=10,
    balancing_type="NONE"
)
Ejemplo 2 de CrossValidate (secuencia de comandos independiente)

El siguiente script independiente muestra cómo utilizar la función CrossValidate.

# Evaluate a predictive model with cross validation

import arcpy 

# Set the current workspace.
arcpy.env.workspace = r"c:\data\project_data.gdb"

# Run tool

arcpy.stats.CrossValidate(
    analysis_result_features=r"in_analysis_result_features",
    out_features=r"out_feature",
    out_table=r"out_table",
    analysis_input_features=r"analyis_in_feature",
    evaluation_type="RANDOM_KFOLD",
    num_groups=10,
    balancing_type="NONE"
)

Información de licenciamiento

  • Basic: Limitado
  • Standard: Limitado
  • Advanced: Limitado

Temas relacionados