Annuncio : tutti i progetti non commerciali registrati per l'utilizzo di Earth Engine prima del
15 aprile 2025 devono
verificare l'idoneità non commerciale per mantenere l'accesso. Se non hai eseguito la verifica entro il 26 settembre 2025, il tuo accesso potrebbe essere sospeso.
Invia feedback
ee.FeatureCollection.classify
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Classifica ogni funzionalità di una raccolta.
Utilizzo Resi FeatureCollection. classify (classifier, outputName )
FeatureCollection
Argomento Tipo Dettagli questo: features
FeatureCollection La raccolta di funzionalità da classificare. Ogni funzionalità deve contenere tutte le proprietà nello schema del classificatore. classifier
Classificatore Il classificatore da utilizzare. outputName
Stringa, valore predefinito: "classification" Il nome della proprietà di output da aggiungere. Questo argomento viene ignorato se il classificatore ha più di un output.
Esempi
Editor di codice (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 ());
Configurazione di Python
Consulta la pagina
Ambiente Python per informazioni sull'API Python e sull'utilizzo di
geemap
per lo sviluppo interattivo.
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 ())
Invia feedback
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0 , mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0 . Per ulteriori dettagli, consulta le norme del sito di Google Developers . Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-26 UTC.
Vuoi dirci altro?
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-26 UTC."],[],[]]