Anuncio : Todos los proyectos no comerciales registrados para usar Earth Engine antes del
15 de abril de 2025 deben
verificar su elegibilidad no comercial para mantener el acceso. Si no realizas la verificación antes del 26 de septiembre de 2025, es posible que se suspenda tu acceso.
Enviar comentarios
ee.FeatureCollection.classify
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Clasifica cada atributo de una colección.
Uso Muestra FeatureCollection. classify (classifier, outputName )
FeatureCollection
Argumento Tipo Detalles esta: features
FeatureCollection Es la colección de atributos que se clasificará. Cada atributo debe contener todas las propiedades del esquema del clasificador. classifier
Clasificador Es el clasificador que se usará. outputName
Cadena, valor predeterminado: "classification" Es el nombre de la propiedad de salida que se agregará. Este argumento se ignora si el clasificador tiene más de un resultado.
Ejemplos
Editor de código (JavaScript)
/**
* Classifies features in a FeatureCollection and computes an error matrix.
*/
// Combine Landsat and NLCD images using only the bands representing
// predictor variables (spectral reflectance) and target labels (land cover).
var spectral =
ee . Image ( 'LANDSAT/LC08/C02/T1_L2/LC08_038032_20160820' ). select ( 'SR_B[1-7]' );
var landcover =
ee . Image ( 'USGS/NLCD_RELEASES/2016_REL/2016' ). select ( 'landcover' );
var sampleSource = spectral . addBands ( landcover );
// Sample the combined images to generate a FeatureCollection.
var sample = sampleSource . sample ({
region : spectral . geometry (), // sample only from within Landsat image extent
scale : 30 ,
numPixels : 2000 ,
geometries : true
})
// Add a random value column with uniform distribution for hold-out
// training/validation splitting.
. randomColumn ({ distribution : 'uniform' });
print ( 'Sample for classifier development' , sample );
// Split out ~80% of the sample for training the classifier.
var training = sample . filter ( 'random < 0.8' );
print ( 'Training set' , training );
// Train a random forest classifier.
var classifier = ee . Classifier . smileRandomForest ( 10 ). train ({
features : training ,
classProperty : landcover . bandNames (). get ( 0 ),
inputProperties : spectral . bandNames ()
});
// Classify the sample.
var predictions = sample . classify (
{ classifier : classifier , outputName : 'predicted_landcover' });
print ( 'Predictions' , predictions );
// Split out the validation feature set.
var validation = predictions . filter ( 'random >= 0.8' );
print ( 'Validation set' , validation );
// Get a list of possible class values to use for error matrix axis labels.
var order = sample . aggregate_array ( 'landcover' ). distinct (). sort ();
print ( 'Error matrix axis labels' , order );
// Compute an error matrix that compares predicted vs. expected values.
var errorMatrix = validation . errorMatrix ({
actual : landcover . bandNames (). get ( 0 ),
predicted : 'predicted_landcover' ,
order : order
});
print ( 'Error matrix' , errorMatrix );
// Compute accuracy metrics from the error matrix.
print ( "Overall accuracy" , errorMatrix . accuracy ());
print ( "Consumer's accuracy" , errorMatrix . consumersAccuracy ());
print ( "Producer's accuracy" , errorMatrix . producersAccuracy ());
print ( "Kappa" , errorMatrix . kappa ());
Configuración de Python
Consulta la página
Entorno de Python para obtener información sobre la API de Python y el uso de geemap
para el desarrollo interactivo.
import ee
import geemap.core as geemap
Colab (Python)
from pprint import pprint
# Classifies features in a FeatureCollection and computes an error matrix.
# Combine Landsat and NLCD images using only the bands representing
# predictor variables (spectral reflectance) and target labels (land cover).
spectral = ee . Image ( 'LANDSAT/LC08/C02/T1_L2/LC08_038032_20160820' ) . select (
'SR_B[1-7]' )
landcover = ee . Image ( 'USGS/NLCD_RELEASES/2016_REL/2016' ) . select ( 'landcover' )
sample_source = spectral . addBands ( landcover )
# Sample the combined images to generate a FeatureCollection.
sample = sample_source . sample ( ** {
# sample only from within Landsat image extent
'region' : spectral . geometry (),
'scale' : 30 ,
'numPixels' : 2000 ,
'geometries' : True
})
# Add a random value column with uniform distribution for hold-out
# training/validation splitting.
sample = sample . randomColumn ( ** { 'distribution' : 'uniform' })
print ( 'Sample for classifier development:' , sample . getInfo ())
# Split out ~80% of the sample for training the classifier.
training = sample . filter ( 'random < 0.8' )
print ( 'Training set:' , training . getInfo ())
# Train a random forest classifier.
classifier = ee . Classifier . smileRandomForest ( 10 ) . train ( ** {
'features' : training ,
'classProperty' : landcover . bandNames () . get ( 0 ),
'inputProperties' : spectral . bandNames ()
})
# Classify the sample.
predictions = sample . classify (
** { 'classifier' : classifier , 'outputName' : 'predicted_landcover' })
print ( 'Predictions:' , predictions . getInfo ())
# Split out the validation feature set.
validation = predictions . filter ( 'random >= 0.8' )
print ( 'Validation set:' , validation . getInfo ())
# Get a list of possible class values to use for error matrix axis labels.
order = sample . aggregate_array ( 'landcover' ) . distinct () . sort ()
print ( 'Error matrix axis labels:' , order . getInfo ())
# Compute an error matrix that compares predicted vs. expected values.
error_matrix = validation . errorMatrix ( ** {
'actual' : landcover . bandNames () . get ( 0 ),
'predicted' : 'predicted_landcover' ,
'order' : order
})
print ( 'Error matrix:' )
pprint ( error_matrix . getInfo ())
# Compute accuracy metrics from the error matrix.
print ( 'Overall accuracy:' , error_matrix . accuracy () . getInfo ())
print ( 'Consumer \' s accuracy:' )
pprint ( error_matrix . consumersAccuracy () . getInfo ())
print ( 'Producer \' s accuracy:' )
pprint ( error_matrix . producersAccuracy () . getInfo ())
print ( 'Kappa:' , error_matrix . kappa () . getInfo ())
Enviar comentarios
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons , y los ejemplos de código están sujetos a la licencia Apache 2.0 . Para obtener más información, consulta las políticas del sitio de Google Developers . Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
¿Quieres brindar más información?
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-26 (UTC)"],[],[]]