Évaluer les prévisions avec la validation croisée (Statistiques spatiales)

Synthèse

Évalue les performances d’un modèle prédictif à l’aide de la validation croisée. Cet outil génère des métriques de validation pour les modèles créés avec les outils Classification et régression basées sur une forêt et boostées, Régression linéaire généralisée et Prévision de présence seule. Il vous permet de spécifier le type d’évaluation (par exemple, K blocs ou K blocs spatiaux), le nombre de groupes et l’équilibrage des événements rares pour garantir une évaluation fiable et non biaisée du modèle.

En savoir plus sur le fonctionnement de l’outil Évaluer les prévisions avec la validation croisée

Illustration

Illustration de l’outil Évaluer les prévisions avec la validation croisée

Utilisation

  • Le paramètre Type d’évaluation comporte les options suivantes pour fractionner les entités dans des groupes :

    • K blocs spatiaux : utilisez la validation croisée spatiale pour évaluer la façon dont un modèle prévoit les entités qui se trouvent géographiquement à l’extérieur de la zone d’étude des données d’entraînement.
    • K blocs aléatoires : utilisez la validation croisée aléatoire pour évaluer la façon dont un modèle prévoit les entités qui se trouvent géographiquement à l’intérieur de la zone d’étude des données d’entraînement.

  • Lorsque vous utilisez la classification pour prévoir des événements rares ou des catégories non équilibrées, utilisez le paramètre Type d’équilibrage pour équilibrer le nombre d’échantillons dans chaque niveau catégoriel. Testez les différentes méthodes d’équilibrage dans cet outil. Sélectionnez ensuite la plus performante et exécutez-la sur le jeu de données d’entraînement complet avant de réaliser les prévisions à l’aide de l’outil Préparer les données pour la prévision.

  • La validation croisée n’est pas utilisée pour générer un seul modèle ou fichier de modèle. Elle génère des métriques de précision qui permettent d’évaluer la façon dont un modèle et ses paramètres prévoient des données qui ont été exclues lors de l’entraînement du modèle.

  • Cet outil n’accepte pas les entités d’analyse qui ont d’abord été sur-échantillonnées dans l’outil Préparer les données pour la prévision, c’est-à-dire équilibrées avec le sur-échantillonnage aléatoire ou la méthode SMOTE. Les données sur-échantillonnées ne peuvent pas être utilisées dans un jeu de validation à cause des pertes de données.

  • Les paramètres de l’outil de prévision d’origine sont respectés. Toutefois, pour les résultats d’analyse de l’outil Classification et régression basées sur une forêt et boostées, les données de validation sont définies sur 0. Si le paramètre Optimiser les paramètres a été utilisé dans l’outil Classification et régression basées sur une forêt et boostées, les paramètres optimaux de l’exécution d’origine de l’outil seront utilisés pour la validation croisée.

  • L’outil crée les sorties suivantes :

    • Entités en sortie : enregistre le jeu de données d’entraînement et les résultats d’entraînement et de prévision de chaque entité dans le jeu de données d’entraînement.
    • Table de validation en sortie : enregistre les métriques d’évaluation pour chaque exécution de validation.
    L’outil produit également de nombreux messages de géotraitement utiles, notamment la table Statistiques de diagnostic moyennes hors échantillon.

Paramètres

ÉtiquetteExplicationType de données
Entités de résultat d’analyse

Classe d’entités contenant les résultats en sortie d’entraînement de l’outil Classification et régression basées sur une forêt et boostées, Régression linéaire généralisée ou Prévision de présence seule. Les résultats d’entraînement de prévision seront évalués avec la validation croisée.

Feature Layer
Entités en sortie

Entités en sortie qui contiendront les variables indépendantes d’origine, la variable dépendante et les champs supplémentaires synthétisant les résultats de la validation croisée.

Feature Class
Table de validation en sortie

Table en sortie qui contiendra les métriques d’évaluation pour chaque exécution de validation croisée.

Table
Entités d’entrée d’analyse

Entités en entrée qui seront utilisées dans l’analyse prédictive qui a produit les entités de résultat d’analyse.

Feature Layer
Type d'évaluation
(Facultatif)

Désigne la méthode à utiliser pour fractionner la valeur du paramètre Entités de résultat d’analyse en K groupes.

  • K blocs aléatoiresLes entités de résultat d’analyse seront fractionnées de manière aléatoire en K groupes. Chaque groupe contiendra un nombre d’entités identique ou similaire. Si vous prévoyez des catégories (classification), chaque catégorie dans la variable dépendante apparaîtra dans chaque groupe d’entraînement. Il s’agit de l’option par défaut.
  • K blocs spatiauxLes entités de résultat d’analyse seront fractionnées spatialement en K groupes à l’aide de l’agrégation par K-moyennes sur les points ou centroïdes de polygones en entrée. Si vous prévoyez des catégories (classification), chaque catégorie dans la variable dépendante apparaîtra dans chaque groupe d’entraînement. Chaque groupe est séparé spatialement des autres.
String
Nombre de groupes
(Facultatif)

Nombre de groupes dans lesquels la valeur du paramètre Entités de résultat d’analyse sera fractionnée. Le nombre de groupes doit être supérieur à 1. La valeur par défaut est 10.

Long
Type d’équilibrage
(Facultatif)

Indique la méthode qui sera utilisée pour équilibrer le nombre d’échantillons de chaque catégorie de variable dépendante dans le groupe d’entraînement. Ce paramètre est actif si le modèle d’origine prévoit une variable catégorielle.

  • AucunLes entités de résultat d’analyse ne seront pas équilibrées. Il s’agit de l’option par défaut.
  • Sous-échantillonnage aléatoireLes entités aléatoires seront supprimées de chaque classe non minoritaire jusqu’à ce que le nombre d’entités corresponde au nombre d’entités dans la classe minoritaire.
  • Sous-échantillonnage TomekLes entités de chaque classe non minoritaire qui sont proches des entités de la classe minoritaire seront supprimées. Cette méthode améliore la limite entre les classes ; toutefois, chaque classe peut comporter un nombre différent d’entités.
  • Sous-échantillonnage des K-médoïdesLes entités de la classe non minoritaire qui ne sont pas représentatives de la classe seront supprimées jusqu’à ce que le nombre d’entités corresponde au nombre d’entités dans la classe minoritaire.
  • Sur-échantillonnage aléatoireLes entités de la classe minoritaire seront dupliquées de manière aléatoire jusqu’à ce que le nombre d’entités corresponde au nombre d’entités de la classe majoritaire.
  • SMOTE (sur-échantillonnage)Des entités synthétiques seront générées pour la classe minoritaire par interpolation entre les entités existantes jusqu’à ce que le nombre d’entités corresponde au nombre d’entités de la classe majoritaire.
String

arcpy.stats.CrossValidate(analysis_result_features, out_features, out_table, analysis_input_features, {evaluation_type}, {num_groups}, {balancing_type})
NomExplicationType de données
analysis_result_features

Classe d’entités contenant les résultats en sortie d’entraînement de l’outil Classification et régression basées sur une forêt et boostées, Régression linéaire généralisée ou Prévision de présence seule. Les résultats d’entraînement de prévision seront évalués avec la validation croisée.

Feature Layer
out_features

Entités en sortie qui contiendront les variables indépendantes d’origine, la variable dépendante et les champs supplémentaires synthétisant les résultats de la validation croisée.

Feature Class
out_table

Table en sortie qui contiendra les métriques d’évaluation pour chaque exécution de validation croisée.

Table
analysis_input_features

Entités en entrée qui seront utilisées dans l’analyse prédictive qui a produit les entités de résultat d’analyse.

Feature Layer
evaluation_type
(Facultatif)

Désigne la méthode à utiliser pour fractionner la valeur du paramètre analysis_result_features en K groupes.

  • RANDOM_KFOLDLes entités de résultat d’analyse seront fractionnées de manière aléatoire en K groupes. Chaque groupe contiendra un nombre d’entités identique ou similaire. Si vous prévoyez des catégories (classification), chaque catégorie dans la variable dépendante apparaîtra dans chaque groupe d’entraînement. Il s’agit de l’option par défaut.
  • SPATIAL_KFOLDLes entités de résultat d’analyse seront fractionnées spatialement en K groupes à l’aide de l’agrégation par K-moyennes sur les points ou centroïdes de polygones en entrée. Si vous prévoyez des catégories (classification), chaque catégorie dans la variable dépendante apparaîtra dans chaque groupe d’entraînement. Chaque groupe est séparé spatialement des autres.
String
num_groups
(Facultatif)

Nombre de groupes dans lesquels la valeur du paramètre analysis_result_features sera fractionnée. Le nombre de groupes doit être supérieur à 1. La valeur par défaut est 10.

Long
balancing_type
(Facultatif)

Indique la méthode qui sera utilisée pour équilibrer le nombre d’échantillons de chaque catégorie de variable dépendante dans le groupe d’entraînement. Ce paramètre est actif si le modèle d’origine prévoit une variable catégorielle.

  • NONELes entités de résultat d’analyse ne seront pas équilibrées. Il s’agit de l’option par défaut.
  • RANDOM_UNDERLes entités aléatoires seront supprimées de chaque classe non minoritaire jusqu’à ce que le nombre d’entités corresponde au nombre d’entités dans la classe minoritaire.
  • TOMEK_UNDERLes entités de chaque classe non minoritaire qui sont proches des entités de la classe minoritaire seront supprimées. Cette méthode améliore la limite entre les classes ; toutefois, chaque classe peut comporter un nombre différent d’entités.
  • KMED_UNDERLes entités de la classe non minoritaire qui ne sont pas représentatives de la classe seront supprimées jusqu’à ce que le nombre d’entités corresponde au nombre d’entités dans la classe minoritaire.
  • RANDOM_OVERLes entités de la classe minoritaire seront dupliquées de manière aléatoire jusqu’à ce que le nombre d’entités corresponde au nombre d’entités de la classe majoritaire.
  • SMOTE_OVERDes entités synthétiques seront générées pour la classe minoritaire par interpolation entre les entités existantes jusqu’à ce que le nombre d’entités corresponde au nombre d’entités de la classe majoritaire.
String

Exemple de code

Exemple 1 d’utilisation de la fonction CrossValidate (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction 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"
)
Exemple 2 d’utilisation de la fonction CrossValidate (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction 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"
)

Informations de licence

  • Basic: Limité
  • Standard: Limité
  • Advanced: Limité

Rubriques connexes