ee.Classifier.amnhMaxent

יוצרת מסווג של אנטרופיה מקסימלית. משתמשים ב-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. הפלט הוא פס יחיד בשם 'probability', שמכיל את ההסתברות המודללת, ועוד פס בשם 'clamp' אם הארגומנט 'writeClampGrid' הוא true.

שימושהחזרות
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בוליאני, ברירת מחדל: trueבחירה אוטומטית של מחלקות התכונות לשימוש, על סמך מספר דוגמאות האימון.
linearבוליאני, ברירת מחדל: trueאפשר להשתמש בתכונות ליניאריות. המערכת מתעלמת מהמאפיין הזה אם המאפיין autofeature מוגדר כ-True.
quadraticבוליאני, ברירת מחדל: trueיש הרשאה להשתמש בתכונות ריבועיות. המערכת מתעלמת מהמאפיין הזה אם המאפיין autofeature מוגדר כ-True.
productבוליאני, ברירת מחדל: trueאפשר להשתמש בתכונות המוצר. המערכת מתעלמת מהמאפיין הזה אם המאפיין autofeature מוגדר כ-True.
thresholdבוליאני, ברירת מחדל: falseיש הרשאה להשתמש בתכונות של ערכי סף. המערכת מתעלמת מהמאפיין הזה אם המאפיין autofeature מוגדר כ-True.
hingeבוליאני, ברירת מחדל: trueיש הרשאה להשתמש בתכונות של הציר. המערכת מתעלמת מהמאפיין הזה אם המאפיין autofeature מוגדר כ-True.
hingeThresholdמספר שלם, ברירת מחדל: 15מספר הדגימות שבהן מתחילים להשתמש בתכונות של הציר. המערכת מתעלמת מהמאפיין אם הערך של autofeature הוא false.
l2lqThresholdמספר שלם, ברירת מחדל: 10מספר הדגימות שבהן מתחילים להשתמש בתכונות ריבועיות. המערכת מתעלמת מהמאפיין אם הערך של autofeature הוא false.
lq2lqptThresholdמספר שלם, ברירת מחדל: 80מספר הדגימות שבהן מתחילים להשתמש בתכונות של המוצר ושל ערך הסף. המערכת מתעלמת מהמאפיין אם הערך של autofeature הוא false.
addSamplesToBackgroundבוליאני, ברירת מחדל: trueלהוסיף לרקע כל דגימה שיש לה שילוב של ערכים סביבתיים שלא מופיע כבר ברקע.
addAllSamplesToBackgroundבוליאני, ברירת מחדל: falseלהוסיף את כל הדגימות לרקע, גם אם יש בהן שילובים של ערכים סביבתיים שכבר קיימים ברקע.
betaMultiplierמספר ממשי (float), ברירת מחדל: 1מכפיל הרגולריזציה. מכפילים את כל הפרמטרים של הרגולריזציה האוטומטית במספר הזה. מספר גבוה יותר ייתן פיזור רחב יותר.
betaHingeמספר ממשי (float), ברירת מחדל: ‎-1פרמטר רגולריזציה שיחול על כל התכונות של ציר; ערך שלילי מאפשר הגדרה אוטומטית.
betaLqpמספר ממשי (float), ברירת מחדל: ‎-1פרמטר רגולריזציה שיחול על כל התכונות הלינאריות, הריבועיות והמכפלה; ערך שלילי מאפשר הגדרה אוטומטית.
betaCategoricalמספר ממשי (float), ברירת מחדל: ‎-1פרמטר רגולריזציה שיחול על כל התכונות הקטגוריות. ערך שלילי מאפשר הגדרה אוטומטית.
betaThresholdמספר ממשי (float), ברירת מחדל: ‎-1פרמטר רגולריזציה שיוחל על כל התכונות של ערכי הסף. ערך שלילי מאפשר הגדרה אוטומטית.
extrapolateבוליאני, ברירת מחדל: trueאקסטרפולציה. חיזוי לאזורים של מרחב סביבתי מחוץ לגבולות שנתקלו בהם במהלך האימון.
doClampבוליאני, ברירת מחדל: trueהחלת הגבלה על הפלט.
writeClampGridבוליאני, ברירת מחדל: trueמוסיף פס לפלט ('clamp') שמציג את ההתפלגות המרחבית של clamping. בכל נקודה, הערך הוא ההפרש המוחלט בין ערכי התחזית עם הגבלת טווח ובלעדיה.
randomTestPointsמספר שלם, ברירת מחדל: 0אחוז הבדיקה האקראית. אחוז נקודות ההכשרה שיוקצו כנקודות בדיקה, וישמשו לחישוב של AUX, השמטה וכו'.
seedארוך, ברירת מחדל: 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 API ועל שימוש ב-geemap לפיתוח אינטראקטיבי מופיע בדף Python Environment.

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)