Original Title: Water quality prediction using Machine Learning Models
Source: doi.org/10.1051/e3sconf/202459601025
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការព្យាករណ៍គុណភាពទឹកដោយប្រើប្រាស់ម៉ូដែលម៉ាស៊ីនរៀន (Machine Learning Models)

ចំណងជើងដើម៖ Water quality prediction using Machine Learning Models

អ្នកនិពន្ធ៖ Astha Sharma (Jaypee University of Information Technology), Richa Sharma, Rishi Rana, Anshul Kalia (Himachal Pradesh University)

ឆ្នាំបោះពុម្ព៖ 2024, E3S Web of Conferences 596

វិស័យសិក្សា៖ Environmental Engineering / Computer Science

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

បញ្ហា (The Problem)៖ បច្ចេកទេសតាមដានគុណភាពទឹកតាមបែបប្រពៃណីមានការលំបាក ចំណាយពេលយូរ និងមិនអាចផ្តល់ការវាយតម្លៃបានភ្លាមៗ (Real-time) ដែលធ្វើឱ្យមានការលំបាកក្នុងការទប់ស្កាត់ការបំពុលប្រភពទឹកទាន់ពេលវេលា។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រើប្រាស់សំណុំទិន្នន័យគុណភាពទឹកយ៉ាងទូលំទូលាយ និងអនុវត្តក្បួនដោះស្រាយម៉ាស៊ីនរៀន (Machine Learning Algorithms) ដើម្បីបង្កើតម៉ូដែលចំណាត់ថ្នាក់ (Classification Model) ក្នុងការវាយតម្លៃភាពអាចបរិភោគបាននៃទឹក។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Random Forest
ម៉ូដែលព្រៃចៃដន្យ (Random Forest)
មានភាពត្រឹមត្រូវខ្ពស់បំផុត និងអាចដោះស្រាយទិន្នន័យដែលមានទំនាក់ទំនងស្មុគស្មាញ (Non-linear) បានល្អ។ វាជួយកាត់បន្ថយបញ្ហាការចងចាំទិន្នន័យហួសកម្រិត (Overfitting) តាមរយៈការប្រើប្រាស់វិធីសាស្ត្របណ្តុំ (Ensemble learning)។ ត្រូវការកម្លាំងម៉ាស៊ីន និងចំណាយពេលគណនាច្រើននៅពេលទិន្នន័យកើនឡើងធំ។ ម៉ូដែលនេះមានលក្ខណៈស្មុគស្មាញ ដែលធ្វើឱ្យពិបាកក្នុងការបកស្រាយដំណើរការខាងក្នុង (Lack of interpretability)។ ទទួលបានភាពត្រឹមត្រូវខ្ពស់រហូតដល់ ៧០.១២% (នៅពេលបែងចែកទិន្នន័យ ៩:១)។
K-Nearest Neighbor (KNN)
ម៉ូដែលអ្នកជិតខាង K (K-Nearest Neighbor)
ជាក្បួនដោះស្រាយដែលងាយស្រួលយល់ និងមិនមានរចនាសម្ព័ន្ធស្មុគស្មាញ (Non-parametric) ដែលស័ក្តិសមក្នុងការចាប់យកទម្រង់ទិន្នន័យតាមតំបន់ជាក់លាក់។ ងាយរងផលប៉ះពាល់ពីទិន្នន័យរំខាន (Noise) និងជួបការលំបាកក្នុងការគណនាចម្ងាយលើទិន្នន័យធំៗ ដែលធ្វើឱ្យវាមានភាពយឺតយ៉ាវ និងស៊ីកម្លាំងកុំព្យូទ័រច្រើន។ ទទួលបានភាពត្រឹមត្រូវ ៥៩.១៤% ជាមួយនឹងការកំណត់តម្លៃ K=22។
Decision Tree
ម៉ូដែលដើមឈើសម្រេចចិត្ត (Decision Tree)
មានដំណើរការលឿន ងាយស្រួលប្រើ និងងាយស្រួលក្នុងការបកស្រាយអត្ថន័យនៃលទ្ធផល ដោយធ្វើការបែងចែកទិន្នន័យតាមលក្ខណៈវិនិច្ឆ័យច្បាស់លាស់។ ងាយនឹងមានបញ្ហាការចងចាំទិន្នន័យហួសកម្រិត (Overfitting) ខ្លាំងនៅពេលសំណុំទិន្នន័យមានភាពស្មុគស្មាញ ដែលធ្វើឱ្យសមត្ថភាពព្យាករណ៍ទិន្នន័យថ្មីធ្លាក់ចុះ។ ទទួលបានភាពត្រឹមត្រូវទាបជាងគេ ត្រឹមតែ ៥៨.៨៤%។

ការចំណាយលើធនធាន (Resource Cost)៖ ការអភិវឌ្ឍម៉ូដែលទាំងនេះទាមទារធនធានកុំព្យូទ័រពីមធ្យមទៅខ្ពស់ និងការរៀបចំទិន្នន័យយ៉ាងប្រុងប្រយ័ត្នដើម្បីធានាបាននូវប្រសិទ្ធភាព។

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

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

ការសិក្សានេះប្រើប្រាស់សំណុំទិន្នន័យទូទៅដែលទាញយកពី Kaggle (មិនបានបញ្ជាក់តំបន់ភូមិសាស្ត្រជាក់លាក់) ទោះបីជាមានការលើកឡើងពីបញ្ហាទឹកនៅប្រទេសឥណ្ឌាក៏ដោយ។ សម្រាប់ប្រទេសកម្ពុជា ការទាញយកម៉ូដែលនេះមកប្រើប្រាស់ផ្ទាល់អាចនឹងមានភាពលម្អៀង ព្រោះលក្ខណៈគីមី និងបរិស្ថាននៃប្រភពទឹកនៅកម្ពុជាមានភាពខុសគ្នាពីទិន្នន័យគោល។ ការចងក្រងសំណុំទិន្នន័យក្នុងស្រុកគឺជារឿងចាំបាច់។

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

បច្ចេកទេសម៉ាស៊ីនរៀន (Machine Learning) នេះមានសក្តានុពល និងសារៈសំខាន់ខ្លាំងណាស់សម្រាប់ការត្រួតពិនិត្យគុណភាពទឹកតាមប្រព័ន្ធបច្ចេកវិទ្យានៅប្រទេសកម្ពុជា។

ការធ្វើសមាហរណកម្មម៉ូដែលម៉ាស៊ីនរៀនទាំងនេះទៅក្នុងប្រព័ន្ធតាមដានគុណភាពទឹក នឹងជួយឱ្យស្ថាប័នគ្រប់គ្រងធនធានទឹកនៅកម្ពុជាអាចធ្វើសេចក្តីសម្រេចចិត្តបានលឿន និងការពារសុខភាពសាធារណៈបានយ៉ាងមានប្រសិទ្ធភាព។

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

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

  1. ការសិក្សាពីបណ្ណាល័យមូលដ្ឋាន (Basic Libraries Setup): និស្សិតគួរចាប់ផ្តើមរៀនសរសេរកូដ Python ដោយអនុវត្តការទាញយកទិន្នន័យ ការសម្អាត និងការបំពេញតម្លៃដែលបាត់ (Missing values) តាមរយៈការប្រើប្រាស់ Pandas និងបង្កើតតារាងក្រាហ្វិកដោយ Seaborn
  2. ការដោះស្រាយបញ្ហាអតុល្យភាពទិន្នន័យ (Handling Class Imbalance): អនុវត្តបច្ចេកទេសបន្ថែមទិន្នន័យ (Oversampling) ឬបច្ចេកទេស SMOTE ដើម្បីធ្វើឱ្យទិន្នន័យទឹកដែលមានគុណភាពល្អ និងមិនល្អ មានសមាមាត្រស្មើគ្នា ដើម្បីបញ្ចៀសភាពលម្អៀងរបស់ម៉ូដែល។
  3. ការហ្វឹកហាត់ម៉ូដែល និងការវាយតម្លៃ (Model Training & Evaluation): ប្រើប្រាស់ Scikit-learn ដើម្បីបង្កើតម៉ូដែល Random Forest និងសាកល្បងបែងចែកទិន្នន័យក្នុងសមាមាត្រផ្សេងៗគ្នា (ឧ. ៨:២ និង ៩:១) រួចធ្វើការវាស់វែងប្រសិទ្ធភាពតាមរយៈ Confusion Matrix
  4. ការស្វែងរកប៉ារ៉ាម៉ែត្រប្រសើរបំផុត (Hyperparameter Tuning): អនុវត្តក្បួនដោះស្រាយកម្រិតខ្ពស់ដូចជា Grid Search ដើម្បីស្វែងរកជម្រៅដើមឈើដ៏ល្អបំផុត (Maximum depth) និងចំនួនដើមឈើក្នុងម៉ូដែលព្រៃចៃដន្យ ដែលផ្តល់លទ្ធផលខ្ពស់បំផុត។
  5. ការប្រមូលទិន្នន័យក្នុងស្រុកជាក់ស្តែង (Local Data Collection): សហការជាមួយក្រុមវិស្វករស្ថាបត្យកម្ម ឬបរិស្ថាន ដើម្បីដំឡើងឧបករណ៍ IoT Sensors នៅតាមប្រភពទឹកក្នុងស្រុក រួចបញ្ជូនទិន្នន័យ Real-time មកឱ្យម៉ូដែលដើម្បីធ្វើការព្យាករណ៍ជាក់ស្តែង។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Random Forest ជាវិធីសាស្ត្រម៉ាស៊ីនរៀនដែលបង្កើត "ដើមឈើសម្រេចចិត្ត" (Decision Trees) ជាច្រើន ហើយយកលទ្ធផលរបស់ពួកវាភាគច្រើនមកសរុបបញ្ចូលគ្នា ដើម្បីធ្វើការទស្សន៍ទាយឲ្យកាន់តែសុក្រឹត និងកាត់បន្ថយកំហុសពីការស្មាន។ ដូចជាការសួរសំណួរទៅកាន់មនុស្ស១០០នាក់ផ្សេងគ្នា ហើយយកចម្លើយដែលត្រូវគ្នាច្រើនជាងគេ ដើម្បីធ្វើការសម្រេចចិត្តចុងក្រោយមួយដ៏ត្រឹមត្រូវ។
K-Nearest Neighbor (KNN) ជាក្បួនដោះស្រាយដែលធ្វើចំណាត់ថ្នាក់ទិន្នន័យថ្មីមួយ ដោយផ្អែកលើការប្រៀបធៀបគម្លាត (ចម្ងាយ) ទៅនឹងទិន្នន័យចាស់ៗដែលនៅជិតវាបំផុតចំនួន 'K' ដើម្បីកាត់សេចក្តីថាវាគួរចូលក្នុងក្រុមណា។ ដូចជាការទាយពីអត្តចរិតរបស់មនុស្សម្នាក់ ដោយសង្កេតមើលមិត្តភក្តិជិតស្និទ្ធបំផុតរបស់គាត់ចំនួន ៥ នាក់។
Overfitting ជាបញ្ហាដែលម៉ូដែលម៉ាស៊ីនរៀនចងចាំទិន្នន័យហ្វឹកហាត់ (Training data) លម្អិតពេក រហូតដល់វាទន្ទេញចាំទាំងចំណុចខុសឆ្គង (Noise) នៅក្នុងទិន្នន័យចាស់ ដែលធ្វើឲ្យវាមិនអាចទស្សន៍ទាយទិន្នន័យថ្មីៗបានត្រឹមត្រូវ។ ដូចជាសិស្សដែលទន្ទេញចាំតែលំហាត់ក្នុងសៀវភៅ តែដល់ពេលប្រឡងចេញលំហាត់ថ្មីខុសពីសៀវភៅបន្តិច គាត់ធ្វើមិនបាន។
Ensemble learning ជាបច្ចេកទេសបូកបញ្ចូលម៉ូដែលម៉ាស៊ីនរៀនជាច្រើនតូចៗបញ្ចូលគ្នា ដើម្បីធ្វើការសហការគ្នាបង្កើតជាម៉ូដែលមួយដែលខ្លាំង មានភាពរឹងមាំ និងមានប្រសិទ្ធភាពខ្ពស់ជាងការប្រើម៉ូដែលតែមួយ។ ដូចជាការចងចង្កឹះមួយបាច់ដែលពិបាកបំបាក់ ជាងការប្រើចង្កឹះតែមួយដើម។
Hyperparameter tuning ជាដំណើរការនៃការកែតម្រូវតម្លៃកំណត់ជាមុន (Settings) របស់ក្បួនដោះស្រាយម៉ាស៊ីនរៀន (ឧទាហរណ៍៖ ចំនួនកម្រិតជម្រៅនៃដើមឈើ) ក្នុងគោលបំណងស្វែងរកចំណុចដែលម៉ូដែលដំណើរការបានល្អបំផុត។ ដូចជាការកែរលកសញ្ញាវិទ្យុបន្តិចម្តងៗឲ្យចំប៉ុស្តិ៍ ដើម្បីឲ្យស្តាប់សំឡេងបានច្បាស់ល្អដោយមិនមានសំឡេងរំខាន។
Confusion matrix ជាតារាងរង្វាស់ដែលបង្ហាញពីចំនួនដងដែលម៉ូដែលទាយត្រូវ និងទាយខុស (ឧ. ទាយថាទឹកស្អាតតែការពិតកខ្វក់ ឬទាយថាកខ្វក់តែការពិតស្អាត) ដើម្បីវាយតម្លៃប្រសិទ្ធភាពលម្អិតរបស់ម៉ូដែលចំណាត់ថ្នាក់។ ដូចជាតារាងពិន្ទុដែលកត់ត្រាថា គ្រូពេទ្យពិនិត្យរោគសញ្ញាត្រូវប៉ុន្មានដង និងពិនិត្យខុសប៉ុន្មានដង។
Turbidity ជារង្វាស់នៃកម្រិតភាពល្អក់នៃទឹក ដែលបង្កឡើងដោយភាគល្អិតតូចៗអណ្តែតកកកុញក្នុងទឹក ដែលវាជាសូចនាករដ៏សំខាន់មួយក្នុងការវាយតម្លៃថាទឹកនោះមានសុវត្ថិភាពឬទេ។ ដូចជាការមើលតាមកញ្ចក់ឡានដែលមានជាប់ធូលីដីស្រអាប់ ដែលធ្វើឲ្យយើងមើលផ្លូវខាងមុខមិនសូវច្បាស់។
Class imbalance ជាស្ថានភាពដែលទិន្នន័យសម្រាប់ហ្វឹកហាត់មានចំនួនមិនសមាមាត្រគ្នាខ្លាំងរវាងប្រភេទនីមួយៗ (ឧ. ទិន្នន័យទឹកស្អាតមានច្រើនជាងទឹកកខ្វក់ខ្លាំង) ដែលអាចធ្វើឲ្យម៉ូដែលទាយលម្អៀងទៅរកប្រភេទដែលមានច្រើនជាងជានិច្ច។ ដូចជាការបង្រៀនក្មេងឲ្យស្គាល់សត្វ ដោយឲ្យមើលរូបឆ្កែ១០០សន្លឹក តែមើលរូបឆ្មាតែ១សន្លឹក ដែលធ្វើឲ្យក្មេងនោះងាយនឹងទាយច្រឡំថាឆ្មាគឺជាឆ្កែដែរ។

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

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

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