ee.Classifier.amnhMaxent

Membuat pengklasifikasi Entropi Maksimum. Maxent digunakan untuk memodelkan probabilitas distribusi spesies menggunakan data lingkungan untuk lokasi yang diketahui keberadaannya dan untuk sejumlah besar lokasi 'latar belakang'. Untuk mengetahui informasi selengkapnya dan cara mengutip, lihat: https://biodiversityinformatics.amnh.org/open_source/maxent/ dan publikasi referensi: Phillips, et. al., 2004 Pendekatan entropi maksimum untuk pemodelan distribusi spesies, Prosiding Twenty-First International Conference on Machine Learning. Outputnya adalah satu band bernama 'probability', yang berisi probabilitas yang dimodelkan, dan band tambahan bernama 'clamp' jika argumen 'writeClampGrid' benar (true).

PenggunaanHasil
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)Pengklasifikasi
ArgumenJenisDetail
categoricalNamesDaftar, default: nullDaftar nama input kategoris. Input apa pun yang tidak tercantum dalam argumen ini dianggap berkelanjutan.
outputFormatString, default: "cloglog"Representasi probabilitas dalam output.
autoFeatureBoolean, default: benar (true)Memilih secara otomatis kelas fitur yang akan digunakan, berdasarkan jumlah sampel pelatihan.
linearBoolean, default: benar (true)Mengizinkan penggunaan fitur linear. Diabaikan jika autofeature benar.
quadraticBoolean, default: benar (true)Izinkan penggunaan fitur kuadrat. Diabaikan jika autofeature benar.
productBoolean, default: benar (true)Izinkan penggunaan fitur produk. Diabaikan jika autofeature benar.
thresholdBoolean, default: falseIzinkan penggunaan fitur nilai minimum. Diabaikan jika autofeature benar.
hingeBoolean, default: benar (true)Izinkan penggunaan fitur engsel. Diabaikan jika autofeature benar.
hingeThresholdBilangan bulat, default: 15Jumlah sampel saat fitur engsel mulai digunakan. Diabaikan jika autofeature bernilai false.
l2lqThresholdBilangan bulat, default: 10Jumlah sampel saat fitur kuadratik mulai digunakan. Diabaikan jika autofeature bernilai false.
lq2lqptThresholdBilangan bulat, default: 80Jumlah sampel saat fitur produk dan nilai minimum mulai digunakan. Diabaikan jika autofeature bernilai false.
addSamplesToBackgroundBoolean, default: benar (true)Tambahkan ke latar belakang sampel apa pun yang memiliki kombinasi nilai lingkungan yang belum ada di latar belakang.
addAllSamplesToBackgroundBoolean, default: falseTambahkan semua sampel ke latar belakang, meskipun sampel tersebut memiliki kombinasi nilai lingkungan yang sudah ada di latar belakang.
betaMultiplierFloat, default: 1Pengganda regularisasi. Kalikan semua parameter regularisasi otomatis dengan angka ini. Angka yang lebih tinggi memberikan distribusi yang lebih tersebar.
betaHingeFloat, default: -1Parameter regularisasi yang akan diterapkan ke semua fitur engsel; nilai negatif memungkinkan setelan otomatis.
betaLqpFloat, default: -1Parameter regularisasi yang akan diterapkan ke semua fitur linear, kuadrat, dan produk; nilai negatif memungkinkan setelan otomatis.
betaCategoricalFloat, default: -1Parameter regularisasi yang akan diterapkan ke semua fitur kategoris; nilai negatif memungkinkan setelan otomatis.
betaThresholdFloat, default: -1Parameter regularisasi yang akan diterapkan ke semua fitur nilai minimum; nilai negatif memungkinkan setelan otomatis.
extrapolateBoolean, default: benar (true)Ekstrapolasi. Memprediksi ke wilayah ruang lingkungan di luar batas yang ditemui selama pelatihan.
doClampBoolean, default: benar (true)Menerapkan pembatasan pada output.
writeClampGridBoolean, default: benar (true)Menambahkan band ke output ('clamp') yang menunjukkan distribusi spasial penjepitan. Di setiap titik, nilainya adalah perbedaan absolut antara nilai prediksi dengan dan tanpa pembatasan.
randomTestPointsBilangan bulat, default: 0Persentase pengujian acak. Persentase titik pelatihan yang akan disisihkan sebagai titik pengujian, yang digunakan untuk menghitung AUX, penghilangan, dll.
seedPanjang, default: 0Nilai awal yang digunakan saat membuat angka acak.

Contoh

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)');

Penyiapan Python

Lihat halaman Lingkungan Python untuk mengetahui informasi tentang Python API dan penggunaan geemap untuk pengembangan interaktif.

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)