ee.Classifier.amnhMaxent

Crea un classificatore di massima entropia. Maxent viene utilizzato per modellare le probabilità di distribuzione delle specie utilizzando i dati ambientali per le località di presenza nota e per un gran numero di località "di sfondo". Per ulteriori informazioni e per citare la fonte, visita il sito https://biodiversityinformatics.amnh.org/open_source/maxent/ e la pubblicazione di riferimento: Phillips et al., 2004 Un approccio di massima entropia alla modellazione della distribuzione delle specie, Proceedings of the Twenty-First International Conference on Machine Learning. L'output è una singola banda denominata "probability", contenente la probabilità modellata, e una banda aggiuntiva denominata "clamp" quando l'argomento "writeClampGrid" è true.

UtilizzoResi
ee.Classifier.amnhMaxent(categoricalNames, outputFormat, autoFeature, linear, quadratic, product, threshold, hinge, hingeThreshold, l2lqThreshold, lq2lqptThreshold, addSamplesToBackground, addAllSamplesToBackground, betaMultiplier, betaHinge, betaLqp, betaCategorical, betaThreshold, extrapolate, doClamp, writeClampGrid, randomTestPoints, seed)Classificatore
ArgomentoTipoDettagli
categoricalNamesElenco, valore predefinito: nullUn elenco dei nomi degli input categorici. Gli input non elencati in questo argomento sono considerati continui.
outputFormatStringa, valore predefinito: "cloglog"Rappresentazione delle probabilità nell'output.
autoFeatureBooleano, valore predefinito: trueSeleziona automaticamente le classi di funzionalità da utilizzare in base al numero di campioni di addestramento.
linearBooleano, valore predefinito: trueConsenti l'utilizzo delle funzionalità lineari. Viene ignorato quando autofeature è true.
quadraticBooleano, valore predefinito: trueConsenti l'utilizzo delle funzionalità quadratiche. Viene ignorato quando autofeature è true.
productBooleano, valore predefinito: trueConsenti l'utilizzo delle funzionalità del prodotto. Viene ignorato quando autofeature è true.
thresholdBooleano, valore predefinito: falseConsenti l'utilizzo delle funzionalità di soglia. Viene ignorato quando autofeature è true.
hingeBooleano, valore predefinito: trueConsenti l'utilizzo delle funzionalità della cerniera. Viene ignorato quando autofeature è true.
hingeThresholdNumero intero, valore predefinito: 15Numero di campioni in corrispondenza del quale le funzionalità di cerniera iniziano a essere utilizzate. Ignorato quando autofeature è false.
l2lqThresholdNumero intero, valore predefinito: 10Numero di campioni in corrispondenza del quale iniziano a essere utilizzate le funzionalità quadratiche. Ignorato quando autofeature è false.
lq2lqptThresholdNumero intero, valore predefinito: 80Numero di campioni in corrispondenza del quale iniziano a essere utilizzate le funzionalità di prodotto e soglia. Ignorato quando autofeature è false.
addSamplesToBackgroundBooleano, valore predefinito: trueAggiungi allo sfondo qualsiasi campione per il quale è presente una combinazione di valori ambientali non ancora presente nello sfondo.
addAllSamplesToBackgroundBooleano, valore predefinito: falseAggiungi tutti i campioni allo sfondo, anche se hanno combinazioni di valori ambientali già presenti nello sfondo.
betaMultiplierVirgola mobile, valore predefinito: 1Moltiplicatore di regolarizzazione. Moltiplica tutti i parametri di regolarizzazione automatica per questo numero. Un numero più alto offre una distribuzione più ampia.
betaHingeFloat, valore predefinito: -1Parametro di regolarizzazione da applicare a tutte le funzionalità della cerniera; il valore negativo attiva l'impostazione automatica.
betaLqpFloat, valore predefinito: -1Parametro di regolarizzazione da applicare a tutte le funzionalità lineari, quadratiche e di prodotto; il valore negativo consente l'impostazione automatica.
betaCategoricalFloat, valore predefinito: -1Parametro di regolarizzazione da applicare a tutte le funzionalità categoriche; il valore negativo consente l'impostazione automatica.
betaThresholdFloat, valore predefinito: -1Parametro di regolarizzazione da applicare a tutte le funzionalità di soglia; il valore negativo attiva l'impostazione automatica.
extrapolateBooleano, valore predefinito: trueEstrapola. Prevedi le regioni dello spazio ambientale al di fuori dei limiti riscontrati durante l'addestramento.
doClampBooleano, valore predefinito: trueApplica il bloccaggio all'output.
writeClampGridBooleano, valore predefinito: trueAggiunge una banda all'output ("clamp") che mostra la distribuzione spaziale del clamping. In ogni punto, il valore è la differenza assoluta tra i valori di previsione con e senza bloccaggio.
randomTestPointsNumero intero, valore predefinito: 0Percentuale di test casuale. La percentuale di punti di addestramento da mettere da parte come punti di test, utilizzati per calcolare AUX, omissione e così via.
seedLong, valore predefinito: 0Un valore iniziale utilizzato per generare numeri casuali.

Esempi

Editor di codice (JavaScript)

// Create some sample species presence/absence training data.
var trainingData = ee.FeatureCollection([
  // Species present points.
  ee.Feature(ee.Geometry.Point([-122.39567, 38.02740]), {presence: 1}),
  ee.Feature(ee.Geometry.Point([-122.68560, 37.83690]), {presence: 1}),
  // Species absent points.
  ee.Feature(ee.Geometry.Point([-122.59755, 37.92402]), {presence: 0}),
  ee.Feature(ee.Geometry.Point([-122.47137, 37.99291]), {presence: 0}),
  ee.Feature(ee.Geometry.Point([-122.52905, 37.85642]), {presence: 0}),
  ee.Feature(ee.Geometry.Point([-122.03010, 37.66660]), {presence: 0})
]);

// Import a Landsat 8 surface reflectance image.
var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20200606')
                // Select the optical and thermal bands.
                .select(['.._B.*']);

// Sample the image at the location of the points.
var training = image.sampleRegions({collection: trainingData, scale: 30});

// Define and train a Maxent classifier from the image-sampled points.
var classifier = ee.Classifier.amnhMaxent().train({
  features: training,
  classProperty: 'presence',
  inputProperties: image.bandNames()
});

// Classify the image using the Maxent classifier.
var imageClassified = image.classify(classifier);

// Display the layers on the map.
// Species presence probability [0, 1] grades from black to white.
Map.centerObject(image, 9);
Map.addLayer(
    image.select(['SR_B4', 'SR_B3', 'SR_B2']).multiply(0.0000275).add(-0.2),
    {min: 0, max: 0.3}, 'Image');
Map.addLayer(
    imageClassified, {bands: 'probability', min: 0, max: 1}, 'Probability');
Map.addLayer(
    trainingData.filter('presence == 0'), {color: 'red'},
    'Training data (species absent)');
Map.addLayer(
    trainingData.filter('presence == 1'), {color: 'blue'},
    'Training data (species present)');

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)

"""Demonstrates the ee.Classifier.amnhMaxent method."""

import ee


# Authenticates to the Earth Engine servers.
ee.Authenticate()
# Initializes the client library.
ee.Initialize()


# Create some sample species presence/absence training data.
training_data = ee.FeatureCollection([
    # Species present points.
    ee.Feature(ee.Geometry.Point([-122.39567, 38.02740]), {'presence': 1}),
    ee.Feature(ee.Geometry.Point([-122.68560, 37.83690]), {'presence': 1}),
    # Species absent points.
    ee.Feature(ee.Geometry.Point([-122.59755, 37.92402]), {'presence': 0}),
    ee.Feature(ee.Geometry.Point([-122.47137, 37.99291]), {'presence': 0}),
    ee.Feature(ee.Geometry.Point([-122.52905, 37.85642]), {'presence': 0}),
    ee.Feature(ee.Geometry.Point([-122.03010, 37.66660]), {'presence': 0})
])

# Import a Landsat 8 image and select the reflectance bands.
image = (ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20200606')
         .select(['SR_B[1-7]'])
         .multiply(0.0000275).add(-0.2))  # Apply scaling factors.

# Sample the image at the location of the points.
training = image.sampleRegions(**{
    'collection': training_data,
    'scale': 30
})

# Define and train a Maxent classifier from the image-sampled points.
classifier = ee.Classifier.amnhMaxent().train(**{
    'features': training,
    'classProperty': 'presence',
    'inputProperties': image.bandNames()
})

# Classify the image using the Maxent classifier.
image_classified = image.classify(classifier)