ee.Classifier.amnhMaxent

یک طبقه بندی کننده حداکثر آنتروپی ایجاد می کند. Maxent برای مدل‌سازی احتمالات توزیع گونه‌ها با استفاده از داده‌های محیطی برای مکان‌های حضور شناخته شده و برای تعداد زیادی از مکان‌های «پس‌زمینه» استفاده می‌شود. برای اطلاعات بیشتر و استناد به: https://biodiversityinformatics.amnh.org/open_source/maxent/ و نشریه مرجع: Phillips, et. al.، 2004 رویکرد حداکثر آنتروپی برای مدل‌سازی توزیع گونه‌ها، مجموعه مقالات بیست و یکمین کنفرانس بین‌المللی یادگیری ماشین. خروجی یک باند منفرد به نام "احتمال" است که حاوی احتمال مدل‌سازی شده است و یک باند اضافی به نام "clamp" زمانی که آرگومان "writeClampGrid" درست باشد.

استفاده برمی گرداند
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 ) طبقه بندی کننده
استدلال تایپ کنید جزئیات
categoricalNames لیست، پیش فرض: null فهرستی از نام ورودی های دسته بندی شده. هر ورودی که در این آرگومان فهرست نشده است، پیوسته در نظر گرفته می شود.
outputFormat رشته، پیش فرض: "Cloglog" نمایش احتمالات در خروجی
autoFeature بولی، پیش فرض: درست است بر اساس تعداد نمونه‌های آموزشی، به‌طور خودکار کلاس‌های ویژگی مورد استفاده را انتخاب کنید.
linear بولی، پیش فرض: درست است اجازه استفاده از ویژگی های خطی را بدهید. وقتی ویژگی خودکار درست باشد نادیده گرفته می‌شود.
quadratic بولی، پیش فرض: درست است اجازه استفاده از ویژگی های درجه دوم را بدهید. وقتی ویژگی خودکار درست باشد نادیده گرفته می‌شود.
product بولی، پیش فرض: درست است اجازه استفاده از ویژگی های محصول را بدهید. وقتی ویژگی خودکار درست باشد نادیده گرفته می‌شود.
threshold بولی، پیش فرض: نادرست اجازه استفاده از ویژگی های آستانه را بدهید. وقتی ویژگی خودکار درست باشد نادیده گرفته می‌شود.
hinge بولی، پیش فرض: درست است اجازه دهید از ویژگی های لولا استفاده شود. وقتی ویژگی خودکار درست باشد نادیده گرفته می‌شود.
hingeThreshold عدد صحیح، پیش فرض: 15 تعداد نمونه هایی که در آنها ویژگی های لولا شروع به استفاده می شود. وقتی ویژگی خودکار نادرست است، نادیده گرفته می‌شود.
l2lqThreshold عدد صحیح، پیش فرض: 10 تعداد نمونه هایی که در آنها ویژگی های درجه دوم استفاده می شود. وقتی ویژگی خودکار نادرست است، نادیده گرفته می‌شود.
lq2lqptThreshold عدد صحیح، پیش فرض: 80 تعداد نمونه هایی که در آنها ویژگی های محصول و آستانه شروع به استفاده می شود. وقتی ویژگی خودکار نادرست است، نادیده گرفته می‌شود.
addSamplesToBackground بولی، پیش فرض: درست است هر نمونه ای را که دارای ترکیبی از مقادیر محیطی است که قبلاً در پس زمینه وجود ندارد، به پس زمینه اضافه کنید.
addAllSamplesToBackground بولی، پیش فرض: نادرست همه نمونه‌ها را به پس‌زمینه اضافه کنید، حتی اگر ترکیبی از مقادیر محیطی داشته باشند که قبلاً در پس‌زمینه وجود دارد.
betaMultiplier شناور، پیش فرض: 1 ضریب منظم سازی تمام پارامترهای تنظیم خودکار را در این عدد ضرب کنید. عدد بالاتر توزیع گسترده تری می دهد.
betaHinge شناور، پیش فرض: -1 پارامتر تنظیم برای همه ویژگی های لولا اعمال می شود. مقدار منفی تنظیم خودکار را فعال می کند.
betaLqp شناور، پیش فرض: -1 پارامتر تنظیم برای تمام ویژگی های خطی، درجه دوم و محصول اعمال شود. مقدار منفی تنظیم خودکار را فعال می کند.
betaCategorical شناور، پیش فرض: -1 پارامتر منظم سازی برای همه ویژگی های دسته بندی اعمال می شود. مقدار منفی تنظیم خودکار را فعال می کند.
betaThreshold شناور، پیش فرض: -1 پارامتر تنظیم برای همه ویژگی های آستانه اعمال شود. مقدار منفی تنظیم خودکار را فعال می کند.
extrapolate بولی، پیش فرض: درست است برون یابی کنید. پیش بینی مناطقی از فضای محیطی خارج از محدودیت هایی که در طول آموزش با آن مواجه می شوند.
doClamp بولی، پیش فرض: درست است گیره را روی خروجی اعمال کنید.
writeClampGrid بولی، پیش فرض: درست است نواری را به خروجی ("گیره") اضافه می کند که توزیع فضایی گیره را نشان می دهد. در هر نقطه، مقدار تفاوت مطلق بین مقادیر پیش‌بینی با و بدون بستن است.
randomTestPoints عدد صحیح، پیش فرض: 0 درصد آزمون تصادفی درصد امتیازهای آموزشی که باید به عنوان نقاط تست کنار گذاشته شوند، که برای محاسبه AUX، حذف و غیره استفاده می شود.
seed طولانی، پیش فرض: 0 دانه ای که هنگام تولید اعداد تصادفی استفاده می شود.

نمونه ها

ویرایشگر کد (جاوا اسکریپت)

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

راه اندازی پایتون

برای اطلاعات در مورد API پایتون و استفاده از geemap برای توسعه تعاملی به صفحه محیط پایتون مراجعه کنید.

import ee
import geemap.core as geemap

کولب (پایتون)

"""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)