ee.Classifier.amnhMaxent

Erstellt einen Maximum-Entropy-Klassifikator. Maxent wird verwendet, um Wahrscheinlichkeiten für die Verbreitung von Arten mithilfe von Umweltdaten für Orte mit bekannter Präsenz und für eine große Anzahl von „Hintergrund“-Standorten zu modellieren. Weitere Informationen und Zitate finden Sie unter https://biodiversityinformatics.amnh.org/open_source/maxent/ und in der Referenzpublikation: Phillips et al., 2004 A maximum entropy approach to species distribution modeling, Proceedings of the Twenty-First International Conference on Machine Learning. Die Ausgabe ist ein einzelner Bereich mit dem Namen „probability“ (Wahrscheinlichkeit), der die modellierte Wahrscheinlichkeit enthält, und ein zusätzlicher Bereich mit dem Namen „clamp“ (Begrenzung), wenn das Argument „writeClampGrid“ auf „true“ gesetzt ist.

NutzungAusgabe
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)Klassifikator
ArgumentTypDetails
categoricalNamesListe, Standard: nullEine Liste der Namen der kategorialen Eingaben. Alle Eingaben, die nicht in diesem Argument aufgeführt sind, werden als kontinuierlich betrachtet.
outputFormatString, Standard: „cloglog“Darstellung von Wahrscheinlichkeiten in der Ausgabe.
autoFeatureBoolescher Wert, Standard: „true“Automatische Auswahl der zu verwendenden Feature-Klassen basierend auf der Anzahl der Trainingsbeispiele.
linearBoolescher Wert, Standard: „true“Die Verwendung linearer Funktionen zulassen. Wird ignoriert, wenn „autofeature“ auf „true“ gesetzt ist.
quadraticBoolescher Wert, Standard: „true“Verwendung quadratischer Merkmale zulassen. Wird ignoriert, wenn „autofeature“ auf „true“ gesetzt ist.
productBoolescher Wert, Standard: „true“Nutzung von Produktfunktionen zulassen Wird ignoriert, wenn „autofeature“ auf „true“ gesetzt ist.
thresholdBoolescher Wert, Standard: „false“Verwendung von Schwellenwertfunktionen zulassen. Wird ignoriert, wenn „autofeature“ auf „true“ gesetzt ist.
hingeBoolescher Wert, Standard: „true“Verwendung von Scharnierfunktionen zulassen Wird ignoriert, wenn „autofeature“ auf „true“ gesetzt ist.
hingeThresholdGanzzahl, Standard: 15Anzahl der Stichproben, ab denen Hinge-Merkmale verwendet werden. Wird ignoriert, wenn „autofeature“ auf „false“ gesetzt ist.
l2lqThresholdGanzzahl, Standard: 10Anzahl der Stichproben, ab der quadratische Merkmale verwendet werden. Wird ignoriert, wenn „autofeature“ auf „false“ gesetzt ist.
lq2lqptThresholdGanzzahl, Standard: 80Anzahl der Stichproben, ab der Produkt- und Grenzwertfunktionen verwendet werden. Wird ignoriert, wenn „autofeature“ auf „false“ gesetzt ist.
addSamplesToBackgroundBoolescher Wert, Standard: „true“Fügen Sie dem Hintergrund alle Stichproben hinzu, für die eine Kombination von Umgebungswerten vorliegt, die noch nicht im Hintergrund vorhanden ist.
addAllSamplesToBackgroundBoolescher Wert, Standard: „false“Fügen Sie alle Stichproben dem Hintergrund hinzu, auch wenn sie Kombinationen von Umgebungswerten enthalten, die bereits im Hintergrund vorhanden sind.
betaMultiplierGleitkommazahl, Standardwert: 1Regularisierungsfaktor. Multiplizieren Sie alle Parameter für die automatische Regularisierung mit dieser Zahl. Eine höhere Zahl führt zu einer stärker gestreuten Verteilung.
betaHingeGleitkommazahl, Standardwert: -1Regularisierungsparameter, der auf alle Hinge-Features angewendet werden soll. Ein negativer Wert ermöglicht die automatische Festlegung.
betaLqpGleitkommazahl, Standardwert: -1Regularisierungsparameter, der auf alle linearen, quadratischen und Produkt-Features angewendet werden soll. Bei einem negativen Wert wird er automatisch festgelegt.
betaCategoricalGleitkommazahl, Standardwert: -1Regularisierungsparameter, der auf alle kategorischen Features angewendet werden soll. Ein negativer Wert ermöglicht die automatische Festlegung.
betaThresholdGleitkommazahl, Standardwert: -1Regularisierungsparameter, der auf alle Schwellenwert-Features angewendet werden soll. Ein negativer Wert ermöglicht die automatische Festlegung.
extrapolateBoolescher Wert, Standard: „true“Extrapolieren. Vorhersagen für Regionen des Umgebungsraums treffen, die außerhalb der während des Trainings beobachteten Grenzen liegen.
doClampBoolescher Wert, Standard: „true“Begrenzung auf die Ausgabe anwenden.
writeClampGridBoolescher Wert, Standard: „true“Fügt der Ausgabe ein Band hinzu, das die räumliche Verteilung der Begrenzung zeigt. An jedem Punkt ist der Wert die absolute Differenz zwischen Vorhersagewerten mit und ohne Begrenzung.
randomTestPointsGanzzahl, Standardwert: 0Zufälliger Testprozentsatz. Der Prozentsatz der Trainingspunkte, die als Testpunkte zurückgehalten werden, um AUX, Auslassung usw. zu berechnen.
seedLang, Standardwert: 0Ein Startwert, der beim Generieren von Zufallszahlen verwendet wird.

Beispiele

Code-Editor (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)');

Python einrichten

Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

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)