ee.Classifier.amnhMaxent

Cria um classificador de entropia máxima. O Maxent é usado para modelar probabilidades de distribuição de espécies usando dados ambientais para locais de presença conhecida e para um grande número de locais de "segundo plano". Para mais informações e citações, consulte: https://biodiversityinformatics.amnh.org/open_source/maxent/ e a publicação de referência: Phillips, et. al., 2004 Uma abordagem de máxima entropia para modelagem de distribuição de espécies, Anais da 21ª Conferência Internacional sobre Aprendizado de Máquina. A saída é uma única banda chamada "probability", que contém a probabilidade modelada, e outra banda chamada "clamp" quando o argumento "writeClampGrid" é verdadeiro.

UsoRetorna
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)Classificador
ArgumentoTipoDetalhes
categoricalNamesLista, padrão: nuloUma lista dos nomes das entradas categóricas. As entradas não listadas nesse argumento são consideradas contínuas.
outputFormatString, padrão: "cloglog"Representação de probabilidades na saída.
autoFeatureBooleano, padrão: verdadeiroSeleciona automaticamente quais classes de recursos usar com base no número de exemplos de treinamento.
linearBooleano, padrão: verdadeiroPermite o uso de recursos lineares. Ignorado quando "autofeature" é verdadeiro.
quadraticBooleano, padrão: verdadeiroPermite o uso de recursos quadráticos. Ignorado quando "autofeature" é verdadeiro.
productBooleano, padrão: verdadeiroPermitir o uso de recursos do produto. Ignorado quando "autofeature" é verdadeiro.
thresholdBooleano, padrão: falsoPermitir o uso de recursos de limite. Ignorado quando "autofeature" é verdadeiro.
hingeBooleano, padrão: verdadeiroPermitir o uso dos recursos da dobradiça. Ignorado quando "autofeature" é verdadeiro.
hingeThresholdNúmero inteiro, padrão: 15Número de amostras em que os recursos de dobradiça começam a ser usados. Ignorado quando o recurso de preenchimento automático é falso.
l2lqThresholdNúmero inteiro, padrão: 10Número de amostras em que os atributos quadráticos começam a ser usados. Ignorado quando o recurso de preenchimento automático é falso.
lq2lqptThresholdNúmero inteiro, padrão: 80Número de amostras em que os recursos de produto e limite começam a ser usados. Ignorado quando o recurso de preenchimento automático é falso.
addSamplesToBackgroundBooleano, padrão: verdadeiroAdicione ao plano de fundo qualquer amostra que tenha uma combinação de valores ambientais que ainda não esteja presente nele.
addAllSamplesToBackgroundBooleano, padrão: falsoAdicione todas as amostras ao plano de fundo, mesmo que elas tenham combinações de valores ambientais que já estão presentes.
betaMultiplierPonto flutuante, padrão: 1Multiplicador de regularização. Multiplica todos os parâmetros de regularização automática por esse número. Um número maior resulta em uma distribuição mais dispersa.
betaHingePonto flutuante, padrão: -1Parâmetro de regularização a ser aplicado a todos os recursos de articulação. Um valor negativo ativa a configuração automática.
betaLqpPonto flutuante, padrão: -1Parâmetro de regularização a ser aplicado a todos os recursos lineares, quadráticos e de produto. Um valor negativo ativa a configuração automática.
betaCategoricalPonto flutuante, padrão: -1Parâmetro de regularização a ser aplicado a todos os recursos categóricos. Um valor negativo ativa a definição automática.
betaThresholdPonto flutuante, padrão: -1Parâmetro de regularização a ser aplicado a todos os recursos de limite. Um valor negativo ativa a definição automática.
extrapolateBooleano, padrão: verdadeiroExtrapole. Prever para regiões do espaço ambiental fora dos limites encontrados durante o treinamento.
doClampBooleano, padrão: verdadeiroAplicar fixação à saída.
writeClampGridBooleano, padrão: verdadeiroAdiciona uma banda à saída ("clamp") mostrando a distribuição espacial do ajuste. Em cada ponto, o valor é a diferença absoluta entre os valores de previsão com e sem fixação.
randomTestPointsNúmero inteiro, padrão: 0Porcentagem de teste aleatória. A porcentagem de pontos de treinamento a serem reservados como pontos de teste, usados para calcular AUX, omissão etc.
seedLong, padrão: 0Uma seed usada ao gerar números aleatórios.

Exemplos

Editor de código (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)');

Configuração do Python

Consulte a página Ambiente Python para informações sobre a API Python e como usar geemap para desenvolvimento interativo.

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)