ee.Classifier.amnhMaxent

تنشئ مصنّف Maximum Entropy. يتم استخدام Maxent لنمذجة احتمالات توزيع الأنواع باستخدام البيانات البيئية للمواقع الجغرافية التي تم رصدها فيها ولعدد كبير من المواقع الجغرافية "الخلفية". لمزيد من المعلومات والاقتباس، يُرجى الاطّلاع على: https://biodiversityinformatics.amnh.org/open_source/maxent/ والمنشور المرجعي: Phillips, et. al., ‫2004 A maximum entropy approach to species distribution modeling, Proceedings of the Twenty-First International Conference on Machine Learning. الناتج هو نطاق واحد باسم "الاحتمالية"، يحتوي على الاحتمالية التي تم وضع نموذج لها، ونطاق إضافي باسم "التثبيت" عندما تكون الوسيطة "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قائمة، القيمة التلقائية: فارغةقائمة بأسماء المدخلات الفئوية. ويتم اعتبار أي مدخلات غير مدرَجة في هذه الوسيطة متواصلة.
outputFormatسلسلة، القيمة التلقائية: "cloglog"تمثيل الاحتمالات في الناتج
autoFeatureقيمة منطقية، القيمة التلقائية: trueاختيار فئات الميزات التي سيتم استخدامها تلقائيًا استنادًا إلى عدد عيّنات التدريب
linearقيمة منطقية، القيمة التلقائية: trueالسماح باستخدام الميزات الخطية يتم تجاهله عندما تكون قيمة autofeature هي true.
quadraticقيمة منطقية، القيمة التلقائية: trueالسماح باستخدام الميزات التربيعية يتم تجاهله عندما تكون قيمة autofeature هي true.
productقيمة منطقية، القيمة التلقائية: trueالسماح باستخدام ميزات المنتج يتم تجاهله عندما تكون قيمة autofeature هي true.
thresholdقيمة منطقية، القيمة التلقائية: falseالسماح باستخدام ميزات الحدّ الأدنى يتم تجاهله عندما تكون قيمة autofeature هي true.
hingeقيمة منطقية، القيمة التلقائية: trueالسماح باستخدام ميزات المفصلة يتم تجاهله عندما تكون قيمة autofeature هي true.
hingeThresholdعدد صحيح، القيمة التلقائية: 15عدد العيّنات التي تبدأ عندها ميزات المفصلة في الاستخدام. يتم تجاهله عندما تكون قيمة autofeature هي "خطأ".
l2lqThresholdعدد صحيح، القيمة التلقائية: 10عدد العيّنات التي يبدأ عندها استخدام الميزات التربيعية. يتم تجاهله عندما تكون قيمة autofeature هي "خطأ".
lq2lqptThresholdعدد صحيح، القيمة التلقائية: 80عدد العيّنات التي يبدأ عندها استخدام ميزات المنتج والحدّ. يتم تجاهله عندما تكون قيمة autofeature هي "خطأ".
addSamplesToBackgroundقيمة منطقية، القيمة التلقائية: trueأضِف إلى الخلفية أي عيّنة تتضمّن مجموعة من القيم البيئية غير المتوفّرة في الخلفية.
addAllSamplesToBackgroundقيمة منطقية، القيمة التلقائية: falseأضِف جميع العيّنات إلى الخلفية، حتى إذا كانت تتضمّن مجموعات من القيم البيئية المتوفّرة في الخلفية.
betaMultiplierعدد عائم، القيمة التلقائية: 1مضاعِف التسوية اضرب جميع مَعلمات التسوية التلقائية بهذا الرقم. ويؤدي ارتفاع هذا الرقم إلى توزيع أكثر انتشارًا.
betaHingeFloat، القيمة التلقائية: -1مَعلمة التسوية التي سيتم تطبيقها على جميع ميزات المفصلة، وتتيح القيمة السالبة الإعداد التلقائي.
betaLqpFloat، القيمة التلقائية: -1مَعلمة التسوية التي سيتم تطبيقها على جميع الميزات الخطية والتربيعية والمنتجات، وتتيح القيمة السالبة الإعداد التلقائي.
betaCategoricalFloat، القيمة التلقائية: -1مَعلمة التسوية التي سيتم تطبيقها على جميع الميزات الفئوية، وتتيح القيمة السلبية إعدادًا تلقائيًا.
betaThresholdFloat، القيمة التلقائية: -1مَعلمة التسوية التي سيتم تطبيقها على جميع ميزات الحدّ الأدنى، وتتيح القيمة السالبة إعدادًا تلقائيًا.
extrapolateقيمة منطقية، القيمة التلقائية: trueاستقراء التوقّع للمناطق الواقعة خارج الحدود التي تمت مواجهتها أثناء التدريب
doClampقيمة منطقية، القيمة التلقائية: trueتطبيق التثبيت على الإخراج
writeClampGridقيمة منطقية، القيمة التلقائية: trueتضيف هذه السمة نطاقًا إلى الناتج (clamp) يعرض التوزيع المكاني للحدّ. في كل نقطة، تكون القيمة هي الفرق المطلق بين قيم التوقّع مع التقييد وبدونه.
randomTestPointsعدد صحيح، القيمة التلقائية: 0النسبة المئوية للاختبار العشوائي نسبة نقاط التدريب التي يجب الاحتفاظ بها كنقاط اختبار، وتُستخدَم لحساب مقاييس مثل AUX وOmission وما إلى ذلك
seedLong، القيمة التلقائية: 0هي قيمة أولية تُستخدَم عند إنشاء أرقام عشوائية.

أمثلة

محرّر الرموز البرمجية (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

راجِع صفحة بيئة Python للحصول على معلومات حول واجهة برمجة التطبيقات Python واستخدام geemap للتطوير التفاعلي.

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)