Preparar clasificador de árboles aleatorios (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Disponible con licencia de Image Analyst.

Resumen

Genera un archivo de definición de clasificador de Esri (.ecd) utilizando el método de clasificación de árboles aleatorios.

El clasificador de árboles aleatorios es una técnica de clasificación de imágenes que resiste al exceso de ajuste y que puede funcionar con imágenes segmentadas y con otros datasets ráster antiguos. Para las entradas de imagen estándar, la herramienta acepta imágenes multibanda con cualquier profundidad de bit y realiza la clasificación Árboles aleatorios por píxel o segmento, según el archivo de entidades de entrenamiento de entrada.

Uso

  • El método de clasificación Árboles aleatorios es una recopilación de árboles de decisión individuales en la cual cada árbol se genera a partir de distintas muestras y subconjuntos de los datos de entrenamiento. La idea que hay detrás de llamar a estos árboles de decisión es que para cada píxel que se clasifica se crea un número de decisiones que se ordenan por la importancia. Cuando se representan gráficamente para un píxel, tienen el aspecto de una rama. Cuando se clasifica todo el dataset, las ramas forman un árbol. Este método se denomina árboles aleatorios porque, de hecho, lo que el usuario hace es clasificar el dataset una serie de veces basándose en una subselección aleatoria de píxeles de entrenamiento, lo que da como resultado numerosos árboles de decisión. Para tomar una decisión final, cada árbol recibe un voto. Este proceso funciona para mitigar el exceso de ajuste. El método de clasificación Árboles aleatorios es un clasificador de aprendizaje de máquina y supervisado que consiste en crear una multitud de árboles de decisión, elegir subconjuntos aleatorios de variables para cada árbol y utilizar la salida de árbol más frecuente como clasificación general. El método de clasificación Árboles aleatorios corrigen la tendencia de los árboles de decisión al exceso de ajuste en sus datos de muestra de entrenamiento. Con en este método, crecen una serie de árboles (por analogía, un bosque) y la variación entre los árboles se introduce proyectando los datos de entrenamiento en un subespacio elegido al azar antes de colocar cada árbol. La decisión en cada nodo se optimiza mediante un procedimiento aleatorio.

  • Para los rásteres segmentados, que tienen establecida la propiedad clave en Segmentada, la herramienta calcula la imagen de índice y los atributos de segmento asociados del ráster segmentado RGB. Se calculan los atributos para generar el archivo de definición de clasificador que se va a utilizar en una herramienta de clasificación aparte. Los atributos de cada segmento se pueden calcular desde cualquier imagen compatible con Esri.

  • Se acepta como entrada cualquier ráster compatible con Esri, incluidos productos de ráster, rásteres segmentados, mosaicos, servicios de imágenes y datasets ráster genéricos. Los rásteres segmentados deben tener 8 bits y 3 bandas.

  • Para crear el archivo de ejemplo de formación, utilice el panel Administrador de muestras de entrenamiento del menú desplegable Herramientas de clasificación.

  • El parámetro Atributos de segmento solo está activo si una de las entradas de capa ráster es una imagen segmentada.

  • Se requiere un proceso de dos pasos para clasificar datos ráster de series temporales utilizando el algoritmo Clasificación y detección de cambios continuas (CCDC). Primero, ejecute la herramienta Analizar cambios usando CCDC, que está disponible con una licencia de extensión de Image Analyst. A continuación, utilice esos resultados como entrada de esta herramienta de entrenamiento.

    Los datos de muestra de entrenamiento se deben haber recopilado en varios momentos mediante el Administrador de muestras de entrenamiento. El valor de dimensión de cada muestra aparece en un campo de la clase de entidad de muestra de entrenamiento, que se especifica en el parámetro Campo de valor de dimensión.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

El dataset ráster a clasificar.

Puede utilizar cualquier dataset ráster compatible con Esri. Una opción es un dataset ráster segmentado de 3 bandas y 8 bits en el cual todos los píxeles del mismo segmento tienen el mismo color. La entrada también puede ser un ráster segmentado en escala de grises de banda única y 8 bits.

Raster Layer; Mosaic Layer; Image Service; String
Archivo de muestra de entrenamiento de entrada

La capa o archivo de muestra de entrenamiento que delinea los sitios de entrenamiento.

Estos pueden ser shapefiles o clases de entidad que contengan las muestras de entrenamiento. Los siguientes nombres de campo son obligatorios en el archivo de muestra de entrenamiento:

  • classname- un campo de texto que indique el nombre de la categoría de clase
  • classvalue- un campo de tipo entero largo que contenga el valor entero para cada categoría de clase

Feature Layer
Archivo de definición de clasificador de salida

Archivo JSON que contiene información de atributos, estadísticas u otra información para el clasificador. Se crea un archivo .ecd.

File
Ráster de entrada adicional
(Opcional)

Se incorporan datasets ráster secundarios, como una imagen multiespectral o un DEM, para generar atributos y otra información requerida por la clasificación. Este parámetro es opcional.

Raster Layer; Mosaic Layer; Image Service; String
Número máximo de árboles
(Opcional)

El número máximo de árboles en el bosque. Al aumentar el número de árboles se obtendrán tasas de precisión más elevadas, aunque esta mejora se estabiliza finalmente. El número de árboles aumenta el tiempo de procesamiento de forma lineal.

Long
Profundidad máxima de árbol
(Opcional)

La profundidad máxima de cada árbol del bosque. La profundidad es otra forma de indicar la cantidad de reglas que puede crear cada árbol para llegar a una decisión. Los árboles no profundizarán más allá de este valor.

Long
Número máximo de muestras por clase
(Opcional)

El número máximo de muestras que se utilizarán para definir cada clase.

Se recomienda el valor predeterminado de 1.000 cuando las entradas son rásteres no segmentados. Un valor igual o menor que 0 significa que el sistema siempre utilizará todas las muestras de los sitios de entrenamiento para preparar el clasificador.

Long
Atributos de segmento
(Opcional)

Especifica los atributos que se incluirán en la tabla de atributos asociada con el ráster de salida.

Este parámetro solo está activo si la propiedad clave Segmentado se establece en verdadero en el ráster de entrada. Si la única entrada de la herramienta es una imagen segmentada, los atributos predeterminados son Color convergido, Recuento de píxeles, Compactación y Rectangularidad. Si se incluye un valor Ráster de entrada adicional como entrada junto a la imagen segmentada, también están disponibles los atributos Número de dígito medio y Desviación estándar.

  • Color convergidoLos valores de color RGB se derivarán del ráster de entrada segmento por segmento. Esto también se conoce como color de cromaticidad promedio.
  • Número de dígito medioEl número digital (DN) medio se derivará de la imagen de píxeles opcional, por segmento.
  • Desviación estándarLa desviación estándar se derivará de la imagen de píxeles opcional, por segmento.
  • Recuento de píxelesEl número de píxeles que componen el segmento, por segmento.
  • CompactaciónEl grado de compactibilidad o circularidad de un segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un círculo.
  • RectangularidadEl grado de rectangularidad del segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un rectángulo.
String
Campo de valor de dimensión
(Opcional)

Contiene valores de dimensión de la clase de entidad de muestra de entrenamiento de entrada.

Este parámetro es necesario para clasificar una serie temporal de datos ráster con la salida ráster de análisis de cambios de la herramienta Analizar cambios usando CCDC de la caja de herramientas de Image Analyst.

Field

TrainRandomTreesClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_num_trees}, {max_tree_depth}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
NombreExplicaciónTipo de datos
in_raster

El dataset ráster a clasificar.

Puede utilizar cualquier dataset ráster compatible con Esri. Una opción es un dataset ráster segmentado de 3 bandas y 8 bits en el cual todos los píxeles del mismo segmento tienen el mismo color. La entrada también puede ser un ráster segmentado en escala de grises de banda única y 8 bits.

Raster Layer; Mosaic Layer; Image Service; String
in_training_features

La capa o archivo de muestra de entrenamiento que delinea los sitios de entrenamiento.

Estos pueden ser shapefiles o clases de entidad que contengan las muestras de entrenamiento. Los siguientes nombres de campo son obligatorios en el archivo de muestra de entrenamiento:

  • classname- un campo de texto que indique el nombre de la categoría de clase
  • classvalue- un campo de tipo entero largo que contenga el valor entero para cada categoría de clase

Feature Layer
out_classifier_definition

Archivo JSON que contiene información de atributos, estadísticas u otra información para el clasificador. Se crea un archivo .ecd.

File
in_additional_raster
(Opcional)

Se incorporan datasets ráster secundarios, como una imagen multiespectral o un DEM, para generar atributos y otra información requerida por la clasificación. Este parámetro es opcional.

Raster Layer; Mosaic Layer; Image Service; String
max_num_trees
(Opcional)

El número máximo de árboles en el bosque. Al aumentar el número de árboles se obtendrán tasas de precisión más elevadas, aunque esta mejora se estabiliza finalmente. El número de árboles aumenta el tiempo de procesamiento de forma lineal.

Long
max_tree_depth
(Opcional)

La profundidad máxima de cada árbol del bosque. La profundidad es otra forma de indicar la cantidad de reglas que puede crear cada árbol para llegar a una decisión. Los árboles no profundizarán más allá de este valor.

Long
max_samples_per_class
(Opcional)

El número máximo de muestras que se utilizarán para definir cada clase.

Se recomienda el valor predeterminado de 1.000 cuando las entradas son rásteres no segmentados. Un valor igual o menor que 0 significa que el sistema siempre utilizará todas las muestras de los sitios de entrenamiento para preparar el clasificador.

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

Especifica los atributos que se incluirán en la tabla de atributos asociada con el ráster de salida.

  • COLORLos valores de color RGB se derivarán del ráster de entrada segmento por segmento. Esto también se conoce como color de cromaticidad promedio.
  • MEANEl número digital (DN) medio se derivará de la imagen de píxeles opcional, por segmento.
  • STDLa desviación estándar se derivará de la imagen de píxeles opcional, por segmento.
  • COUNTEl número de píxeles que componen el segmento, por segmento.
  • COMPACTNESSEl grado de compactibilidad o circularidad de un segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un círculo.
  • RECTANGULARITYEl grado de rectangularidad del segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un rectángulo.

Este parámetro solo está habilitado si la propiedad clave Segmentado se establece en verdadera en el ráster de entrada. Si la única entrada en la herramienta es una imagen segmentada, los atributos predeterminados son COLOR, COUNT, COMPACTNESS y RECTANGULARITY. Si se incluye un valor in_additional_raster como entrada junto a la imagen segmentada, también están disponibles los atributos MEAN y STD.

String
dimension_value_field
(Opcional)

Contiene valores de dimensión de la clase de entidad de muestra de entrenamiento de entrada.

Este parámetro es necesario para clasificar una serie temporal de datos ráster con la salida ráster de análisis de cambios de la herramienta Analizar cambios usando CCDC de la caja de herramientas de Image Analyst.

Field

Muestra de código

Ejemplo 1 de TrainRandomTreesClassifier (ventana de Python)

Esta es una muestra de Python para la herramienta TrainRandomTreesClassifier.

import arcpy
from arcpy.sa import *

TrainRandomTreesClassifier("c:/test/moncton_seg.tif",
                           "c:/test/train.gdb/train_features",
                           "c:/output/moncton_sig_SVM.ecd",
                           "c:/test/moncton.tif", "50", "30", "1000",
                           "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
Ejemplo 2 de TrainRandomTreesClassifier (script independiente)

Esta es una muestra del script de Python para la herramienta TrainRandomTreesClassifier.

# Import system modules
import arcpy
from arcpy.sa import *

# Set local variables
inSegRaster = "c:/test/cities_seg.tif"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/cities_sig.ecd"
in_additional_raster = "c:/cities.tif"
maxNumTrees = "50"
maxTreeDepth = "30"
maxSampleClass = "1000"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute
TrainRandomTreesClassifier(inSegRaster, train_features,
                           out_definition, in_additional_raster, maxNumTrees,
                           maxTreeDepth, maxSampleClass, attributes)
Ejemplo 3 de TrainRandomTreesClassifier (script independiente)

Este ejemplo muestra cómo entrenar un clasificador de árboles aleatorios usando un ráster de análisis de cambios de la herramienta Image Analyst Analizar cambios usando CCDC.

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")


# Set local variables
in_changeAnalysisRaster = "c:/test/LandsatCCDC.crf"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/change_detection.ecd"
additional_raster = ''
maxNumTrees = 50
maxTreeDepth = 30
maxSampleClass = 1000
attributes = None
dimension_field = "DateTime"

# Execute
arcpy.sa.TrainRandomTreesClassifier(
	in_changeAnalysisRaster, train_features, 
	out_definition, additional_raster, maxNumTrees, 
	maxTreeDepth, maxSampleClass, attributes, dimension_field)

Información de licenciamiento

  • Basic: Requiere Spatial Analyst o Image Analyst
  • Standard: Requiere Spatial Analyst o Image Analyst
  • Advanced: Requiere Spatial Analyst o Image Analyst

Temas relacionados