Original Title: Comparative Analysis of Machine Learning Models for Predicting Rice Yield: Insights from Agricultural Inputs and Practices in Rwanda
Source: doi.org/10.36956/rwae.v5i4.1247
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការវិភាគប្រៀបធៀបនៃម៉ូដែល Machine Learning សម្រាប់ការព្យាករណ៍ទិន្នផលស្រូវ៖ ការយល់ដឹងពីធាតុចូល និងការអនុវត្តកសិកម្មនៅប្រទេសរវ៉ាន់ដា

ចំណងជើងដើម៖ Comparative Analysis of Machine Learning Models for Predicting Rice Yield: Insights from Agricultural Inputs and Practices in Rwanda

អ្នកនិពន្ធ៖ Cyprien Mugemangango (African Center of Excellence in Data Science (ACE-DS), University of Rwanda), Joseph Nzabanita (College of Science and Technology, University of Rwanda), Dieudonne Ndaruhuye Muhoza (College of Business and Economics, University of Rwanda), Nathan D. Cahill (College of Science, Rochester Institute of Technology)

ឆ្នាំបោះពុម្ព៖ 2024 Research on World Agricultural Economy

វិស័យសិក្សា៖ Agricultural Data Science

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ការសិក្សានេះដោះស្រាយបញ្ហាសន្តិសុខស្បៀងនៅប្រទេសរវ៉ាន់ដា ដោយស្វែងរកម៉ូដែល Machine Learning ដ៏មានប្រសិទ្ធភាពបំផុត ដើម្បីព្យាករណ៍ទិន្នផលស្រូវដោយផ្អែកលើធាតុចូល និងការអនុវត្តកសិកម្មរបស់កសិករ។

វិធីសាស្ត្រ (The Methodology)៖ អ្នកស្រាវជ្រាវបានប្រើប្រាស់ទិន្នន័យពីវិទ្យាស្ថានជាតិស្ថិតិរវ៉ាន់ដា (NISR) ហើយបានសាកល្បងក្បួនដោះស្រាយ Machine Learning ចំនួន ៨ ប្រភេទផ្សេងគ្នា ដើម្បីប្រៀបធៀបសមត្ថភាពការព្យាករណ៍។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Adaptive Boosting Tree (AdaBoost)
ម៉ូដែល Adaptive Boosting Tree
មានសមត្ថភាពខ្ពស់ក្នុងការកាត់បន្ថយកំហុសដោយផ្តោតលើទិន្នន័យដែលព្យាករណ៍ខុសពីមុន និងកាត់បន្ថយបញ្ហា Overfitting។ អាចមានភាពរសើបទៅនឹងទិន្នន័យដែលមានលម្អៀងខ្លាំង (Outliers) ទោះបីជាក្នុងការសិក្សានេះវាដំណើរការល្អបំផុតក៏ដោយ។ RMSE: 0.69, MAE: 0.46, និងកំហុសធៀប (Relative Error) លើទិន្នន័យសាកល្បង: 12.4% (ល្អជាងគេ)។
Extreme Gradient Boosting Tree (XGBoost)
ម៉ូដែល Extreme Gradient Boosting
មានដំណើរការលឿន ផ្តល់លទ្ធផលច្បាស់លាស់ខ្ពស់ និងមានសមត្ថភាពគ្រប់គ្រងទំនាក់ទំនងទិន្នន័យស្មុគស្មាញបានល្អ។ ទាមទារការកំណត់ប៉ារ៉ាម៉ែត្រ (Hyperparameter tuning) ច្រើន ដើម្បីទទួលបានលទ្ធផលល្អបំផុត។ RMSE: 0.71, MAE: 0.47, និងកំហុសធៀប (Relative Error) លើទិន្នន័យសាកល្បង: 12.7%។
Random Forest
ម៉ូដែល Random Forest
ជាម៉ូដែលដែលរឹងមាំ មិនងាយ Overfit និងអាចដោះស្រាយបានទាំងបញ្ហាចំណាត់ថ្នាក់ (Classification) និងតំរែតំរង់ (Regression)។ ដំណើរការយឺតជាងម៉ូដែលប្រភេទ Boosting ក្នុងការទស្សន៍ទាយ និងមានកម្រិតលម្អៀងខ្ពស់ជាងបន្តិចក្នុងការសិក្សានេះ។ កំហុសធៀប (Relative Error) លើទិន្នន័យសាកល្បង: 15.4%។
Artificial Neural Network (ANN)
បណ្ដាញសរសៃប្រសាទសិប្បនិម្មិត
អាចស្វែងរកទំនាក់ទំនងមិនលីនេអ៊ែរ (Non-linear) ដែលមានភាពស្មុគស្មាញខ្លាំងរវាងអថេរ និងទិន្នផល។ ជាធម្មតាត្រូវការទិន្នន័យច្រើនសន្ធឹកសន្ធាប់ និងកម្លាំងម៉ាស៊ីនខ្ពស់ ហើយពិបាកក្នុងការបកស្រាយលទ្ធផល (Black box)។ កំហុសធៀប (Relative Error) លើទិន្នន័យសាកល្បង: 18.9%។
Multiple Linear Regression
តំរែតំរង់លីនេអ៊ែរពហុគុណ
មានភាពសាមញ្ញ ងាយស្រួលយល់ និងបកស្រាយទំនាក់ទំនងរវាងអថេរឯករាជ្យ និងអថេរអនិស្សរៈ។ មិនអាចចាប់យកទំនាក់ទំនងស្មុគស្មាញ និងទម្រង់មិនលីនេអ៊ែរនៃទិន្នន័យកសិកម្មបានទេ។ កំហុសធៀប (Relative Error) លើទិន្នន័យសាកល្បង: 24.9% (ខ្សោយជាងគេ)។

ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារនេះមិនបានបញ្ជាក់អំពីតម្លៃចំណាយហិរញ្ញវត្ថុជាក់លាក់នោះទេ ប៉ុន្តែបានបង្ហាញពីតម្រូវការបច្ចេកទេស និងទិន្នន័យចាំបាច់មួយចំនួនសម្រាប់ការស្រាវជ្រាវនេះ។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះត្រូវបានធ្វើឡើងនៅក្នុងប្រទេសរវ៉ាន់ដា ដោយផ្តោតលើទិន្នន័យពីចម្ការស្រូវចំនួន ៨៤២ កន្លែង ជាមួយនឹងលក្ខខណ្ឌអាកាសធាតុ ដី និងការអនុវត្តកសិកម្មជាក់លាក់របស់ប្រទេសនោះ។ ដោយសារកម្ពុជាមានអាកាសធាតុ ប្រភេទដី និងកម្រិតបច្ចេកទេសកសិកម្មខុសពីរវ៉ាន់ដា ការយកម៉ូដែលនេះមកអនុវត្តផ្ទាល់អាចនឹងមានភាពលម្អៀង។ ដូច្នេះ ការប្រមូលទិន្នន័យក្នុងស្រុកគឺជារឿងចាំបាច់បំផុត ដើម្បីកែសម្រួលម៉ូដែលឲ្យស្របតាមបរិបទកម្ពុជា។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

វិធីសាស្ត្រប្រើប្រាស់ Machine Learning ដើម្បីវាយតម្លៃធាតុចូលកសិកម្មសម្រាប់ការការព្យាករណ៍ទិន្នផលស្រូវនេះ មានសក្តានុពលខ្ពស់ និងអាចយកមកអនុវត្តប្រកបដោយប្រសិទ្ធភាពនៅក្នុងប្រទេសកម្ពុជា។

សរុបមក ការអនុវត្តវិធីសាស្ត្រនេះនឹងជួយឱ្យអ្នកពាក់ព័ន្ធក្នុងវិស័យកសិកម្មកម្ពុជា អាចធ្វើសេចក្តីសម្រេចចិត្តដោយផ្អែកលើទិន្នន័យជាក់លាក់ (Data-driven decision making) ជាជាងការប៉ាន់ស្មានតាមទម្លាប់ ដែលជួយកាត់បន្ថយការចំណាយ និងបង្កើនទិន្នផល។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃ Machine Learning: ចាប់ផ្តើមរៀនភាសា Python និងបណ្ណាល័យចាំបាច់ដូចជា pandas សម្រាប់រៀបចំទិន្នន័យ និង scikit-learn សម្រាប់ការបង្វឹកម៉ូដែលសាមញ្ញៗដូចជា Linear Regression មុននឹងឈានដល់ម៉ូដែលស្មុគស្មាញ។
  2. ប្រមូល និងរៀបចំទិន្នន័យកសិកម្មក្នុងស្រុក: ទាក់ទងក្រសួងកសិកម្ម ឬធ្វើការស្ទង់មតិផ្ទាល់ជាមួយកសិករនៅមូលដ្ឋាន ដើម្បីប្រមូលទិន្នន័យស្តីពី បរិមាណជី ប្រភេទពូជស្រូវ និងការស្រោចស្រព។ បន្ទាប់មក ប្រើប្រាស់បច្ចេកទេស Data Normalization ដូចដែលបានរៀបរាប់ក្នុងការសិក្សា ដើម្បីធ្វើឱ្យទិន្នន័យមានស្តង់ដារ។
  3. អនុវត្ត និងប្រៀបធៀបម៉ូដែល Ensemble Learning: សរសេរកូដដើម្បីសាកល្បងម៉ូដែល AdaBoost និង XGBoost ដោយអនុវត្តវិធីសាស្ត្រ 10-fold cross-validation និងប្រើ Grid Search ដើម្បីស្វែងរក Hyperparameters ដែលល្អបំផុតសម្រាប់ទិន្នន័យកម្ពុជា។
  4. វិភាគសារៈសំខាន់នៃលក្ខណៈពិសេស (Feature Importance): ប្រើប្រាស់មុខងារ Feature Importance នៅក្នុងម៉ូដែល AdaBoost ដើម្បីរកឱ្យឃើញថាតើកត្តាណាខ្លះ (ឧទាហរណ៍៖ បរិមាណជីអសរីរាង្គទល់នឹងពូជស្រូវ) ដែលជះឥទ្ធិពលខ្លាំងជាងគេដល់ការកើនឡើងទិន្នផល។
  5. អភិវឌ្ឍប្រព័ន្ធប្រឹក្សាយោបល់កសិកម្ម (Recommender System): ប្រើប្រាស់ StreamlitFlask ដើម្បីបង្កើត Web Application ងាយស្រួលមួយ ដែលអនុញ្ញាតឱ្យកសិករអាចបញ្ចូលទិន្នន័យធាតុចូលរបស់ពួកគេ និងទទួលបានការទស្សន៍ទាយទិន្នផល ក៏ដូចជាការណែនាំដើម្បីកែលម្អការអនុវត្តកសិកម្មរបស់ពួកគេ។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Adaptive Boosting Tree (AdaBoost) (ម៉ូដែល Adaptive Boosting Tree) ជាក្បួនដោះស្រាយ Machine Learning ដែលបង្កើតឡើងដោយការផ្សំម៉ូដែលតូចៗជាច្រើនចូលគ្នា ដោយវាផ្តោតការយកចិត្តទុកដាក់ខ្ពស់ (ផ្តល់ទម្ងន់) ទៅលើទិន្នន័យដែលម៉ូដែលមុនៗបានទស្សន៍ទាយខុស ដើម្បីកែលម្អភាពត្រឹមត្រូវជាបន្តបន្ទាប់។ ដូចជាសិស្សដែលខំរៀនដោះស្រាយតែប្រភេទលំហាត់ណាដែលខ្លួនធ្លាប់ធ្វើខុសម្តងហើយម្តងទៀត រហូតដល់ចេះស្ទាត់ទាំងអស់។
Extreme Gradient Boosting (XGBoost) (ម៉ូដែល Extreme Gradient Boosting) ជាក្បួនដោះស្រាយដ៏មានអានុភាពដែលកសាងមែកធាងសេចក្តីសម្រេច (Decision trees) ជាបន្តបន្ទាប់ ដោយមែកធាងនីមួយៗព្យាយាមកែតម្រូវកំហុសរបស់មែកធាងមុន វាមានល្បឿនលឿន និងទប់ស្កាត់បញ្ហា Overfitting បានយ៉ាងល្អ។ ដូចជាក្រុមជាងសាងសង់ ដែលជាងម្នាក់ៗចូលមកកែតម្រូវចំណុចខ្វះខាតរបស់ជាងមុនៗ រហូតទទួលបានផ្ទះមួយដ៏ល្អឥតខ្ចោះ។
Root Mean Square Error (RMSE) (ឫសការ៉េនៃមធ្យមកំហុសការ៉េ) ជារង្វាស់ដែលប្រើដើម្បីវាយតម្លៃថាតើការទស្សន៍ទាយរបស់ម៉ូដែលមួយមានភាពខុសគ្នាពីទិន្នន័យជាក់ស្តែងប៉ុនណា ដោយវាផ្តល់ទម្ងន់ធ្ងន់ទៅលើកំហុសណាដែលមានទំហំធំ (តាមរយៈការលើកជាការ៉េ)។ តម្លៃកាន់តែតូច បញ្ជាក់ថាម៉ូដែរកាន់តែល្អ។ ដូចជាការវាស់ចម្ងាយរវាងគ្រាប់ព្រួញដែលអ្នកបាញ់ និងចំណុចកណ្តាលនៃផ្ទាំងស៊ីប បើចម្ងាយកាន់តែខ្លី មានន័យថាអ្នកបាញ់កាន់តែចំគោលដៅ។
Feature Importance (សារៈសំខាន់នៃលក្ខណៈពិសេស) ជាបច្ចេកទេសវាយតម្លៃនៅក្នុងម៉ូដែល Machine Learning ដើម្បីកំណត់ថាតើអថេរ ឬកត្តាបញ្ចូលណាមួយ (ឧទាហរណ៍ បរិមាណជី, ប្រភេទពូជ) ដែលមានឥទ្ធិពលខ្លាំងជាងគេក្នុងការជួយឱ្យម៉ូដែលធ្វើការព្យាករណ៍បានត្រឹមត្រូវ។ ដូចជាការរកមើលថាតើគ្រឿងផ្សំមួយណា (ឧ. អំបិល ស្ករ ឬម្ទេស) ដែលជះឥទ្ធិពលខ្លាំងជាងគេធ្វើឱ្យសម្លមួយចានមានរសជាតិឆ្ងាញ់។
Overfitting (ការរៀនទន្ទេញចាំមាត់ / ការកត់ត្រាទុកជ្រុល) ជាបញ្ហាដែលកើតឡើងនៅពេលម៉ូដែល Machine Learning រៀន និងចងចាំទិន្នន័យបង្វឹក (Training data) និងកំហុសលម្អិតពេក រហូតដល់វាបាត់បង់សមត្ថភាពក្នុងការទស្សន៍ទាយទិន្នន័យថ្មីៗដែលវាមិនធ្លាប់ជួបពីមុនមក។ ដូចជាសិស្សដែលខំទន្ទេញចាំមាត់នូវវិញ្ញាសាចាស់ៗទាំងអស់ ប៉ុន្តែមិនអាចដោះស្រាយវិញ្ញាសាថ្មីបាន ព្រោះគាត់មិនយល់ពីគោលការណ៍គ្រឹះនៃការដោះស្រាយ។
10-fold cross-validation (ការផ្ទៀងផ្ទាត់ខ្វែង ១០ ផ្នែក) ជាវិធីសាស្ត្រវាយតម្លៃភាពរឹងមាំរបស់ម៉ូដែល ដោយបែងចែកទិន្នន័យជា ១០ ចំណែកស្មើៗគ្នា រួចយក ៩ ចំណែកទៅបង្វឹក (Train) និង ១ ចំណែកទៅសាកល្បង (Test) ហើយធ្វើបែបនេះឆ្លាស់គ្នាចំនួន ១០ ដង ដើម្បីធានាថាម៉ូដែលដំណើរការល្អលើគ្រប់ផ្នែកនៃទិន្នន័យ។ ដូចជាការដួសភ្លក់ម្ហូប១០កន្លែងផ្សេងគ្នានៅក្នុងឆ្នាំងតែមួយ ដើម្បីប្រាកដថាសម្លឆ្អិន និងមានរសជាតិស្មើគ្នាល្អពេញមួយឆ្នាំង។
Hyperparameters tuning (ការកែតម្រូវប៉ារ៉ាម៉ែត្រកម្រិតខ្ពស់) ដំណើរការនៃការសាកល្បង និងស្វែងរកតម្លៃកំណត់ជាមុន (Configuration values) ដែលល្អបំផុតសម្រាប់ម៉ូដែល (ឧទាហរណ៍ ជម្រៅនៃមែកធាង ឬល្បឿននៃការរៀន) ដើម្បីឱ្យម៉ូដែលនោះដំណើរការទទួលបានភាពត្រឹមត្រូវខ្ពស់បំផុត។ ដូចជាការសារ៉េកម្រិតសំឡេង និងបាសនៅលើម៉ាស៊ីនចាក់ភ្លេង ដើម្បីស្វែងរកកម្រិតមួយដែលស្តាប់ទៅពិរោះបំផុតសម្រាប់បទចម្រៀងនោះ។
Ensemble Learning (ការរៀនបែបប្រមូលផ្តុំ) ជាបច្ចេកទេសនៅក្នុងបញ្ញាសិប្បនិម្មិត ដែលរួមបញ្ចូលម៉ូដែល Machine Learning តូចៗ (ខ្សោយៗ) ច្រើនបញ្ចូលគ្នា ដើម្បីបង្កើតបានជាម៉ូដែលរួមមួយដែលធំ រឹងមាំ និងមានភាពត្រឹមត្រូវក្នុងការទស្សន៍ទាយខ្ពស់ជាងម៉ូដែលទោល។ ដូចជាការសួរសំណួរទៅកាន់មនុស្ស១០នាក់ រួចយកចម្លើយទាំងនោះមកបូកបញ្ចូល និងថ្លឹងថ្លែងគ្នា ដើម្បីទទួលបានចម្លើយសរុបមួយដែលត្រឹមត្រូវបំផុត (ចង្កឹះមួយបាច់កាច់មិនបាក់)។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖