Entraîner le classificateur K voisins les plus proches (Spatial Analyst)

Disponible avec une licence Image Analyst.

Disponible avec une licence Spatial Analyst.

Synthèse

Génère un fichier de définition de classificateur Esri (.ecd) à l’aide de la méthode de classification K voisins les plus proches.

Le classificateur K voisins les plus proches est une méthode de classification non paramétrique qui classe un pixel ou un segment selon un vote à la majorité relative de ses voisins. K est le nombre défini de voisins utilisés pour le vote.

Utilisation

  • L’outil affecte des échantillons d’entraînement à leurs classes respectives. La classe du pixel en entrée est déterminée par un vote à la majorité relative de ses K voisins les plus proches.

  • Tout raster pris en charge par Esri est accepté en entrée, y compris les produits raster, les rasters segmentés, les mosaïques, les services d’imagerie et les jeux de données raster génériques. Les rasters segmentés doivent être des rasters 8 bits à trois canaux.

  • La sortie de cet outil est un fichier .ecd qui permet de classer de nouveaux rasters dans l’outil Classer le raster. L’outil Classer le raster calcule ensuite la distance entre chaque pixel ou segment en entrée et tous les échantillons d’entraînement.

    Les données fournies à titre d’échantillons d’apprentissage doivent être collectées à plusieurs reprises à l’aide du Gestionnaire d’échantillons d’apprentissage. La valeur de dimension de chaque exemple est répertoriée dans un champ figurant dans la classe d’entités des échantillons d’entraînement comme indiqué dans le paramètre Dimension Value Field (Champ de valeur de dimension).

  • Pour créer un fichier d’échantillon d’entraînement, accédez à la fenêtre Gestionnaire d’échantillons d’apprentissage à partir du menu déroulant Classification Tools (Outils de classification).

  • Pour les rasters segmentés, dont la propriété de clé est définie sur Segmenté, l'outil calcule l'image d'index et les attributs de segments associés à partir du raster segmenté RVB. Les attributs sont calculés pour générer le fichier de définition de classificateur à utiliser dans un outil de classification distinct. Les attributs de chaque segment peuvent être calculés à partir de toute image prise en charge par Esri.

  • Le paramètre Segment Attributes (Attributs de segment) n’est actif que si l’une des entrées de la couche raster est une image segmentée.

Paramètres

ÉtiquetteExplicationType de données
Raster en entrée

Jeu de données raster à classer.

Le raster à un seul canal ou raster segmenté, le raster à plusieurs canaux ou un raster multidimensionnel à classer.

Mosaic Layer; Raster Layer; Image Service; String
Fichier d'échantillon d'apprentissage en entrée

Fichier d’échantillons d’apprentissage ou couche délimitant les sites d’entraînement.

Il peut s’agir de shapefiles ou de classes d’entités qui contiennent vos échantillons d’apprentissage. Les noms de champ suivants sont requis dans le fichier d’échantillons d'apprentissage :

  • classname- zone de texte indiquant le nom de la catégorie de classe
  • classvalue- champ d’entier long contenant la valeur entière de chaque catégorie de classe

Feature Layer
Fichier de définition de classificateur en sortie

Fichier .ecd JSON mis en forme qui contient des informations sur des attributs et des statistiques, ou d’autres informations pour le classificateur.

File
Raster en entrée supplémentaire
(Facultatif)

Des jeux de données raster auxiliaires, comme une image multispectrale ou un MNE, seront incorporés pour générer des attributs et d’autres informations requises par la classification. Ce paramètre est facultatif.

Raster Layer; Mosaic Layer; Image Service; String
K voisins les plus proches
(Facultatif)

Le nombre de voisins à utiliser pour rechercher chaque pixel ou segment en entrée. L’augmentation du nombre de voisins permet de réduire l’influence de chaque voisin sur la sortie de la classification. La valeur par défaut est 1.

Long
Nombre max d'échantillons par classe
(Facultatif)

Le nombre maximal d’échantillons d’entraînement qui seront utilisés pour chaque classe. La valeur par défaut 1 000 est recommandée si les entrées sont des rasters non segmentés. Lorsque la valeur est inférieure ou égale à 0, le système utilise tous les échantillons des sites d’entraînement pour préparer le classificateur.

Long
Attributs de segments
(Facultatif)

Spécifie les attributs à inclure dans la table attributaire associée au raster en sortie.

Ce paramètre n’est actif que si la propriété clé Segmented (Segmenté) est définie sur true (vrai) dans le raster en entrée. Si la seule sortie de l’outil est une image segmentée, les attributs par défaut sont Average chromaticity color (Couleur de chromaticité moyenne), Count of pixels (Nombre de pixels), Compactness (Compacité) et Rectangularity (Rectangularité). Si une valeur Additional Input Raster (Raster en entrée supplémentaire) est incluse comme entrée avec une image segmentée, les attributs Mean digital number (Nombre numérique moyen) et Standard deviation (Écart type) sont également disponibles.

  • Couleur de convergenceLes valeurs de couleurs RVB sont dérivées du raster en entrée, segment par segment.
  • Nombre numérique moyenLe numéro numérique (DN) moyen sera dérivé de l’image de pixels facultative, segment par segment.
  • Écart typeL’écart type sera dérivé de l’image de pixels facultative, segment par segment.
  • Nombre de pixelsLe nombre de pixels qui composent le segment, segment par segment.
  • CompacitéDegré auquel un segment est compact ou circulaire, segment par segment. Les valeurs sont comprises entre 0 et 1, où 1 correspond à un cercle.
  • RectangularitéDegré auquel le segment est rectangulaire, segment par segment. Les valeurs sont comprises entre 0 et 1, où 1 correspond à un rectangle.
String
Champ de valeur de dimension
(Facultatif)

Contient les valeurs de dimension dans la classe d’entités des échantillons d’apprentissage en entrée.

Ce paramètre est nécessaire pour classer une série chronologique de données raster à l’aide de la sortie du raster d’analyse des changements produite par l’outil Analyser les modifications avec l’algorithme CCDC de la boîte d’outils Image Analyst.

Field

TrainKNearestNeighborClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {kNN}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
NomExplicationType de données
in_raster

Jeu de données raster à classer.

Le raster à un seul canal ou raster segmenté, le raster à plusieurs canaux ou un raster multidimensionnel à classer.

Mosaic Layer; Raster Layer; Image Service; String
in_training_features

Fichier d’échantillons d’apprentissage ou couche délimitant les sites d’entraînement.

Il peut s’agir de shapefiles ou de classes d’entités qui contiennent vos échantillons d’apprentissage. Les noms de champ suivants sont requis dans le fichier d’échantillons d'apprentissage :

  • classname- zone de texte indiquant le nom de la catégorie de classe
  • classvalue- champ d’entier long contenant la valeur entière de chaque catégorie de classe

Feature Layer
out_classifier_definition

Fichier .ecd JSON mis en forme qui contient des informations sur des attributs et des statistiques, ou d’autres informations pour le classificateur.

File
in_additional_raster
(Facultatif)

Des jeux de données raster auxiliaires, comme une image multispectrale ou un MNE, seront incorporés pour générer des attributs et d’autres informations requises par la classification. Ce paramètre est facultatif.

Raster Layer; Mosaic Layer; Image Service; String
kNN
(Facultatif)

Le nombre de voisins à utiliser pour rechercher chaque pixel ou segment en entrée. L’augmentation du nombre de voisins permet de réduire l’influence de chaque voisin sur la sortie de la classification. La valeur par défaut est 1.

Long
max_samples_per_class
(Facultatif)

Le nombre maximal d’échantillons d’entraînement qui seront utilisés pour chaque classe. La valeur par défaut 1 000 est recommandée si les entrées sont des rasters non segmentés. Lorsque la valeur est inférieure ou égale à 0, le système utilise tous les échantillons des sites d’entraînement pour préparer le classificateur.

Long
used_attributes
[used_attributes;used_attributes,...]
(Facultatif)

Spécifie les attributs à inclure dans la table attributaire associée au raster en sortie.

  • COLORLes valeurs de couleurs RVB sont dérivées du raster en entrée, segment par segment.
  • MEANLe numéro numérique (DN) moyen sera dérivé de l’image de pixels facultative, segment par segment.
  • STDL’écart type sera dérivé de l’image de pixels facultative, segment par segment.
  • COUNTLe nombre de pixels qui composent le segment, segment par segment.
  • COMPACTNESSDegré auquel un segment est compact ou circulaire, segment par segment. Les valeurs sont comprises entre 0 et 1, où 1 correspond à un cercle.
  • RECTANGULARITYDegré auquel le segment est rectangulaire, segment par segment. Les valeurs sont comprises entre 0 et 1, où 1 correspond à un rectangle.

Ce paramètre est activé uniquement si la propriété de clé Segmented est vraie (définie sur True) dans le raster en entrée. Si la seule entrée de l’outil est une image segmentée, les attributs par défaut sont COLOR, COUNT, COMPACTNESS et RECTANGULARITY. Si une valeur in_additional_raster est incluse comme entrée avec une image segmentée, les attributs MEAN et STD sont également disponibles.

String
dimension_value_field
(Facultatif)

Contient les valeurs de dimension dans la classe d’entités des échantillons d’apprentissage en entrée.

Ce paramètre est nécessaire pour classer une série chronologique de données raster à l’aide de la sortie du raster d’analyse des changements produite par l’outil Analyser les modifications avec l’algorithme CCDC de la boîte d’outils Image Analyst.

Field

Exemple de code

Exemple 1 d’utilisation de l’outil TrainKNearestNeighborClassifier (fenêtre Python)

Il s’agit d’un exemple Python d’utilisation de la fonction TrainKNearestNeighborClassifier.

# Import system modules 
import arcpy 
from arcpy.sa import * 
 
# Check out the ArcGIS Spatial Analyst extension license 
arcpy.CheckOutExtension("Spatial") 
 
# Execute  
arcpy.sa.TrainKNearestNeighborClassifier("landsat.tif", "training_sample.shp", r"c:\data\trained_knn.ecd", 5, "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
Exemple 2 d’utilisation de l’outil TrainKNearestNeighborClassifier (script autonome)

Il s’agit d’un exemple de script Python d’utilisation de la fonction TrainKNearestNeighborClassifier.

# Import system modules 
import arcpy 
from arcpy.sa import * 
 
# Check out the ArcGIS Spatial Analyst extension license 
arcpy.CheckOutExtension("Spatial") 
 
# Define input parameters 
in_raster = r"C:/Data/landsat.tif" 
in_training_features = r"C:/Data/training_sample.shp" 
out_classifier_definition = r"C:/Data/trained_knn.ecd" 
number_of_neighbors = 5
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
     
# Execute  - train K-Nearest Neighbor Classifier
arcpy.sa.TrainKNearestNeighborClassifier(in_raster, in_training_features, 
                                         out_classifier_definition, 
                                         number_of_neighbors, attributes)

Informations de licence

  • Basic: Nécessite Spatial Analyst ou Image Analyst
  • Standard: Nécessite Spatial Analyst ou Image Analyst
  • Advanced: Nécessite Spatial Analyst ou Image Analyst

Rubriques connexes