ee.Classifier.amnhMaxent

Tạo một trình phân loại Entropy tối đa. Maxent được dùng để mô hình hoá xác suất phân bố loài bằng cách sử dụng dữ liệu môi trường cho các vị trí có sự hiện diện đã biết và cho một số lượng lớn các vị trí "nền". Để biết thêm thông tin và cách trích dẫn, hãy xem: https://biodiversityinformatics.amnh.org/open_source/maxent/ và ấn phẩm tham khảo: Phillips, et. al., 2004 A maximum entropy approach to species distribution modeling, Proceedings of the Twenty-First International Conference on Machine Learning. Đầu ra là một dải duy nhất có tên là "probability" (xác suất), chứa xác suất được mô hình hoá và một dải bổ sung có tên là "clamp" khi đối số "writeClampGrid" là true.

Cách sử dụngGiá trị trả về
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)Công cụ phân loại
Đối sốLoạiThông tin chi tiết
categoricalNamesDanh sách, mặc định: nullDanh sách tên của các đầu vào phân loại. Mọi dữ liệu đầu vào không có trong đối số này đều được coi là liên tục.
outputFormatChuỗi, mặc định: "cloglog"Biểu diễn xác suất trong kết quả đầu ra.
autoFeatureBoolean, mặc định: trueTự động chọn lớp đối tượng cần sử dụng, dựa trên số lượng mẫu huấn luyện.
linearBoolean, mặc định: trueCho phép sử dụng các đối tượng dạng đường. Bị bỏ qua khi autofeature là true.
quadraticBoolean, mặc định: trueCho phép sử dụng các tính năng bậc hai. Bị bỏ qua khi autofeature là true.
productBoolean, mặc định: trueCho phép sử dụng các tính năng của sản phẩm. Bị bỏ qua khi autofeature là true.
thresholdBoolean, mặc định: falseCho phép sử dụng các tính năng ngưỡng. Bị bỏ qua khi autofeature là true.
hingeBoolean, mặc định: trueCho phép sử dụng các tính năng của bản lề. Bị bỏ qua khi autofeature là true.
hingeThresholdSố nguyên, mặc định: 15Số lượng mẫu mà các tính năng bản lề bắt đầu được sử dụng. Bị bỏ qua khi autofeature là false.
l2lqThresholdSố nguyên, mặc định: 10Số lượng mẫu mà các đặc điểm bậc hai bắt đầu được sử dụng. Bị bỏ qua khi autofeature là false.
lq2lqptThresholdSố nguyên, mặc định: 80Số lượng mẫu mà các tính năng sản phẩm và ngưỡng bắt đầu được sử dụng. Bị bỏ qua khi autofeature là false.
addSamplesToBackgroundBoolean, mặc định: trueThêm vào nền mọi mẫu có sự kết hợp các giá trị môi trường chưa có trong nền.
addAllSamplesToBackgroundBoolean, mặc định: falseThêm tất cả mẫu vào nền, ngay cả khi mẫu có các tổ hợp giá trị môi trường đã có trong nền.
betaMultiplierSố thực, mặc định: 1Hệ số điều hoà. Nhân tất cả các thông số điều chuẩn tự động với số này. Số càng cao thì mức phân phối càng rộng.
betaHingeĐộ chính xác đơn, mặc định: -1Tham số điều chỉnh được áp dụng cho tất cả các đặc điểm bản lề; giá trị âm cho phép thiết lập tự động.
betaLqpĐộ chính xác đơn, mặc định: -1Tham số điều chuẩn sẽ được áp dụng cho tất cả các đặc điểm tuyến tính, bậc hai và sản phẩm; giá trị âm cho phép thiết lập tự động.
betaCategoricalĐộ chính xác đơn, mặc định: -1Tham số điều chuẩn sẽ được áp dụng cho tất cả các đặc điểm phân loại; giá trị âm cho phép thiết lập tự động.
betaThresholdĐộ chính xác đơn, mặc định: -1Tham số điều chuẩn sẽ được áp dụng cho tất cả các đặc điểm ngưỡng; giá trị âm cho phép thiết lập tự động.
extrapolateBoolean, mặc định: trueNgoại suy. Dự đoán các vùng không gian môi trường bên ngoài giới hạn gặp phải trong quá trình huấn luyện.
doClampBoolean, mặc định: trueÁp dụng tính năng giới hạn cho đầu ra.
writeClampGridBoolean, mặc định: trueThêm một dải vào đầu ra ("clamp") cho thấy sự phân bố không gian của việc kẹp. Tại mỗi điểm, giá trị là độ chênh lệch tuyệt đối giữa các giá trị dự đoán có và không có tính năng giới hạn.
randomTestPointsSố nguyên, mặc định: 0Tỷ lệ phần trăm kiểm thử ngẫu nhiên. Tỷ lệ phần trăm điểm huấn luyện cần giữ lại làm điểm kiểm thử, dùng để tính toán AUX, điểm bỏ sót, v.v.
seedLong, mặc định: 0Một dữ liệu gốc được dùng khi tạo số ngẫu nhiên.

Ví dụ

Trình soạn thảo mã (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)');

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap cho quá trình phát triển tương tác.

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)