Springe direkt zu Inhalt

التقييم الذاتي


هنا، يمكنك التحقق من المعرفة التي اكتسبتها خلال الفصل الثالث.

يرجى العمل من خلال التدريبات التالية.

يمكنك التحقق من نتائجك عن طريق توسيع مربعات "الانذار" المقابلة في أسفل هذه الصفحة والتي ستحتوي على الحل الصحيح.

    

3.1: بيانات التدريب والتحقق من الصحة

في سياق تصنيفات LULC، ما هو الفرق بين بيانات التدريب والتحقق من الصحة؟

    

3.2: الفئات

هل سيؤدي العدد الأكبر من فئات التصنيف دائمًا إلى نتيجة تصنيف أفضل؟

  

3.3: أوجد الأخطاء

ابحث عن الأخطاء في الجزء التالي من التعليمات البرمجية وصححها.

//Example RandomForest Classifier:
var rfclassifier = ee.classifier.smilerandomforest(50).train({
  Features: training,
  ClassProperty: 'landcover'
});
 
//Run the classification
rfclassified = s2a_median.classify(rfclassifier);
 
//Display classification
map.addLayer(rfclassified,
{min: 0, max: 3, palette: ['blue', 'green', 'orange','yellow']},
'RF classification');       

     

3.4: تحليل الكود

قم بالتعليق على كل سطر من التعليمات البرمجية التالية!

ماذا تعمل، أو ماذا تفعل؟

 

var rfvalidation = rfclassified.sampleRegions({ 
collection: valMerge,
properties: ['landcover'],
scale: 30,
});
print(rfvalidation, 'Random Forest Validation');

var rfTestAccuracy = rfvalidation.errorMatrix('landcover', 'classification');
print(rfTestAccuracy, 'Validation of the Random Forest Error Matrix');
print(rfTestAccuracy.accuracy(), 'Random Forest Overall Accuracy');

   

الآن دورك!

قم بإنشاء تصنيف استخدام الأراضي / الغطاء الأرضي باستخدام مصنف الغابات العشوائية لمنطقة بحث وفترة زمنية من اختيارك.

هذا يتضمن:

- تجهيز البيانات

- تكوين نماذج تدريبية

- التصنيف والتحقق من الصحة

- تفسير النتائج

    

تأكد من تعيين شروط إطار العمل الخاصة بك قبل أن تبدأ في الترميز، لأن تصنيف LULC اللطيف والدقيق يحتاج إلى القليل من التخطيط مسبقًا.

يتضمن هذا على سبيل المثال نوع ومقدار الفئات التي تريد تقييمها وعدد عينات التدريب لكل فئة واستراتيجية أخذ العينات.

يمكن العثور على مزيد من المعلومات حول هذا الموضوع في الفصل 3.2 "التفسير والأفكار المتعلقة بالتحسين".

       

اطبع النتائج ذات الصلة إلى لوحة التحكم واعرض خرائط ذات معنى في لوحة الخريطة.

في حالة تعثرك، يمكنك دائمًا استخدام كود الفصل 3.2 "التصنيف المحسن" كمرجع.

بيانات التدريب والتحقق من الصحة

بيانات التدريب: "تعلم" مجموعة البيانات هذه الخوارزمية التي مجموعات قيم البيكسل ستنتج نموذجًا تنبؤيًا جيدًا لفئاتنا المميزة.

بيانات التحقق من الصحة: من ناحية أخرى، تُستخدم مجموعة البيانات هذه للتحقق من نتيجة المنتج المصنف من خلال تقديم تقييم غير متحيز للنموذج المناسب.

الفئات

رقم!

يجب دائمًا تكييف عدد الفئات مع سؤال البحث.

بشكل عام، من الأفضل التمسك بعدد صغير نسبيًا من الفئات التي لا يزال بإمكانها تصوير سؤال البحث بشكل مناسب.

بدلاً من ذلك، ركز على جودة عالية لعينات التدريب لكل فئة.

بهذه الطريقة، لن يكون المنتج النهائي فوضويًا أو مربكًا للوهلة الأولى وربما يكون أكثر دقة أيضًا.

ابحث عن الأخطاء

تم وضع علامة على الأخطاء المصححة بالخط العريض.

تحليل الكود

قم بالتعليق على كل سطر من التعليمات البرمجية التالية!

ماذا تعمل، أو ماذا تفعل؟

          

يتم استخدام هذا الرمز للتحقق من صحة تصنيف تمت معالجته بالفعل يسمى "rfclassified" باستخدام مجموعة عينة للتحقق تسمى "valMerge".

ثم يتم حساب مصفوفة الخطأ لتقييم دقة التصنيفات.

بيانات التدريب: "تعلم" مجموعة البيانات هذه الخوارزمية التي مجموعات قيم البيكسل ستنتج نموذجًا تنبؤيًا جيدًا لفئاتنا المميزة.

بيانات التحقق من الصحة: من ناحية أخرى، تُستخدم مجموعة البيانات هذه للتحقق من نتيجة المنتج المصنف من خلال تقديم تقييم غير متحيز للنموذج المناسب.

رقم!

يجب دائمًا تكييف عدد الفئات مع سؤال البحث.

بشكل عام، من الأفضل التمسك بعدد صغير نسبيًا من الفئات التي لا يزال بإمكانها تصوير سؤال البحث بشكل مناسب.

بدلاً من ذلك، ركز على جودة عالية لعينات التدريب لكل فئة.

بهذه الطريقة، لن يكون المنتج النهائي فوضويًا أو مربكًا للوهلة الأولى وربما يكون أكثر دقة أيضًا.

تم وضع علامة على الأخطاء المصححة بالخط العريض.

 

//Example RandomForest Classifier:
var rfclassifier = ee.Classifier.smileRandomForest(50).train({
  features: training,
  classProperty: 'landcover'
});


//Run the classification
var rfclassified = s2a_median.classify(rfclassifier);

//Display classification
Map.addLayer(rfclassified,
{min: 0, max: 3, palette: ['blue', 'green', 'orange','yellow']},
'RF classification');

قم بالتعليق على كل سطر من التعليمات البرمجية التالية!

ماذا تعمل، أو ماذا تفعل؟

              

يتم استخدام هذا الرمز للتحقق من صحة تصنيف تمت معالجته بالفعل يسمى "rfclassified" باستخدام مجموعة عينة للتحقق تسمى "valMerge".

ثم يتم حساب مصفوفة الخطأ لتقييم دقة التصنيفات.

 

var rfvalidation = rfclassified.sampleRegions({ //Initiates the validation
collection: valMerge, //Choose the merged validation samples
properties: ['landcover'], //Choose geometry field 'landcover' as property
scale: 30, //Set spatial resolution
});
print(rfvalidation, 'Random Forest Validation');//Print the results to the console

var rfTestAccuracy = rfvalidation.errorMatrix('landcover', 'classification'); //Create an Error Matrix for evaluation purposes
print(rfTestAccuracy, 'Validation of the Random Forest Error Matrix'); //Print Error Matrix to the Console
print(rfTestAccuracy.accuracy(), 'Random Forest Overall Accuracy'); //Print Overall Accuracy to the Console