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 muestra de entrenamiento, utilice el panel Administrador de muestras de entrenamiento del menú desplegable Herramientas de clasificación.
El parámetro Atributos de segmento solo está habilitado si una de las entradas de capa ráster es una imagen segmentada.
Para clasificar datos ráster de series temporales utilizando el algoritmo Clasificación y detección de cambios continuas (CCDC), ejecute primero la herramienta Analizar cambios usando CCDC y utilice el ráster de análisis de cambios de salida como ráster de entrada para 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.
Sintaxis
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})
Parámetro | Explicación | Tipo 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:
| 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 van a utilizar 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 a incluir en la tabla de atributos asociada con el ráster de salida.
Este parámetro solo está habilitado si la propiedad clave Segmentado se establece en true 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 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. | Field |
Muestra de código
Esta es una muestra de Python para la herramienta TrainRandomTreesClassifier.
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
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")
Esta es una muestra del script de Python para la herramienta TrainRandomTreesClassifier.
# Import system modules
import arcpy
from arcpy.ia 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 Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
TrainRandomTreesClassifier(inSegRaster, train_features,
out_definition, in_additional_raster, maxNumTrees,
maxTreeDepth, maxSampleClass, attributes)
Este ejemplo muestra cómo entrenar un clasificador de árboles aleatorios usando un ráster de análisis de cambios de la herramienta Analizar cambios usando CCDC.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
in_changeAnalysisRaster = "c:/test/LandsatCCDC.crf"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/change_detection.ecd"
in_additional_raster = ""
maxNumTrees = 50
maxTreeDepth = 30
maxSampleClass = 1000
attributes = None
dimension_field = "DateTime"
# Execute
arcpy.ia.TrainRandomTreesClassifier(
in_changeAnalysisRaster, train_features, out_definition,
in_additional_raster, maxNumTrees, maxTreeDepth, maxSampleClass,
attributes, dimension_field)
Entornos
Información de licenciamiento
- Basic: Requiere Image Analyst or Spatial Analyst
- Standard: Requiere Image Analyst or Spatial Analyst
- Advanced: Requiere Image Analyst or Spatial Analyst