diff --git a/translations/km/.co-op-translator.json b/translations/km/.co-op-translator.json
index cd56df6a5..9513011ed 100644
--- a/translations/km/.co-op-translator.json
+++ b/translations/km/.co-op-translator.json
@@ -120,8 +120,8 @@
"language_code": "km"
},
"2-Regression/3-Linear/README.md": {
- "original_hash": "9a8359f1945bd3beccccb2b46592580e",
- "translation_date": "2026-04-06T18:21:17+00:00",
+ "original_hash": "26c53a922f1f1e8542b0ea41ff52221a",
+ "translation_date": "2026-04-20T18:00:58+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "km"
},
@@ -258,8 +258,8 @@
"language_code": "km"
},
"4-Classification/2-Classifiers-1/README.md": {
- "original_hash": "1a6e9e46b34a2e559fbbfc1f95397c7b",
- "translation_date": "2026-04-06T18:53:58+00:00",
+ "original_hash": "cb761595e5b6c42b99bb81bd13683311",
+ "translation_date": "2026-04-20T18:03:24+00:00",
"source_file": "4-Classification/2-Classifiers-1/README.md",
"language_code": "km"
},
@@ -822,8 +822,8 @@
"language_code": "km"
},
"README.md": {
- "original_hash": "7fb48097f57e680b380cd9aae988d317",
- "translation_date": "2026-04-06T18:03:45+00:00",
+ "original_hash": "3e3a6c7e68e0afe7e2276ac046e4d7a0",
+ "translation_date": "2026-04-20T17:58:43+00:00",
"source_file": "README.md",
"language_code": "km"
},
diff --git a/translations/km/2-Regression/3-Linear/README.md b/translations/km/2-Regression/3-Linear/README.md
index ac88eb63f..8f0f4a2dc 100644
--- a/translations/km/2-Regression/3-Linear/README.md
+++ b/translations/km/2-Regression/3-Linear/README.md
@@ -1,96 +1,96 @@
-# បង្កើតម៉ូឌែលផ្សារដោយប្រើ Scikit-learn: ផ្សារបួនរបៀប
+# សាងសង់ម៉ូដែលរេសគ្រីស្យុងដោយប្រើ Scikit-learn: រេសគ្រីស្យុង ជាចំនួនបួនវិធី
-## សម្គាល់សម្រាប់អ្នកចាប់ផ្ដើម
+## អសាមញ្ញករ Note
-ការផ្សាររៀបរ៉េឌីស្យុងត្រូវបានប្រើនៅពេលដែលយើងចង់ទាយទោលតម្លៃ **ចំនួនស៊ីផ៍** (ឧទាហរណ៍ តម្លៃផ្ទះ, សីតុណ្ហភាព ឬ លក់ចេញ)។ វាដំណើរការដោយស្វែងរករបារភាពតម្រាស់មួយដែលតំណាងឲ្យទំនាក់ទំនងរវាងលក្ខណៈបញ្ចូល និងលទ្ធផលបានល្អបំផុត។
+រេសគ្រីស្យុងបន្ទាត់ត្រូវបានប្រើនៅពេលដែលយើងចង់ទាយទិន្នន័យ **តម្លៃលេខ** (ឧទាហរណ៍ តម្លៃផ្ទះ សីតុណ្ហភាព ឬការលក់)។ វាដំណើរការដោយស្វែងរកបន្ទាត់ស្របមួយ ដែលតំណាងល្អបំផុតសម្រាប់ទំនាក់ទំនងរវាងមុខងារបញ្ចូល និងចេញ។
-នៅក្នុងមេរៀននេះយើងផ្តោតលើការយល់ដឹងពីគំនិតមុនពេលស្រាវជ្រាវបច្ចេកវិទ្យាស្រាវជ្រាវផ្សារលំដាប់ខ្ពស់បន្ថែមទៀត។
+ក្នុងមេរៀននេះ យើងផ្តោតសំខាន់លើការយល់ដឹងពីគំនិតមុនពេលស្វែងយល់បន្ថែមពីបច្ចេកទេសរេសគ្រីស្យុងខ្ពស់ជាងនេះ។

-> រូបភាពព័ត៌មានដោយ [Dasani Madipalli](https://twitter.com/dasani_decoded)
-## [សំណួរណែនាំមុនមេរៀន](https://ff-quizzes.netlify.app/en/ml/)
+> គំនូរទាក់ទងដោយ [Dasani Madipalli](https://twitter.com/dasani_decoded)
+## [គន្លងប្រលងមុនមេរៀន](https://ff-quizzes.netlify.app/en/ml/)
-> ### [មេរៀននេះមានជាជម្រើសជាភាសា R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
-### ការណែនាំ
+> ### [មេរៀននេះមាននៅក្នុងភាសា R ផង!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
+### ការណែនាំ
-ចំពោះពេលនេះ អ្នកបានសិក្សាដឹងថាផ្សាររៀបរាប់គឺជាអ្វីជាមួយទិន្នន័យគំរូដែលបានប្រមូលពីឧបករណ៍តម្លៃផ្លែផ្អែខោចដែលយើងនឹងប្រើនៅក្នុងមេរៀននេះ។ អ្នកក៏បានធ្វើការមើលឃើញវាតាមរយៈ Matplotlib ផងដែរ។
+រហូតមកដល់បច្ចុប្បន្ន អ្នកបានស្វែងយល់ពីអ្វីដែលរេសគ្រីស្យុងជាមួយទិន្នន័យគំរូដែលបានប្រមូលពីឃ្លាំងតម្លៃគ្រប់របស់ផ្កាយប័ន្តដែលយើងនឹងប្រើពេញមួយមេរៀននេះ។ អ្នកក៏បានបង្ហាញវាជាមួយ Matplotlib។
-ឥឡូវនេះ អ្នករួចរាល់ក្នុងការជ្រៀតចូលជ្រាលជ្រៅចំពោះផ្សាររៀបរាប់សម្រាប់ ML។ ខណៈពេលដែលការមើលឃើញឲ្យអ្នកយល់ដឹងពីទិន្នន័យ ព្រះរាជអំណាចពិតប្រាកដរបស់ការសិក្សាម៉ាស៊ីនក្នុងការមានភាពពី _ការបណ្តុះបណ្តាលម៉ូឌែល_។ ម៉ូឌែលត្រូវបានបណ្តុះបណ្តាលលើទិន្នន័យប្រវត្តិសាស្ត្រដើម្បីឆាប់យល់ពីការទាក់ទងរវាងទិន្នន័យ និងអនុញ្ញាតឲ្យអ្នកទាយទោលលទ្ធផលសម្រាប់ទិន្នន័យថ្មី ដែលម៉ូឌែលមិនបានឃើញពីមុន។
+ឥឡូវនេះ អ្នកបានត្រៀមខ្លួនដើម្បីរំដោះចូលលើរេសគ្រីស្យុងសម្រាប់ ML។ ដំណើរការបង្ហាញភាពនេះអនុញ្ញាតឱ្យអ្នកចេះយល់ពីទិន្នន័យ ប៉ុន្តែអំណាចពិតនៃប្រព័ន្ធរៀនម៉ាស៊ីនមកពី _ការបណ្តុះម៉ូដែល_។ ម៉ូដែលត្រូវបានបណ្តុះលើទិន្នន័យប្រវត្តិសាស្ត្រដើម្បីទទួលយកទំនាក់ទំនងទិន្នន័យដោយស្វ័យប្រវត្តិ ហើយវាអនុញ្ញាតឱ្យអ្នកទាយបានលទ្ធផលសម្រាប់ទិន្នន័យថ្មីដែលម៉ូដែលមិនបានឃើញពីមុន។
-នៅក្នុងមេរៀននេះ អ្នកនឹងរៀនបន្ថែមអំពីប្រភេទផ្សាររៀបរាប់ពីរ: _ផ្សាររៀបរាប់រាងតែមួយមូលដ្ឋាន_ និង _ផ្សាររៀបរាប់ពហុបូឡីណូម្យែល_ រួមជាមួយគណិតវិទ្យាផ្នែកខ្លះដែលគាំទ្របច្ចេកទេសទាំងនេះ។ ម៉ូឌែលទាំងនេះនឹងអនុញ្ញាតឲ្យយើងទាយតម្លៃផ្លែផ្អែខោចដោយផ្អែកលើទិន្នន័យបញ្ចូលផ្សេងៗ។
+នៅក្នុងមេរៀននេះ អ្នកនឹងរៀនបន្ថែមអំពីប្រភេទរេសគ្រីស្យុងពីរប្រភេទ: _រេសគ្រីស្យុងបន្ទាត់មូលដ្ឋាន_ និង _រេសគ្រីស្យុងព៉ូលីណូមៀល_ ជាមួយនឹងគណិតវិទ្យាខ្លះៗដែលនៅក្រោមបច្ចេកទេសទាំងនេះ។ ម៉ូដែលទាំងនោះនឹងអនុញ្ញាតឲ្យយើងទាយតម្លៃផ្កាយប័ន្តអាស្រ័យលើទិន្នន័យបញ្ចូលខុសៗគ្នា។
[](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression")
-> 🎥 ចុចរូបភាពខាងលើសម្រាប់មើលវីដេអូបែបខ្លីអំពីផ្សាររៀបរាប់រាងតែ្មួយមូលដ្ឋាន។
+> 🎥 ចុចលើរូបភាពខាងលើសម្រាប់វីដេអូសង្ខេបអំពីរេសគ្រីស្យុងបន្ទាត់។
-> លើកទូលាយកម្មវិធីសិក្សានេះ យើងគិតថា មានចំណេះដឹងគណិតវិទ្យាតិចតួច ប៉ុន្តែទាមទារឱ្យមានភាពងាយស្រួលសម្រាប់សិស្សដែលមកពីវិស័យផ្សេងទៀត ដូច្នេះសូមប្រយ័ត្នមានកំណត់សម្គាល់ 🧮 ការហៅចេញ វិចារណាធិការប្រើស្លាកបាច់បិទ និងឧបករណ៍អប់រំផ្សេងៗសម្រាប់ជួយឲ្យយល់។
+> ក្នុងអំឡុងពេលសិក្សាជំនាញនេះ យើងគិតថា ពុំទាមទារជំនាញគណិតវិទ្យាច្រើននោះទេ ហើយផ្តោតធ្វើឲ្យវាអាចចូលដល់បានសម្រាប់និស្សិតដែលមកពីដែនផ្សេងៗ ដូច្នេះសូមកត់សម្គាល់កំណត់ចំណាំ 🧮 ការហៅចេញ សៀវភៅរៀន និងឧបករណ៍សិក្សាផ្សេងៗ ដើម្បីជួយបង្រៀនយល់បានល្អ។
-### លក្ខណ្ឌមុនបច្ចេកទេស
+### គួរដឹងជាមុន
-អ្នកគួរតែស្គាល់រចនាសម្ព័ន្ធទិន្នន័យផ្លែផ្អែខោចដែលយើងកំពុងពិនិត្យឥឡូវនេះ។ អ្នកអាចរកបានវាត្រូវបានផ្ទុករួចហើយ និងបានសម្អាតរួចក្នុងឯកសារ _notebook.ipynb_ នៃមេរៀននេះ។ ក្នុងឯកសារ គឺបង្ហាញតម្លៃផ្លែផ្អែខោចប្រចាំមួយកំប៉ិលក្នុងតារាងទិន្នន័យថ្មី។ ដូច្នេះប្រាកដថាអ្នកអាចរត់កំណត់ត្រាតំណាងទាំងនេះនៅក្នុងកណ្តុររបស់ Visual Studio Code។
+អ្នកគួរតែស្គាល់រចនាសម្ព័ន្ធទិន្នន័យផ្កាយដែលយើងកំពុងពិនិត្យឥឡូវនេះ។ អ្នកអាចស្រាវជ្រាវវា ដែលបានរៀបចំរួចទៅហើយក្នុងឯកសារ _notebook.ipynb_ នៃមេរៀននេះ។ នៅក្នុងឯកសារ តម្លៃផ្កាយបង្ហាញចេញជាតម្លៃមួយទៅក្នុងឈុតទិន្នន័យថ្មី។ សូមប្រាកដថាអ្នកអាចរត់ឯកសារនេះនៅក្នុងកណ្តុរប្រតិបត្តិការ Visual Studio Code។
-### ការរៀបចំ
+### ការប្រៀបប្រដៅ
-ដើម្បីរំលឹក អ្នកកំពុងផ្ទុកទិន្នន័យនេះដើម្បីសួរចំឡើយពីវា។
+ជាថ្មីវិញ អ្នកកំពុងផ្ទុកទិន្នន័យនេះដើម្បីសួរចម្ងល់ពីវា។
-- តើពេលណាជាពេលល្អបំផុតក្នុងការទិញផ្លែផ្អែខោច?
-- តើតម្លៃអ្វីដែលខ្ញុំអាចរំពឹងទុកចំពោះប្រអប់ផ្លែផ្អែខោចតូច?
-- តើខ្ញុំគួរទិញវាក្នុងធុងក៍មួយពាក់កណ្តាលកំប៉ិល ឬដោយប្រអប់ 1 1/9 កំប៉ិល?
-អើយ! យើងសូមលត់ចូលទៅក្នុងទិន្នន័យនេះបន្ថែម។
+- ពេលណាជាពេលល្អបំផុតក្នុងការជាវផ្កាយ?
+- តម្លៃដែលខ្ញុំអាចរំពឹងទុកសម្រាប់ប្រអប់ផ្កាយតូចតាចនេះ?
+- តើខ្ញុំគួរជាវវាទុកក្នុងធុងបាក់សែលកន្លះឬក្នុងប្រអប់ 1 1/9 បាសែលទេ?
+តោះបន្តស្គាល់ទិន្នន័យនេះ។
-ក្នុងមេរៀនមុន អ្នកបានបង្កើតតារាងតំណាង Pandas ហើយផ្ទុកវានៅជុំវិញផ្នែកមួយនៃឯកសារដើម ដោយប្រើការតម្រឹមតម្លៃផ្ទាល់មួយកំប៉ិល។ ប៉ុន្តែបច្ចុប្បន្ននេះ អ្នកអាចប្រមូលបានត្រឹមតែប្រហែល ៤០០ចំណុចទិន្នន័យហើយត្រឹមតែសម្រាប់ខែរដូវស្លឹកឈើជ្រុះតែប៉ុណ្ណោះ។
+ក្នុងមេរៀនមុន អ្នកបានបង្កើត DataFrame Pandas ហើយបំពេញវា ជាមួយផ្នែកមួយនៃទិន្នន័យដើម ដោយស្ដង់ដារតម្លៃតាមបាសែល។ ប៉ុន្តែតែតិច អ្នកបានប្រមូលបានប្រហែល ៤០០ចំនួនទិន្នន័យ ហើយសម្រាប់ខែរដូវស្លឹកឈើជ្រុះតែប៉ុណ្ណោះ។
-មើលទិន្នន័យដែលបានផ្ទុករួចជាមុនក្នុងកំណត់ត្រារួមនៅក្នុងមេរៀននេះ។ ទិន្នន័យត្រូវបានផ្ទុករួចហើយ និងបានចុះតំណាងតាមរយៈ scatterplot ដើម្បីបង្ហាញទិន្នន័យតាមខែ។ ប្រហែលជាយើងអាចយកព័ត៌មានជាក់លាក់បន្ថែមអំពីលក្ខណៈទិន្នន័យដោយសម្អាតវាបន្ថែមទៀត។
+សូមមើលទិន្នន័យដែលបានបញ្ចូលរួចនៅក្នុងទំព័រនេះក្នុងឯកសារ notebook នៃមេរៀន។ ទិន្នន័យបានបញ្ចូលរួច និងបង្ហាញរាងចំណុចព្រាត់ដើម្បីបង្ហាញខែ ទំនងជាយើងអាចរកបានព័ត៌មានលម្អិតបន្ថែមអំពីធម្មជាតិទិន្នន័យ ដោយសម្រួលវាបន្ថែមទៀត។
-## សន្ទស្សន៍ផ្សាររៀបរាប់រាងតែមួយ
+## បន្ទាត់រេសគ្រីស្យុងបន្ទាត់មួយ
-ដូចដែលអ្នកបានរៀនក្នុងមេរៀន១ គោលបំណងនៃសមាហរណកម្ម Linear Regression គឺដើម្បីគូសបន្ទាត់មួយដែល:
+ដូចដែលអ្នកបានរៀនក្នុងមេរៀន ១ គោលគំនិតនៃលំហាត់រេសគ្រីស្យុងបន្ទាត់គឺដើម្បីអាចគូរបន្ទាត់មួយសម្រាប់៖
- **បង្ហាញទំនាក់ទំនងអថេរ**។ បង្ហាញទំនាក់ទំនងរវាងអថេរ
-- **ធ្វើការទាយទោល**។ ធ្វើការទាយទោលយ៉ាងត្រឹមត្រូវថាចំណុចទិន្នន័យថ្មីនឹងស្ថិតនៅកន្លែងណាជិតបន្ទាត់នោះ។
+- **ធ្វើការទាយតម្លៃ**។ ទាយតម្លៃបានត្រឹមត្រូវថាចំណុចថ្មីនឹងស្ថិតនៅឯសន្លឹកណា។
-សិក្សារៀបរាប់ប្រើមធ្យោបាយ **Least-Squares Regression** ជាទូទៅក្នុងការគូសបន្ទាត់ប្រភេទនេះ។ ពាក្យ "Least-Squares" មានន័យពីដំណើរការកាត់បន្ថយកំហុសសរុបក្នុងម៉ូឌែលយើង។ សម្រាប់ចំណុចទិន្នន័យរាល់គឺយើងវាស់ចម្ងាយឈរ (ហៅថា residual) រវាងចំណុចពិត និងបន្ទាត់ផ្សារ។
+វាជារឿងទូទៅនៃ **Least-Squares Regression** ដើម្បីគូរបែបនេះ។ ពាក្យ "Least-Squares" មានន័យថាផលបិទកំហុសរួមមិនធំ។ សម្រាប់ចំណុចទិន្នន័យមួយៗ យើងវាស់រយៈកន្លះកោងចុះ (ហៅថា residual) រវាងចំណុចពិត និងបន្ទាត់រេសគ្រីស្យុង។
-យើងសម្រួលចម្ងាយទាំងនេះដល់កំរិតក្រោមពីហេតុផលពីរចម្បង៖
+យើងធ្វើការការ៉េរយៈចន្លោះទាំងនេះដោយមានមូលហេតុសំខាន់ពីរគឺ:
-1. **ទំហំលើទិសដៅ**៖ យើងចង់ដាក់តម្លៃកំហុស -5 និង +5 ដូចគ្នា។ ការបង្រួចគុណបង្កើតអោយតម្លៃទាំងអស់ជាស្រប។
+1. **ទំហំលើទិសដៅ:** យើងចង់ពិនិត្យកំហុស -5 ដូចគ្នានឹងកំហុស +5។ ការ� square បំរេ所有តម្លៃជាផ្កាយវិជ្ជមានទាំងអស់។
-2. **ពិនិត្យសំណុំនៃចំណុចក្រៅ**៖ ការបង្រួចគុណធ្វើឲ្យកំហុសធំៗទទួលបានទំងន់ច្រើនជាង ហើយបណ្តាលឲ្យបន្ទាត់នៅជិតចំណុចចម្ងាយ។
+2. **ពិនិត្យចំពោះចំណុចក្រៅ:** ការ square ផ្តល់តុល្យភាពលើកំហុសធំៗ បង្ខំឲ្យបន្ទាត់នៅជិតចំណុចដែលឆ្ងាយ។
-បន្ទាប់មកយើងបូកតម្លៃក្រោមគុណទាំងនេះទាំងឡាយគ្នា។ គោលដៅគឺរកបន្ទាត់ជាក់លាក់មួយដែលបូកចុងក្រោយនេះតិចជាងគេ (តម្លៃតិចបំផុត)—ហេតុនេះហៅថា "Least-Squares"។
+យើងបន្ថែមតម្លៃការ square ទាំងនេះគ្នាទៅវិញ។ គោលបំណងគឺរកបន្ទាត់ដែលសរុបនេះតិចបំផុត (តម្លៃតិចបំផុត) ហេតុនេះហៅពីរការនេះថា "Least-Squares"។
-> **🧮 បង្ហាញគណិតវិទ្យា**
+> **🧮 បង្ហាញគណិតវិទ្យា**
>
-> បន្ទាត់នេះ ដែលហៅថា _បន្ទាត់ត្រូវគ្នា_ អាចបញ្ចេញដោយ[សមីការ](https://en.wikipedia.org/wiki/Simple_linear_regression):
+> បន្ទាត់នេះ ដែលហៅថា _បន្ទាត់សម្រង់ល្អបំផុត_ អាចបង្ហាញដោយ [សមីការ](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
-> `X` គឺជា 'អថេរពន្យល់'។ `Y` គឺជា 'អថេរពឹងផ្អែក'។ លំនឹងបន្ទាត់គឺ `b` ហើយ `a` គឺ កន្លែងឆ្លងដែក y-intercept ដែលសំដៅតម្លៃ `Y` នៅពេល `X = 0`។
+> `X` គឺជា 'អថេរពន្យល់'។ `Y` គឺជា 'អថេរនិយម'។ ជំហាននៃបន្ទាត់គឺ `b` ហើយ `a` គឺជាចំណុចកាត់បន្ទាត់ y ដែលធ្វើអោយ `Y` រក្សាតម្លៃនៅពេល `X = 0`។
>
>
>
-> ជំហានដំបូង គណនាលំនឹង `b`។ រូបភាពព័ត៌មានដោយ [Jen Looper](https://twitter.com/jenlooper)
->
-> ផ្ទុះពីនេះ និងបើសិនវាចង់បង្ហាញពីសំណួរដើមទិន្នន័យផ្លែផ្អែខោច៖ "ទាយតម្លៃផ្លែផ្អែខោចមួយក្នុងមួយកំប៉ិល តាមខែ" គឺ `X` នឹងសំដៅតម្លៃ និង `Y` នឹងសំដៅខែក្នុងការលក់។
+> ជំហាន `b` គណនា ជាមួយគំនូរ [Jen Looper](https://twitter.com/jenlooper)
>
+> នៅក្នុងពាក្យផ្សេង ហើយយោងទៅតាមសំណួរដើមរបស់ទិន្នន័យផ្កាយ "ទាយតម្លៃផ្កាយតាមបាសែលដោយខែ" ការបញ្ចូល `X` នឹងយោងទៅតម្លៃ និង `Y` នឹងយោងទៅខែ។
+
>
>
-> គណនាតម្លៃ `Y`។ ប្រសិនបើអ្នកប្រាក់តម្លៃប្រហែល $4 វាត្រូវតែជាខែ មេសា! រូបភាពព័ត៌មានដោយ [Jen Looper](https://twitter.com/jenlooper)
+> គណនាតម្លៃ Y។ ប្រសិនបើអ្នកបង់ប្រហែល $៤ វាចាំបាច់ត្រូវ April! គំនូរដោយ [Jen Looper](https://twitter.com/jenlooper)
>
-> គណិតវិទ្យាដែលគណនាបន្ទាត់ត្រូវបង្ហាញលំនឹងបន្ទាត់ ដែលត្រូវអាស្រ័យលើការឆ្លងដែក ឬកន្លែងដែល `Y` មានតម្លៃនៅពេល `X = 0`។
+> គណិតវិទ្យាដែលគណនាបន្ទាត់គួរតែបង្ហាញពីជំហាន `b` មានផ្ទៃមួយនៃការចាប់ផ្តើមតែម្តង នៅពេល `X = 0`។
>
-> អ្នកអាចមើលវិធីសាស្រ្តគណនាចំនួនទាំងនេះនៅគេហទំព័រ [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html)។ បន្ថែមទៀត អ្នកអាចចូលមើល [លេខាគណនាតាម Least-squares](https://www.mathsisfun.com/data/least-squares-calculator.html) ដើម្បីងាយយល់ពីរបៀបលេខមានឥទ្ធិពលដល់បន្ទាត់។
+> អ្នកអាចមើលវិធីសាស្រ្តគណនាបញ្ជាក់លម្អិតបាននៅលើវេបសាយ [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html)។ សូមចូលទៅកាន់ [កាលគណនា Least-squares នេះ](https://www.mathsisfun.com/data/least-squares-calculator.html) ដើម្បីមើលពីរបៀបលេខប៉ះពាល់បន្ទាត់។
-## ទំនាក់ទំនងសមាមាត្រ (Correlation)
+## សមាភាព/Correlation
-ពាក្យមួយទៀតដែលត្រូវយល់គឺ **សមាមាត្រជាគូ** រវាងអថេរ X និង Y។ អ្នកអាចមើលសមាមាត្រនេះបានយ៉ាងរហ័សតាមការគូស scatterplot។ ប្លាត់ដែលមានចំណុចរាយព្រមទ្រុងក្នុងបន្ទាត់ត្រូវមានសមាមាត្រខ្ពស់ ប៉ុន្តែប្លាត់ដែលចំណុចរាយឡើងគ្នារវាង X និង Y គឺមានសមាមាត្រតិច។
+ពាក្យមួយទៀតដែលត្រូវយល់គឺ **អាំងឃូផេរ៉េលេសិនកូអ៊ីហ្វ៊ីស្យង** រវាងអថេរ X និង Y ។ ប្រើ scatterplot អ្នកអាចមើលឃើញកូអ៊ីហ្វីស្យងនេះបានយ៉ាងរហ័ស។ ប្លង់ជាមួយចំណុចចំរៀងក្នុងបន្ទាត់ស្អាតនោះមានសមាភាពខ្ពស់ ប៉ុន្តែប្លង់ជាមួយចំណុចចំរាយនៅគ្រប់ទីកន្លែងរវាង X និង Y មានសមាភាពទាប។
-ម៉ូឌែលផ្សារ Linear Regression ល្អគឺបានសមាមាត្រខ្ពស់ (ជិត 1 ជាង 0) ដោយប្រើវិធីសាស្រ្ត Least-Squares Regression ជាមួយបន្ទាត់ផ្សារ។
+ម៉ូដែលរេសគ្រីស្យុងបន្ទាត់ល្អនឹងជាៈ ម៉ូដែលដែលមានកូអ៊ីហ្វីស្យង់សមាភាពខ្ពស់ (ជិត ១ ជាង ០) ប្រើវិធី Least-Squares Regression ជាមួយបន្ទាត់រេសគ្រីស្យុង។
-✅ រត់កំណត់ត្រាជាមួយមេរៀននេះ រួចមើល scatterplot សមាមាត្រពី Month ទៅ Price។ តើទិន្នន័យដែលភ្ជាប់ Month ទៅ Price សម្រាប់ការលក់ផ្លែផ្អែខោច យល់ថាសមាមាត្រខ្ពស់ឬទាប តាមការពិចារណារបស់អ្នកលើ scatterplot? តើវាប្រែប្រួលប្រសិនបើអ្នកប្រើវិមាត្រចំណាស់ជាងមុន ហៅថា *ថ្ងៃនៃឆ្នាំ* (ចំនួនថ្ងៃចាប់ពីដើមឆ្នាំ)?
+✅ រត់ notebook ដែលផ្ដល់ជាមួយមេរៀននេះ និងមើល scatterplot រវាង Month និង Price ។ តើទិន្នន័យដែលភ្ជាប់រវាង Month និង Price សម្រាប់ការលក់ផ្កាយមានសមាភាពខ្ពស់ ឬទាប ដោយយោងទៅតាមការបកស្រាយរបស់អ្នកពី scatterplot? តើវាប្រែប្រួលដែរឬទេ ប្រសិនបើអ្នកប្រើមាត្រដ្ឋានលម្អិតជាងនេះជំនួស `Month` ឧ. *day of the year* (ចំនួនថ្ងៃចាប់ពីដើមឆ្នាំ)?
-ក្នុងកូដខាងក្រោម នឹងគិតថាអ្នកបានសម្អាតទិន្នន័យហើយ ហើយទទួលបាន data frame មានឈ្មោះ `new_pumpkins` ដូចខាងក្រោម៖
+នៅលើកូដខាងក្រោម យើងនឹងកត់សម្គាល់ថា យើងបានសម្អាតទិន្នន័យរួចហើយ ហើយទទួលបាន DataFrame ដែលហៅថា `new_pumpkins` ដូចក្នុងតារាងដូចខាងក្រោម៖
ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price
---|-------|-----------|---------|------|---------|-----------|------------|-------
@@ -100,36 +100,36 @@ ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Pri
73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
-> កូដសម្រាប់សម្អាតទិន្នន័យអាចរកបាននៅក្នុង [`notebook.ipynb`](notebook.ipynb)។ យើងបានបំពេញជំហានសម្អាតដូចមុន និងគណនាជួរឈរប្រចាំថ្ងៃ `DayOfYear` ដោយប្រើបំណែកការបង្ហាញដូចខាងក្រោម៖
+> កូដសម្រាប់សម្អាតទិន្នន័យមាននៅក្នុង [`notebook.ipynb`](notebook.ipynb)។ យើងបានអនុវត្តជំហានសម្អាតដូចក្នុងមេរៀនមុន ហើយបានគណនាថ្នេរជួរឈរ `DayOfYear` ដោយប្រើបន្ទាត់នេះ៖
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
-ឥឡូវនេះដោយអ្នកបានយល់ពីគណិតវិទ្យានៃផ្សាររៀបរាប់រាងតែមួយវិញ សូមបង្កើតម៉ូឌែលផ្សាររួមដើម្បីមើលថាតើយើងអាចទាយថា ប្រអប់ផ្លែផ្អែខោចណាមួយនឹងមានតម្លៃផ្លែផ្អែខោចល្អបំផុត។ អ្នកដែលទិញផ្លែផ្អែខោចសម្រាប់ស្រុកផ្លែផ្អែខោចនៅថ្ងៃបុណ្យប្រហែលនឹងចង់បានព័ត៍មាននេះដើម្បីអាចលំអៀងការទិញប្រអប់ផ្លែផ្អែខោចរបស់ពួកគេ។
+ឥឡូវនេះដែលអ្នកមានយល់ដឹងពីគណិតវិទ្យារបស់រេសគ្រីស្យុងបន្ទាត់ អ្នកមកបង្កើតម៉ូដែល Regression ដើម្បីមើលថាតើយើងអាចទាយបានថាតើប្រអប់ផ្កាយណាដែលមានតម្លៃផ្កាយល្អបំផុត។ អ្នកដែលដែលជាវផ្កាយសម្រាប់តំបន់លំហែកាយថ្ងៃបុណ្យអាចចង់បានព័ត៌មាននេះ ដើម្បីអាចបឹតបញ្ចូលការជាវផ្កាយសម្រាប់តំបន់នោះ។
-## ការស្វែងរកទំនាក់ទំនងសមាមាត្រ
+## ស្វែងរកសមាភាព
[](https://youtu.be/uoRq-lW2eQo "ML for beginners - Looking for Correlation: The Key to Linear Regression")
-> 🎥 ចុចរូបភាពខាងលើសម្រាប់មើលវីដេអូសង្ខេបអំពីទំនាក់ទំនងសមាមាត្រ។
+> 🎥 ចុចលើរូបភាពខាងលើសម្រាប់វីដេអូសង្ខេបអំពីសមាភាព។
-ពីមេរៀនមុន អ្នកប្រហែលជាបានឃើញថាតម្លៃមធ្យមសម្រាប់ខែផ្សេងៗមើលទៅដូចជា:
+ពីមេរៀនមុនអ្នកប្រហែលជាបានឃើញថាតម្លៃមធ្យមនៃខែផ្សេងៗមានរូបរាងដូចជា:
-នេះបង្ហាញថាគួរតែមានទំនាក់ទំនងមួយ និងយើងអាចសាកល្បងបណ្តុះម៉ូឌែល Linear Regression ដើម្បីទាយទំនាក់ទំនងរវាង `Month` និង `Price` ឬស្របពេល `DayOfYear` និង `Price`។ នេះជាការបង្ហាញទិន្នន័យ scatterplot មួយបង្ហាញពីទំនាក់ទំនងចុងក្រោយ៖
+នេះបង្ហាញថាមានសមាភាពមួយ ហើយយើងអាចព្យាយាមបណ្តុះម៉ូដែលរេសគ្រីស្យុងបន្ទាត់ដើម្បីទាយទំនាក់ទំនងរវាង `Month` និង `Price` ឬរវាង `DayOfYear` និង `Price`។ នេះគឺជា scatter plot បង្ហាញទំនាក់ទំនងបន្ថែម:
-យើងមកមើលថាតើមានទំនាក់ទំនងសមាមាត្រដែលប្រើបានតាម `corr` function ដែរឬ?
+មកមើលពី `corr` មុខងារថា មានសមាភាពម្តេច៖
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
-មើលទៅសមាមាត្រមានតិច គឺ -0.15 សម្រាប់ `Month` និង -0.17 សម្រាប់ `DayOfMonth` ប៉ុន្តែអាចមានទំនាក់ទំនងសំខាន់ផ្សេងទៀត។ វាមើលទៅដូចជាមានក្រុមតម្លៃផ្សេងៗរបស់ផ្លែផ្អែខោចផ្សេងៗ។ ដើម្បីបញ្ជាក់សំណល់នេះ យើងមកគូសម៉ូដែលផ្លែផ្អែខោចនីតិវិធីដោយពណ៌ផ្សេងៗគ្នា។ ដោយបញ្ជូនប៉ារ៉ាម៉ែត្រ`ax` ទៅកម្មវិធីគូស scatterplot អ្នកអាចគូសចំណុចទាំងអស់នៅលើតារាងតែមួយ។
+វាបង្ហាញថាសមាភាពតូចណាស់ - ប្រាំពីរយភាគរយដោយ `Month` និង -០.១៧ ដោយ `DayOfMonth` ប៉ុន្តែអាចមានទំនាក់ទំនងសំខាន់ផ្សេងទៀត។ វាហាក់ដូចជាមានក្រុមតម្លៃផ្សេងគ្នាដែលអាចទាក់ទងនឹងប្រភេទផ្កាយផ្សេងគ្នា។ ដើម្បីបញ្ជាក់ គោលដៅនេះ យើងចុះជ្រាប និងគូរផ្សេងគ្នាសម្រាប់ផ្កាយក្នុងប្រភេទតូចៗដោយបន្ទាត់ពណ៌ផ្សេងទៀត។ ដោយផ្តល់ប៉ារ៉ាម៉ែត្រ `ax` ទៅមុខងារ scatter ការគូរអាចបង្ហាញចំណុចទាំងអស់នៅលើក្រាបនេះបាន៖
```python
ax=None
@@ -141,7 +141,7 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()):
-ការស៊ើបអង្កេតនិងបង្ហាញថាប្រភេទផ្លែប៉ះពាល់ជាងកាលបរិច្ឆេទលក់។ អ្នកអាចមើលមើលវាពីក្រាលបន្ទាត់ចំនួនជាប់គ្នា៖
+ការស៊ើបអង្កេតបង្ហាញថាប្រភេទផ្កាយមានឥទ្ធិពលលើតម្លៃនៃការលក់ច្រើនជាងកាលបរិច្ឆេទលក់។ យើងអាចមើលឃើញនេះជាមួយក្រាបបារ:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
@@ -149,7 +149,7 @@ new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
-យើងយកចំណុចមានចំណាប់អារម្មណ៍មួយ គឺ ‘pie type’ និងមើលឥទ្ធិពលរបស់កាលបរិច្ឆេទលើតម្លៃ៖
+ចូរយើងផ្ដោតលើប្រភេទផ្កាយតែមួយបច្ចុប្បន្ននេះ 'pie type' ហើយមើលឥទ្ធិពលនៃកាលបរិច្ឆេទលើតម្លៃ៖
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
@@ -157,24 +157,24 @@ pie_pumpkins.plot.scatter('DayOfYear','Price')
```
-បើយើងគណនាសមាមាត្ររវាង `Price` និង `DayOfYear` ដោយប្រើ `corr` វានឹងត្រឹមតែប្រហែលជា `-0.27` - មានន័យថាការបណ្តុះម៉ូឌែលទាយទោលមានទំនាក់ទំនងហើយ។
+បើយើងគណនាសមាភាពរវាង `Price` និង `DayOfYear` ដោយប្រើ `corr` អ្នកនឹងបានប្រហែល `-0.27` - មានន័យថាការបណ្តុះម៉ូដែលទាយត្រូវមានអត្ថន័យ។
-> មុននឹងបណ្តុះម៉ូឌែល Linear Regression វាជារឿងសំខាន់ក្នុងការត្រួតពិនិត្យថាទិន្នន័យរបស់យើងបានស្អាត។ Linear Regression មិនប្រសើរជាមួយអថេរបាត់បង់ ដូច្នេះវាត្រូវបានណែនាំឲ្យកម្ចាត់អថេរទទេទាំងអស់៖
+> មុនពេលបណ្តុះម៉ូដែលរេសគ្រីស្យុងបន្ទាត់ វាជារឿងសំខាន់ក្នុងការធ្វើអោយទិន្នន័យរបស់យើងបានស្អាត។ រេសគ្រីស្យុងបន្ទាត់មិនល្អសម្រាប់តម្លៃដែលខ្វះទេ ដូច្នេះវាមានអត្ថន័យក្នុងការដកចេញចំណុចទិន្នន័យខ្វះទាំងអស់៖
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
-មុខងារផ្សេងគ្នាគឺដាក់បញ្ចូលតម្លៃទទេនូវតម្លៃមធ្យមពីជួរឈរត្រូវទាក់ទង។
+វិធីសាស្រ្តមួយផ្សេងទៀតគឺបំពេញតម្លៃទទេនោះជាមួយតម្លៃមធ្យមពីជួរឈរចំរៀង។
-## ផ្សាររៀបរាប់រាងតែមួយសាមញ្ញ
+## រេសគ្រីស្យុងបន្ទាត់សាមញ្ញ
[](https://youtu.be/e4c_UP2fSjg "ML for beginners - Linear and Polynomial Regression using Scikit-learn")
-> 🎥 ចុចរូបភាពខាងលើសម្រាប់មើលវីដេអូទាំងមូលអំពីការបណ្តុះម៉ូឌែល Linear និង Polynomial Regression។
+> 🎥 ចុចលើរូបភាពខាងលើសម្រាប់វីដេអូសង្ខេបអំពីរេសគ្រីស្យុងបន្ទាត់ និងព៉ូលីណូមៀល។
-ដើម្បីបណ្តុះម៉ូឌែល Linear Regression របស់យើង យើងនឹងប្រើបណ្ណាល័យ **Scikit-learn**។
+ដើម្បីបណ្តុះម៉ូដែលរេសគ្រីស្យុងបន្ទាត់របស់យើង យើងនឹងប្រើបណ្ណាល័យ **Scikit-learn**។
```python
from sklearn.linear_model import LinearRegression
@@ -182,70 +182,69 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
-យើងចាប់ផ្ដើមដោយបំបែកចំនួនបញ្ចូល (features) និងចេញរង់ចាំ (label) ទៅជា array numpy ផ្សេងៗ៖
+យើងចាប់ផ្តើមដោយបំបែកតម្លៃបញ្ចូល (Features) និងលទ្ធផលដែលរំពឹងទុក (Label) ទៅជា array numpy បំបែក:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
-> សម្គាល់ថាយើងត្រូវ reshape ទិន្នន័យបញ្ចូល ដើម្បីឲ្យ package Linear Regression យល់បានត្រឹមត្រូវ។ Linear Regression រង់ចាំ input array 2D ដែលជាតួរទំាងរបស់ជួរឈរនីមួយៗជាតួរផ្គុំឡើង ដូច្នេះសម្រាប់ input តែមួយ យើងចង់បាន array ទំហំ N×1 ដែល N គឺទំហំទិន្នន័យ។
+> សូមចំណាំថា យើងបានធ្វើ `reshape` លើទិន្នន័យបញ្ចូល ដើម្បីឲ្យកញ្ចប់ Linear Regression យល់បានត្រឹមត្រូវ។ Linear Regression រំពឹងថានឹងទទួល array ទំហំ 2D ដែលជួរដេកនីមួយៗជាគេហ្មត់មុខងារបញ្ចូលមួយ។ ក្នុងករណីយើងមានតែមុខងារតែមួយ ដូច្នេះត្រូវការតម្រូវ array ទៅជា N×1 ដែល N គឺជាចំនួនទិន្នន័យ។
-បន្ទាប់មក យើងត្រូវបែងចែកទិន្នន័យជា train និង test dataset ដើម្បីធានាការផ្ទៀងផ្ទាត់ម៉ូឌែលបន្ទាប់ពីបណ្តុះ៖
+បន្ទាប់មកយើងត្រូវបំបែកទិន្នន័យជាកញ្ចប់ហ្វឹកហាត់ និងតេស្ត ដើម្បីអាចត្រួតពិនិត្យម៉ូដែលបន្ទាប់ពីបណ្តុះ:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
-ចុងក្រោយ ការបណ្តុះម៉ូឌែល Linear Regression ជាក់ស្តែង ត្រូវការតែពីរបន្ទាត់កូដ។ យើងកំណត់វត្ថុ `LinearRegression` ហើយភ្ជាប់វានៅលើទិន្នន័យដោយវិធីសាស្រ្ត `fit`៖
+ចុងក្រោយ ការបណ្តុះម៉ូដែលរេសគ្រីស្យុងបន្ទាត់ពិតត្រឹមពីរជួរដេកកូដប៉ុណ្ណោះ។ យើងកំណត់វត្ថុ `LinearRegression` ហើយបង្វួលវាទៅលើទិន្នន័យដោយប្រើ `fit` វិធីសាស្រ្ត៖
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
-Object `LinearRegression` បន្ទាប់ពីបាន `fit` រួចមានគុក័ភីស្យង់ទាំងអស់នៃរេហ្គ្រេស្យុង ដែលអាចចូលប្រើបានដោយប្រើបច្ចេក `.coef_`។ ក្នុងករណីរបស់យើង មានគុក័ភីស្យង់តែ១ ដែលគួរតែប្រហែល `-0.017`។ វាមានន័យថា តម្លៃថ្លៃទំនិញមានន័យថាកំពុងធ្លាក់បន្តិចបន្តួចជាមួយពេលវេលា ប៉ុន្តែមិនចាញ់ខ្លាំង ត្រឹមប្រហែល ២ សេនក្នុងមួយថ្ងៃទេ។ យើងក៏អាចចូលប្រើចំណុចឆ្លងផ្តួចផ្តើមរបស់រេហ្គ្រេស្យុងជាមួយអ័ក្ស Y ដោយប្រើ `lin_reg.intercept_` ដែលនៅក្នុងករណីរបស់យើងនឹងប្រហែល `21` ដែលបង្ហាញពីតម្លៃថ្លៃលើកដំបូងនៃឆ្នាំ។
+វត្ថុ `LinearRegression` បន្ទាប់ពីធ្វើការ `fit` មានគ្រប់គ្រាន់នៃអនុគមន៍រាងក្រាបដែលអាចចូលដំណើរការបានដោយប្រើគុណលក្ខណៈ `.coef_`។ ក្នុងករណីរបស់យើង មានគ្រាន់តែអនុគមន៍រាងតែមួយ ដែលគួរតែនឹងទៅជាទីប្រហែល `-0.017`។ វាជាអត្ថន័យថា តម្លៃមានទំនងធ្លាក់ខ្សែពេលវេលាបន្តិចបន្តួច ប៉ុន្តែមិនច្រើនទេ ប្រមាណពីរចិនសសម្រាប់មួយថ្ងៃ។ យើងអាចចូលដំណើរការចំណុចកាត់នៃក្រាបជាមួយអ័ក្ស Y ដោយប្រើ `lin_reg.intercept_` - វានឹងនៅជិត `21` ក្នុងករណីរបស់យើង បង្ហាញពីតម្លៃនៅដើមឆ្នាំ។
-ដើម្បីមើលថាម៉ូដែលរបស់យើងមានភាពត្រឹមត្រូវប៉ុណា យើងអាចទាយទម្លៃថ្លៃទំនិញលើប្រភេទទិន្នន័យសាកល្បង ហើយបន្ទាប់មកវាស់ថាតម្លៃទាយរបស់យើងជិតតម្លៃដែលរំពឹងទុកប៉ុណ្ណា។ វាអាចធ្វើបានដោយប្រើតំលៃ MSE (mean square error) ដែលជាមធ្យមនៃខុសគ្នារវាងតម្លៃរំពឹងទុក និងតម្លៃទាយដែលបានក្រោមភាពឡើងវិញ។
+ដើម្បីមើលថា ម៉ូឌែលរបស់យើងមានត្រឹមត្រូវប៉ុណ្ណា យើងអាចប៉ាន់ស្មានតម្លៃនៅលើទិន្នន័យសាកល្បង ហើយបន្ទាប់មកវាស់ថាតើការព្យាករណ៍របស់យើងនៅជិតតម្លៃដែលរំពឹងទុកយ៉ាងដូចម្តេច។ វាអាចធ្វើបានដោយប្រើសន្ទស្សន៍ root mean square error (RMSE) ដែលជាគម្លាតព្រំជាមួយមធ្យមនៃចំនួនឯកតាជាដើមរវាងតម្លៃរំពឹងទុក និងតម្លៃដែលបានព្យាករណ៍។
```python
pred = lin_reg.predict(X_test)
-mse = np.sqrt(mean_squared_error(y_test,pred))
-print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
+rmse = np.sqrt(mean_squared_error(y_test,pred))
+print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)')
```
-
-កំហុសរបស់យើងឆ្ងាយប្រហែល ២ ពិន្ទុ ដែលជាប្រហែល ~17%។ មិនល្អពេកទេ។ សញ្ញាមួយទៀតនៃគុណភាពម៉ូដែលគឺ **coefficient of determination** ដែលអាចទទួលបានដូចខាងក្រោម៖
+
+កំហុសរបស់យើងមានទំនងជាច្រើនជាង២ ពិន្ទុ ដែលប្រមាណជា ~17%។ មិនល្អពេកទេ។ ទាំងនេះគឺជាសន្ទស្សន៍ដាក់ទំនាក់ទំនងគុណភាពម៉ូឌែល អាចទទួលបានជា **coefficient of determination** ដូចខាងក្រោម៖
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
-
-បើតម្លៃនេះស្មើ 0 មានន័យថាម៉ូដែលមិនយកទិន្នន័យបញ្ចូលចូលចិត្តនោះទេ ហើយគាត់ប្រតិបត្តិដូចជា *អ្នកទាយបង្ហាញបញ្ចូល linear អាក្រក់បំផុត* ដែលគ្រាន់តែជាតម្លៃមធ្យមនៃលទ្ធផល។ តម្លៃ 1 មានន័យថាយើងអាចទាយទម្លៃលទ្ធផលបានយ៉ាងពេញលេញ។ ក្នុងករណីរបស់យើង coefficient ប្រហែល 0.06 ដែលទាបបន្តិច។
+ ប្រសិនបើតម្លៃគឺ 0 វាមានន័យថា ម៉ូឌែលមិនយកទិន្នន័យអោយបានជាការបញ្ចូល និងដំណើរការជា *predictor linear អាក្រក់បំផុត* ដែលជាមធ្យមតម្លៃលទ្ធផលប៉ុណ្ណោះ។ តម្លៃ 1 មានន័យថាយើងអាចព្យាករណ៍លទ្ធផលទាំងអស់បានយ៉ាងពេញលេញ។ ក្នុងករណីរបស់យើង អនុគមន៍សង្ខេបគឺជាទីប្រហែល 0.06 ដែលគឺទាបណាស់។
-យើងក៏អាចបង្ហាញទិន្នន័យសាកល្បង រួមជាមួយខ្សែរេហ្គ្រេស្យុង ដើម្បីឲ្យយល់ច្បាស់ថារេហ្គ្រេស្យុងធ្វើការយ៉ាងដូចម្តេច៖
+យើងអាចគូសបង្ហាញទិន្នន័យសាកល្បងជាមួយខ្សែ regression ដើម្បីមើលឃើញថា regression ធ្វើការយ៉ាងដូចម្តេចក្នុងករណីរបស់យើងបានកាន់តែច្បាស់៖
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
-
+
-## រេហ្គ្រេស្យុងផូលីណូម្យ얼
+## Regression ប៉ូលីណូមី
-ប្រភេទមួយទៀតនៃរេហ្គ្រេស្យុងបែបជួរឈរជាមួយគ្នាគឺ រេហ្គ្រេស្យុងផូលីណូម្យ얼។ នៅពេលខ្លះ មានទំនាក់ទំនងបែបជួរឈរពីរវីរីables - ដូចជាឥដ្ឋមានទំហំនាងធំ នឹងមានតម្លៃថ្លៃខ្ពស់ជាង - ប៉ុន្តេលើកលែងទំនាក់ទំនងទាំងនេះមិនអាចបង្ហាញជាពហុប្លង់ ឬបន្ទាត់ស្របបាន។
+ប្រភេទមួយផ្សេងទៀតនៃ Linear Regression គឺ Polynomial Regression។ ខណៈពេលពេលដែលពេលខ្លះ មានទំនាក់ទំនងបន្ទាត់រវាងអថេរណ៍ - ការរំលាយបំពងត្រូវបានវាស់ចំណុះកាន់តែធំ ទីផ្សារក៏កាន់តែល្អ - ពេលខ្លះទំនាក់ទំនងទាំងនេះមិនអាចត្រូវបានគូសបង្ហាញជាល្វែងឬបន្ទាត់តែមួយបានទេ។
-✅ នៅទីនេះមាន [ឧទាហរណ៍បន្ថែម](https://online.stat.psu.edu/stat501/lesson/9/9.8) នៃទិន្នន័យដែលអាចប្រើរេហ្គ្រេស្យុងផូលីណូម្យ얼បាន
+✅ សូមមើល [ឧទាហរណ៍បន្ថែម](https://online.stat.psu.edu/stat501/lesson/9/9.8) ទិន្នន័យដែលអាចប្រើបាន Polynomial Regression
-សូមមើលទំនាក់ទំនងរវាងថ្ងៃ និងតម្លៃវិញ។ តើក្រាហ្វ Scatterplot នេះមើលទៅគឺត្រូវតែវិភាគដោយបន្ទាត់ស្របទេមែន? តើតម្លៃថ្លៃអាចមានការប្រែប្រួលទេ? ក្នុងករណីនេះ អ្នកអាចសាកល្បងរេហ្គ្រេស្យុងផូលីណូម្យ얼បាន។
+មើលម្ដងទៀតលើទំនាក់ទំនងរវាង Date និង Price។ តើ scatterplot នេះមើលទៅដូចជាគួរត្រូវបានវិភាគតាមបន្ទាត់តែមួយទេ? តើតម្លៃនៃតម្លៃតម្លើងនឹងមានការធ្លាក់ឡើង? ក្នុងករណីនេះ អ្នកអាចសាកល្បង polynomial regression។
-✅ ផូលីណូម្យ얼គឺជាការសម្ដែងគ្រឹះគណិតវិទ្យាដែលអាចមានអថេរតែមួយ ឬច្រើន និងគុក័ភីស្យង់
+✅ ប៉ូលីណូមីគឺជាការបង្ហាញគណិតវិទ្យាដែលអាចមានអថេរណ៍មួយឬច្រើន និងគុណលក្ខណៈ
-រេហ្គ្រេស្យុងផូលីណូម្យ얼បង្កើតខ្សែពោងកោង ដើម្បីឲ្យអាចសាកសមនឹងទិន្នន័យមិនម៉ាស្សា linear បានល្អប្រសើរជាងមុន។ ក្នុងករណីរបស់យើង ប្រសិនបើបញ្ចូលអថេរពណ៌វត្ថុ `DayOfYear`^2 ទៅក្នុងទិន្នន័យបញ្ចូល យើងគួរតែអាចតំឡើងទិន្នន័យជាមួយខ្សែ parabola ដែលមានតម្លៃអប្បបរមានៅពេលកំណត់មួយក្នុងឆ្នាំ។
+Polynomial regression បង្កើតខ្សែជារបារោងក្រោងសម្រាប់ផ្គូរផ្គងទិន្នន័យប្លែកៗសម្រាប់ការព្យាករណ៍។ ក្នុងករណីរបស់យើង ប្រសិនបើយើងបញ្ចូលអថេរ `DayOfYear` កាយក្រិតទីពីរចូល ទិន្នន័យបញ្ចូល យើងអាចជួយឱ្យត្រូវបានផ្គូរផ្គងជាមួយខ្សែប្រមាណប៉ារ៉ាបល (parabolic curve) ដែលមានតម្លៃអប្បបរមានៅចំណុចមួយក្នុងឆ្នាំ។
-Scikit-learn មាន [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) ដែលមានប្រយោជន៍ ដើម្បីតភ្ជាប់ជំហានដំណើរការទិន្នន័យផ្សេងៗគ្នា។ **pipeline** គឺជាសង្ស័យនៃ **estimators**។ ក្នុងករណីរបស់យើង យើងនឹងបង្កើត pipeline ដែលជាលើកដំបូងបន្ថែមលក្ខណៈផូលីណូម្យ얼ទៅម៉ូដែល ហើយបន្ទាប់បណ្ដុះបណ្ដាលរេហ្គ្រេស្យុង៖
+Scikit-learn មាន [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) ជំនួយសម្រាប់បង្រួមជំហាន ផលិតផលនៃដំណើរការទិន្នន័យជាមួយគ្នា។ **pipeline** ជាចំនងចងគ្នានៃ **estimators**។ ក្នុងករណីរបស់យើង យើងនឹងបង្កើត pipeline ដែលបន្ថែមលក្ខណៈ polynomial មុនបណ្តុះ regression:
```python
from sklearn.preprocessing import PolynomialFeatures
@@ -255,61 +254,61 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
-
-ការប្រើ `PolynomialFeatures(2)` មានន័យថាយើងនឹងបញ្ចូលផូលីណូម្យ얼ចំណាត់ថ្នាក់ទីពីរទាំងអស់ពីទិន្នន័យបញ្ចូល។ ក្នុងករណីរបស់យើង វានឹងមានតែន័យ `DayOfYear`^2 ប៉ុណ្ណោះ ប៉ុន្តែបើមានអថេរ 2 គឺ X និង Y វានឹងបន្ថែម X^2, XY និង Y^2 ក៏បាន។ យើងអាចប្រើផូលីណូម្យ얼ជំពូកខ្ពស់ ដោយបើត្រូវការបានដែរ។
-pipeline អាចប្រើប្រាស់បានដូចជាអង្គភាព `LinearRegression` ដើម ដូច្នេះយើងអាច `fit` pipeline ហើយបន្ទាប់មកប្រើ `predict` បានផងដែរ ដើម្បីទទួលលទ្ធផលទាយ។ ខាងក្រោមជាក្រាហ្វដែលបង្ហាញទិន្នន័យសាកល្បង និងខ្សែពោងកោងតំណាង៖
+ការប្រើប្រាស់ `PolynomialFeatures(2)` មានន័យថាយើងនឹងបញ្ចូលក polynomial ពីដំណើរការថ្នាក់ទីពីរទាំងអស់ ពីទិន្នន័យបញ្ចូល។ ក្នុងករណីរបស់យើង វានឹងមានតែ `DayOfYear`2 ប៉ុណ្ណោះ ប៉ុន្តែសម្រាប់អថេរឈ្មោះ X និង Y ខុសគ្នា វានឹងបន្ថែម X2 XY និង Y2។ យើងអាចប្រើ polynomial ថ្នាក់ខ្ពស់ជាងនេះប្រសិនបើចង់បាន។
+
+Pipeline អាចប្រើដូចជាវត្ថុ `LinearRegression` ដើម គឺយើងអាច `fit` pipeline ហើយបន្ទាប់មកប្រើ `predict` ដើម្បីទទួលបានលទ្ធផល។ នេះជាក្រាផាងបង្ហាញទិន្នន័យសាកល្បង និងខ្សែប្រមាណ៖
-ដោយប្រើរេហ្គ្រេស្យុងផូលីណូម្យ얼 យើងអាចទទួលបាន MSE ទាបជាងបន្តិច និង coefficient of determination ខ្ពស់ជាងបន្តិច ប៉ុន្តែមិនខ្លាំងណាស់ទេ។ យើងត្រូវយកចំណុចផ្សេងទៀតចូលក្នុងការពិចារណាផងដែរ!
+ដោយប្រើ Polynomial Regression យើងអាចទទួលបាន MSE ទាបបន្តិច និង coefficient determination ខ្ពស់ជាង ប៉ុន្តែមិនច្រើនខ្លាំងទេ។ យើងត្រូវយកចិត្តទុកដាក់ទៅលើលក្ខណៈផ្សេងទៀតផង!
-> អ្នកអាចបើកចំណាំបានថា តម្លៃថ្លៃអង្គរជាមួយខ្នងនោះមានចន្លោះពេលដែលជិតថ្ងៃ Halloween។ តើអ្នកអាចពន្យល់មូលហេតុនេះបានយ៉ាងដូចម្តេច?
+> អ្នកអាចសង្កេតឃើញថា តម្លៃបណ្ដូលរបស់ កំបោរភាគច្រើនបង្ហាញនៅក្បែរបុណ្យ Halloween។ តើធ្វើដូចម្តេចដើម្បីពន្យល់ពីនេះ?
-🎃 សូមអបអរសាទរ អ្នកទើបបង្កើតម៉ូដែលមួយដែលអាចជួយទាយតម្លៃថ្លៃនំទំពាំងបាយជូបាន។ អ្នកប្រហែលជាអាចធ្វើដំណើរការតែមួយនេះសម្រាប់ប្រភេទទំពាំងបាយជូគ្រប់ប្រភេទបានផង ប៉ុន្តែវាត្រូវការការងារលំបាក។ យើងនឹងរៀនរបៀបយកប្រភេទទំពាំងបាយជូទៅក្នុងគំរូរបស់យើងឥលូវនេះ!
+🎃 អបអរសាទរ អ្នកទើបបង្កើតម៉ូឌែលអាចជួយព្យាករណ៍តម្លៃកំបោរភាគបាយបាន។ អ្នកប្រហែលជាអាចធ្វើបែបនេះសម្រាប់ប្រភេទកំបោរទាំងអស់ ប៉ុន្តែវាអាចធ្វើឱ្យធុញនឿយ។ យើងនឹងរៀនពីរបៀបយកប្រភេទកំបោរចូលទៅក្នុងម៉ូឌែល!
-## លក្ខណៈពិសេសដូចជាប្រភេទ (Categorical Features)
+## លក្ខណៈប្រភេទ (Categorical Features)
-នៅក្នុងពិភពផ្តល់ក្តីសង្ឃឹម អ្នកចង់អាចទាយតម្លៃថ្លៃសម្រាប់ប្រភេទទំពាំងបាយជូផ្សេងៗដោយប្រើម៉ូដែលតែមួយ។ ប៉ុន្តែកន្លែងជួរឈរ `Variety` មានភាពខុសគ្នាពីជួរឈរ `Month` ប៉ុន្តែបង្កប់តម្លៃមិនមែនជាតួលេខទេ។ ជួរឈរដូចនេះហៅថា **categorical**។
+នៅពិភពល្អ គួរតែមានសមត្ថភាពក្នុងការព្យាករណ៍តម្លៃសម្រាប់ប្រភេទកំបោរផ្សេងៗដោយប្រើម៉ូឌែលដូចគ្នា។ ក៏ប៉ុន្តែ បន្ទាត់ `Variety` ខុសគ្នាពីបន្ទាត់ដូចជា `Month` ពីព្រោះវាមានតម្លៃមិនមែនជាចំនួន។ បន្ទាត់ដូចនេះហៅថា **categorical**។
[](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression")
-> 🎥 ចុចរូបភាពខាងលើសម្រាប់វីដេអូជាសង្ខេបអំពីការប្រើលក្ខណៈពិសេសឈ្មោះដូចជាប្រភេទ។
+> 🎥 ចុចរូបភាពខាងលើដើម្បីមើលវីដេអូចង្អុលបង្ហាញខ្លីអំពីការប្រើលក្ខណៈ categorical។
-នៅទីនេះ អ្នកអាចមើលថាតម្លៃថ្លៃមធ្យមអាស្រ័យលើប្រភេទ៖
+នៅទីនេះ អ្នកអាចមើលឃើញថាតម្លៃមធ្យមនៃតម្លៃអាស្រ័យលើប្រភេទ៖
-ដើម្បីយកប្រភេទចូលក្នុងគំរូបាន ត្រូវបម្លែងវាទៅជាទម្រង់លេខឬ **encode**វា។ មានវិធីជាច្រើនក្នុងការធ្វើៈ
+ដើម្បីយកប្រភេទគិតចូល ជាអង្គភាពចំនួន យើងត្រូវកំណត់វាទៅជាទ្រង់ទ្រាយចំនួនឬ **encode** វា។ មានវិធីខ្លះៗដូចនេះ៖
-* **numeric encoding** សាមញ្ញ នឹងបង្កើតតារាងប្រភេទផងដែរ ហើយបម្លែងឈ្មោះប្រភេទជាលេខតែម្ដងក្នុងតារាង។ នេះមិនមែនជាគំនិតល្អសម្រាប់រេហ្គ្រេស្យុងរេហ្គ្រេស្យុង linear ទេ ព្រោះវាប្រើតម្លៃលេខនោះដើម្បីបន្ថែមលទ្ធផល បូកនឹងគុក័ភីស្យង់ផ្សេងៗ ហើយទំនាក់ទំនងរវាងលេខនិងតម្លៃថ្លៃមិនមែន linear ទេ ទោះបីបញ្ជាក់ថាលេខជាតម្លៃលំដាប់ក្រោមក៏ដោយ។
-* **One-hot encoding** នឹងបម្លែងជួរឈរ `Variety` ទៅជាជួរឈរបួនគ្នា សម្រាប់ប្រភេទនីមួយៗគ្នា។ វាអាចមានតម្លៃ `1` ប្រសិនបើជួរដេកទាំងនោះនៅក្នុងប្រភេទនោះ ហើយ`0` នៅក្នុងករណីផ្សេងទៀត។ នេះមានន័យថានឹងមានគុក័ភីស្យង់បួនសម្រាប់រេហ្គ្រេស្យុង linear សម្រាប់ប្រភេទទំពាំងបាយជូ បំពេញដំបូងនៃតម្លៃថ្លៃឬ "តម្លៃបន្ថែម" សម្រាប់ប្រភេទនោះ។
+* **numeric encoding** ងាយស្រួលបង្កើតតារាងប្រភេទផ្សេងៗ ហើយប្តូរឈ្មោះប្រភេទជាទីតាំងក្នុងតារាង។ នេះមិនល្អសម្រាប់ linear regression ព្រោះ linear regression ប្រើតម្លៃចំនួនជាក់លាក់របស់ index ហើយបូកលទ្ធផលដោយគុណនឹង coefficient មួយ។ នៅក្នុងករណីរបស់យើង ទំនាក់ទំនងរវាងលេខរៀងនិងតម្លៃមិនមែនជាបន្ទាត់ទេ ទោះបីយើងតម្រៀបតាមលំដាប់ជាការពិត។
+* **One-hot encoding** ជំនួបបន្ទាត់ `Variety` ជាមួយបន្ទាត់ ៤ ប្រភេទផ្សេងៗ បន្ទាត់មួយសម្រាប់ប្រភេទនីមួយៗ។ រាល់បន្ទាត់ នឹងមាន `1` ប្រសិនបើជាបន្ទាត់នៃប្រភេទនោះ និង `0` ប្រសិនបើមិនមែន។ នោះមានន័យថា មានគុណលក្ខណៈបួននៅក្នុង linear regression សម្រាប់ប្រភេទកំបោរផ្សេងៗ ដែលរួមបញ្ចូលតម្លៃចាប់ផ្តើម (ឬតម្លៃបន្ថែម) សម្រាប់ប្រភេទនោះ។
-កូដខាងក្រោមបង្ហាញពីរបៀបដែលយើងអាចកូដ one-hot encoding ចំពោះប្រភេទបាន៖
+កូដខាងក្រោមបង្ហាញពីរបៀបបម្លែងប្រភេទទៅ one-hot encoding៖
```python
pd.get_dummies(new_pumpkins['Variety'])
```
-
- ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
-----|-----------|-----------|--------------------------|----------
-70 | 0 | 0 | 0 | 1
-71 | 0 | 0 | 0 | 1
-... | ... | ... | ... | ...
-1738 | 0 | 1 | 0 | 0
-1739 | 0 | 1 | 0 | 0
-1740 | 0 | 1 | 0 | 0
-1741 | 0 | 1 | 0 | 0
+
+ ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
+----|-----------|-----------|--------------------------|----------
+70 | 0 | 0 | 0 | 1
+71 | 0 | 0 | 0 | 1
+... | ... | ... | ... | ...
+1738 | 0 | 1 | 0 | 0
+1739 | 0 | 1 | 0 | 0
+1740 | 0 | 1 | 0 | 0
+1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
-ដើម្បីបណ្ដុះបណ្ដាលរេហ្គ្រេស្យុង linear ប្រើប្រភេទ ខណៈដែលត្រូវបានបកប្រែជា one-hot encoded ក្នុងការបញ្ចូល យើងត្រូវ initialize ទិន្នន័យ `X` និង `y` ឲ្យបានត្រឹមត្រូវ៖
+ដើម្បីបណ្តុះ linear regression ជាមួយ one-hot encoded variety ជាដំណើរការបញ្ចូល បូកផ្សំពីការចាប់ផ្តើម `X` និង `y` ត្រូវបានកំណត់ត្រឹមត្រូវ៖
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
-
-កូដនៅសល់មានដូចដែលយើងបានប្រើទៅមុនសម្រាប់បណ្ដុះបណ្ដាល Linear Regression។ ប្រសិនបើអ្នកសាកល្បង វាអាចឃើញថា mean squared error ប្រហែលដូចគ្នា ប៉ុន្តែយើងទទួលបាន coefficient of determination ខ្ពស់ជាងគេ (~77%)។ ដើម្បីទទួលបានការទាយល្អប្រសើរជាងនេះ អ្នកអាចយកលក្ខណៈពិសេសពហុ (categorical) និង លក្ខណៈពិសេសចំនួន (numeric) ដូចជា `Month` ឬ `DayOfYear` ចូលរួមជាមួយគ្នាច្រើនទៀត។ ដើម្បីមានអារេចាយធំមួយ សម្រាប់លក្ខណៈទាំងនេះ អ្នកអាចប្រើ `join`៖
+
+កូដដែលនៅសល់ដូចគ្នានឹងវាដែលបានប្រើខាងលើសម្រាប់បណ្តុះ Linear Regression។ ប្រសិនបើអ្នកសាកល្បង វានឹងបង្ហាញថា mean squared error ប្រហែលដូចគ្នា ប៉ុន្តែ coefficient determination ទទួលបានខ្ពស់ជាង (~77%)។ ដើម្បីទទួលបានការព្យាករណ៍ត្រឹមត្រូវច្រើនទៀត អ្នកអាចយកលក្ខណៈ categorical ផ្សេងៗ និងលក្ខណៈចំនួនដូចជា `Month` ឬ `DayOfYear` មកគិតរួម។ ដើម្បីទទួលបាន array លក្ខណៈធំមួយ អ្នកអាចប្រើ `join`៖
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@@ -318,69 +317,69 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
```
-
-នៅទីនេះយើងក៏យកចំណុច `City` និងប្រភេទ `Package` ចូលគណនាផង ដោយមាន MSE 2.84 (10%) និងកំណត់ត្រានៃការបញ្ជាក់ 0.94!
-## រួមបញ្ចូលគ្នាទាំងអស់
+នៅទីនេះ យើងក៏នឹងយក `City` និងប្រភេទ `Package` ទៅគិតផង ដែលផ្តល់ឱ្យយើង MSE 2.84 (10%) និង coefficient determination 0.94!
-ដើម្បីបង្កើតម៉ូដែលល្អបំផុត យើងអាចប្រើទិន្នន័យផ្សំប្រភេទ (one-hot encoded categorical) និងចំនួន (numeric) ពីឧទាហរណ៍ខាងលើជាមួយរេហ្គ្រេស្យុងផូលីណូម្យ얼។ ខាងក្រោមជាកូដពេញលេញសម្រាប់សម្រួលរបស់អ្នក៖
+## បង្ហាប់គ្រប់យ៉ាងរួមគ្នា
+
+ដើម្បីបង្កើតម៉ូឌែលល្អបំផុត យើងអាចប្រើទិន្នន័យបញ្ចូលរួមគ្នា (categorical one-hot encoded + numeric) ពីឧទាហរណ៍ខាងលើជាមួយ Polynomial Regression។ រួចកូដពេញលេញសម្រាប់ការងាររបស់អ្នក៖
```python
-# រៀបចំទិន្នន័យបណ្ដុះបណ្ដាល
+# ប្រើប្រាស់ទិន្នន័យសម្រាប់ហាត់ប្រាណ
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
-# បំបែកទិន្នន័យបណ្ដុះបណ្ដាល និងសាកល្បង
+# បំបែកទិន្នន័យចេញជាបំណែកហាត់ប្រាណ និងសាកល្បង
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-# រៀបចំពីផ្លូវបំណង និងបណ្ដុះបណ្ដាល
+# រៀបចំ និងហាត់ប្រាណផ្លូវប្រតិបត្តិការ
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
-# ទស្សន៍ទាយលទ្ធផលសម្រាប់ទិន្នន័យសាកល្បង
+# ព្យាករណ៍លទ្ធផលសម្រាប់ទិន្នន័យសាកល្បង
pred = pipeline.predict(X_test)
-# គណនារ៉ាស៊ី MSE និងកម្រិតកំណត់
+# គណនារាង MSE និងកំណត់ការសម្រេច
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
-
-នេះគួរតែផ្តល់ coefficient of determination ល្អបំផុតប្រហែល 97% ហើយ MSE=2.23 (~8% កំហុសទាយ)។
-
-| ម៉ូដែល | MSE | ការកំណត់ត្រា |
-|-------|-----|---------------|
-| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
-| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
-| `Variety` Linear | 5.24 (19.7%) | 0.77 |
-| លក្ខណៈទាំងអស់ Linear | 2.84 (10.5%) | 0.94 |
+
+នេះគួរតែផ្តល់ឱ្យយើងនូវ coefficient determination ខ្ពស់ជាងគេប្រមាណ 97% និង MSE=2.23 (~8% កំហុសព្យាករណ៍) ។
+
+| ម៉ូឌែល | MSE | Coefficient determination |
+|-------|-----|---------------------------|
+| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
+| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
+| `Variety` Linear | 5.24 (19.7%) | 0.77 |
+| លក្ខណៈទាំងអស់ Linear | 2.84 (10.5%) | 0.94 |
| លក្ខណៈទាំងអស់ Polynomial | 2.23 (8.25%) | 0.97 |
-🏆 ល្អណាស់! អ្នកបានបង្កើតម៉ូដែលរេហ្គ្រេស្យុងបួនលក្ខណៈក្នុងមួយមេរៀន ហើយបង្កើនគុណភាពម៉ូដែលដល់ 97%។ នៅផ្នែកចុងក្រោយអំពីរេហ្គ្រេស្យុង អ្នកនឹងរៀនអំពី Logistic Regression ដើម្បីកំណត់ប្រភេទ។
+🏆 តើអ្នកបានធ្វើបានល្អ! អ្នកបង្កើតម៉ូឌែល Regression បួនក្នុងមួយមេរៀន ហើយបង្កើតគុណភាពម៉ូឌែលបានទៅដល់97%។ នៅក្នុងផ្នែកចុងក្រោយ នៃមេរៀន Regression អ្នកនឹងរៀនអំពី Logistic Regression ដើម្បីកំណត់ប្រភេទ។
---
-## 🚀ការប្រកួតប្រជែង
+## 🚀 បញ្ញើ
-សាកល្បងអថេរផ្សេងៗគ្នាច្រើនក្នុងកំណត់ត្រានេះ ដើម្បីមើលថាតើភាពស៊ីជម្រៅនៃទំនាក់ទំនងឆ្លើយតបដូចម្តេចទៅដោយភាពត្រឹមត្រូវរបស់ម៉ូដែល។
+សាកល្បងអថេរផ្សេងៗគ្នាក្នុងកំណត់ត្រានេះ ដើម្បីមើលថាតើការតភ្ជាប់ទំនាក់ទំនងសមរម្យទៅប៉ុណ្ណា ជាមួយគុណភាពម៉ូឌែល។
-## [ប្រលងបន្ទាប់ម៉ោងបង្រៀន](https://ff-quizzes.netlify.app/en/ml/)
+## [ការប្រលងក្រោយមេរៀន](https://ff-quizzes.netlify.app/en/ml/)
-## ការត្រួតពិនិត្យ និង សិក្សាឯករាជ្យ
+## សិក្សាផ្ទាល់ខ្លួន
-ក្នុងមេរៀននេះ យើងបានរៀនអំពី Linear Regression។ មានប្រភេទរេហ្គ្រេស្យុងសំខាន់ៗផ្សេងទៀត។ សូមអានអំពី Stepwise, Ridge, Lasso និង Elasticnet។ មេរៀនល្អមួយសម្រាប់សិក្សាបន្ថែមគឺ [មេរៀនស្ថិតិ ស្ទេនហ្វ័រដ៍](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
+នៅក្នុងមេរៀននេះ យើងបានរៀនអំពី Linear Regression។ មានប្រភេទ Regression ផ្សេងទៀតដែលសំខាន់។ សូមអានអំពី Stepwise, Ridge, Lasso និង Elasticnet។ វគ្គសិក្សាល្អសម្រាប់រៀនបន្ថែមគឺ [វគ្គសិក្សារបស់ Stanford Statistical Learning](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
-## បេសកកម្ម
+## ការបង្រៀន
-[បង្កើតម៉ូដែល](assignment.md)
+[បង្កើតម៉ូឌែល](assignment.md)
---
-**ការបដិសេធ**៖
-ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងឱ្យមានភាពត្រឹមត្រូវ សូមយល់ដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាដើមគួរត្រូវបានគិតថាជាដើមប្រភពដែលមានអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ៗ គ្រាន់តែផ្តល់អនុសាសន៍ឱ្យប្រើការបកប្រែដោយមនុស្សជំនាញវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំឬការបកស្រាយខុសពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
+**ការព្រមាន**៖
+ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាប្រែសម្រួល AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងចំពោះភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការប្រែសម្រួលដោយស្វ័យប្រវត្តិនោះអាចមានកំហុសឬការខ្វះខាតបាន។ ឯកសារដើមក្នុងភាសាមាតុភូមិគួរត្រូវបានយកទៅពិចារណាជាតម្រូវការសំខាន់។ សម្រាប់ព័ត៌មានសំខាន់ៗ ការប្រែសម្រួលដោយអ្នកជំនាញមនុស្សគឺត្រូវបានផ្ដល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសចាប់ពីការប្រើប្រាស់ការប្រែសម្រួលនេះឡើយ។
\ No newline at end of file
diff --git a/translations/km/4-Classification/2-Classifiers-1/README.md b/translations/km/4-Classification/2-Classifiers-1/README.md
index 2de8c67e3..e6df5b2bd 100644
--- a/translations/km/4-Classification/2-Classifiers-1/README.md
+++ b/translations/km/4-Classification/2-Classifiers-1/README.md
@@ -1,17 +1,17 @@
-# កម្មវិធីចាត់ថ្នាក់ម្ហូបចំណី 1
+# ក្រុមចំរៀងម្ហូប ១
-នៅក្នុងមេរៀននេះ អ្នកនឹងប្រើទិន្នន័យដែលអ្នកបានរក្សាទុកពីមេរៀនមុន ដែលពេញជាមួយទិន្នន័យត្រឹមត្រូវ ស្អាត និងទាក់ទងនឹងម្ហូបចំណីទាំងអស់។
+នៅក្នុងមេរៀននេះ អ្នកនឹងប្រើទិន្នន័យដែលបានរក្សាទុកពីមេរៀនមុន ដែលស្អាត និង មានតុល្យភាព ស្តីពីម្ហូបជាតិ។
-អ្នកនឹងប្រើទិន្នន័យនេះជាមួយកម្មវិធីចាត់ថ្នាក់មុខជាច្រើន ដើម្បី _ធ្វើការប៉ាន់ស្មានម្ហូបជាតិនាក់ជាក់លាក់ដោយផ្អែកលើក្រុមគ្រឿងផ្សំមួយ_. ខណៈពេលធ្វើម្តងនេះ អ្នកនឹងរៀនបន្ថែមអំពីវិធីដែលអាល់ហ្គូរីធម៌អាចប្រើបានសម្រាប់ភារកិច្ចចាត់ថ្នាក់។
+អ្នកនឹងប្រើទិន្នន័យនេះជាមួយនឹងក្រុមចំរៀងដើម្បី _ទស្សន៍ទាយអំពីម្ហូបជាតិតាមគោលលទ្ធផលអំពីគ្រឿងផ្សំណាមួយ។_ ពេលធ្វើបែបនេះ អ្នកនឹងរៀនបន្ថែមអំពីវិធីផ្សេងៗដែលអាល់ហ្គូរីធម៍អាចប្រើសម្រាប់ភារកិច្ចចំរៀង។
-## [មេរៀនជំនួញមុន](https://ff-quizzes.netlify.app/en/ml/)
-# ការរៀបចំ
+## [តេស្តមុនវគ្គ](https://ff-quizzes.netlify.app/en/ml/)
+# ការត្រៀមខ្លួន
-សន្មតបើអ្នកបានបញ្ចប់ [មេរៀនទី 1](../1-Introduction/README.md) សូមប្រាកដថាឯកសារ _cleaned_cuisines.csv_ មាននៅក្នុងថតឫស `/data` សម្រាប់មេរៀនបួននេះ។
+សន្មត់ថាអ្នកបានបញ្ចប់ [មេរៀន ១](../1-Introduction/README.md) រួច សូមប្រាកដថាមានឯកសារ _cleaned_cuisines.csv_ នៅក្នុងថតមួយដើម `/data` សម្រាប់មេរៀនទាំងបួននេះ។
-## លំហាត់ - ប៉ាន់ស្មានម្ហូបជាតិនាក់
+## ធ្វើហាត់ - ទស្សន៍ទាយម្ហូបជាតិ
-1. ធ្វើការងារនៅក្នុងថត _notebook.ipynb_ របស់មេរៀននេះ ដើម្បីនាំចូលឯកសារនោះជាមួយបណ្ណាល័យ Pandas៖
+1. នៅក្នុងថត _notebook.ipynb_ នៃមេរៀននេះ នាំចូលឯកសារនោះ ព្រមជាមួយបណ្ណាល័យ Pandas៖
```python
import pandas as pd
@@ -19,7 +19,7 @@
cuisines_df.head()
```
- ទិន្នន័យមានរូបរាងដូចខាងក្រោម៖
+ ទិន្នន័យបង្ហាញដូចជា៖
| | Unnamed: 0 | cuisine | almond | angelica | anise | anise_seed | apple | apple_brandy | apricot | armagnac | ... | whiskey | white_bread | white_wine | whole_grain_wheat_flour | wine | wood | yam | yeast | yogurt | zucchini |
| --- | ---------- | ------- | ------ | -------- | ----- | ---------- | ----- | ------------ | ------- | -------- | --- | ------- | ----------- | ---------- | ----------------------- | ---- | ---- | --- | ----- | ------ | -------- |
@@ -30,7 +30,7 @@
| 4 | 4 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
-1. ឥឡូវនេះ នាំចូលបណ្ណាល័យបន្ថែមមួយចំនួនទៀត៖
+1. ឥឡូវនេះ នាំចូលបណ្ណាល័យបន្ថែមទៀត៖
```python
from sklearn.linear_model import LogisticRegression
@@ -40,14 +40,14 @@
import numpy as np
```
-1. បំបែកកូអរដោនាតេ X និង y ទៅជាdfពីរប្រភេទសម្រាប់ហ្វឹកហាត់។ `cuisine` អាចជាដាតាហ្វ្រេសសម្រាប់ស្លាក៖
+1. ចែក X និង y ជាទម្រង់ជា dataframe ពីរ សម្រាប់ការបណ្តុះបណ្តាល។ `cuisine` អាចជាទម្រង់ស្លាក៖
```python
cuisines_label_df = cuisines_df['cuisine']
cuisines_label_df.head()
```
- វានឹងមានរូបរាងដូចខាងក្រោម៖
+ វានឹងហាក់ដូចជា៖
```output
0 indian
@@ -58,14 +58,14 @@
Name: cuisine, dtype: object
```
-1. លុបជួរឈរដែលមានឈ្មោះ `Unnamed: 0` និងជួរឈរ `cuisine` ដោយហៅ `drop()`។ រក្សាទុកទិន្នន័យសល់ជាលក្ខណៈសម្បត្តិសម្រាប់ហ្វឹកហាត់៖
+1. លុបកូឡុំណ `Unnamed: 0` និង `cuisine` ដោយប្រើ `drop()` និងរក្សាទុកសំណុំទិន្នន័យសម្រាប់បណ្តុះបណ្តាលជាលក្ខណៈ features៖
```python
cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)
cuisines_feature_df.head()
```
- លក្ខណៈសម្បត្តិរបស់អ្នកមានរូបរាងដូចខាងក្រោម៖
+ លក្ខណៈ features របស់អ្នកដូចជា៖
| | almond | angelica | anise | anise_seed | apple | apple_brandy | apricot | armagnac | artemisia | artichoke | ... | whiskey | white_bread | white_wine | whole_grain_wheat_flour | wine | wood | yam | yeast | yogurt | zucchini |
| ---: | -----: | -------: | ----: | ---------: | ----: | -----------: | ------: | -------: | --------: | --------: | ---: | ------: | ----------: | ---------: | ----------------------: | ---: | ---: | ---: | ----: | -----: | -------: |
@@ -75,88 +75,84 @@
| 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
-ឥឡូវអ្នករួចរាល់សម្រាប់ហ្វឹកហាត់ម៉ូដែលរបស់អ្នកហើយ!
+ឥឡូវនេះអ្នកសម្រាកណាស់ក្នុងការបណ្តុះបណ្តាលម៉ូដែលរបស់អ្នក!
-## ការជ្រើសរើសកម្មវិធីចាត់ថ្នាក់
+## ជ្រើសរើសក្រុមចំរៀងរបស់អ្នក
-ឥឡូវនេះទិន្នន័យរបស់អ្នកបានស្អាត និងរួចរាល់សម្រាប់ហ្វឹកហាត់ អ្នកត្រូវតែសម្រេចថា អាល់ហ្គូរីធម៌ណាដែលត្រូវប្រើសម្រាប់ភារកិច្ចនេះ។
+ឥឡូវនេះទិន្នន័យរបស់អ្នកបានស្អាត និងរួចរាល់សម្រាប់បណ្តុះបណ្តាល អ្នកត្រូវសំរេចថាតើអាល់ហ្គូរីធម៍ណាមួយត្រូវបានប្រើសម្រាប់ការងារ។
-Scikit-learn ដាក់ក្រុមការចាត់ថ្នាក់នៅក្រោមការសិក្សាប្រភេទៈអនុគ្រោះ (Supervised Learning) ហើយក្នុងប្រភេទនោះ អ្នកនឹងរកឃើញវិធីជាច្រើនសម្រាប់ចាត់ថ្នាក់។ [ភាពខុសគ្នា](https://scikit-learn.org/stable/supervised_learning.html) គឺអាចធ្វើអោយច្របូកច្របល់នៅដំណើរមុន។ វិធីសាស្រ្តខាងក្រោមទាំងអស់រួមបញ្ចូលបច្ចេកទេសចាត់ថ្នាក់៖
+Scikit-learn ចែកចាយចំរៀងក្រោម ការរៀនដោយគ្រប់គ្រង (Supervised Learning) ហើយក្នុងប្រភេទនេះ អ្នកនឹងឃើញវិធីច្រើនសម្រាប់ចំរៀង។ [ភាពចម្រូងចម្រាស](https://scikit-learn.org/stable/supervised_learning.html) គឺគ្រាន់តែស្មុគស្មាញនៅលើភ្នែកដំបូង។ វិធីដូចខាងក្រោមទាំងអស់រួមបញ្ចូលបច្ចេកទេសចំរៀង៖
-- ម៉ូដែលបន្ទាត់
-- ម៉ាស៊ីនគាំទ្រតំបន់
-- ការវិលត្រឡប់ក្រាដីអង់តឹកប្លូ
-- មិត្តជិតខាង
-- ដំណើរការហ្គោស៊ីយ៉ង់
-- រុក្ខជាតិនិរន្តរភាព
-- វិធីសាស្រ្តក្រុម (voting Classifier)
-- អាល់ហ្គូរីធម៌ច្រើនថ្នាក់ និងច្រើនប្រភេទលទ្ធផល (multiclass and multilabel classification, multiclass-multioutput classification)
+- ម៉ូដែលរាងបន្ទាត់ (Linear Models)
+- ម៉ាស៊ីនពេញលេញគាំទ្រ (Support Vector Machines)
+- Stochastic Gradient Descent
+- អ្នកជិតខាងជិតបំផុត (Nearest Neighbors)
+- Gaussian Processes
+- សេចក្តីសម្រេចចិត្តដើមឈើ (Decision Trees)
+- វិធីសាស្រ្តក្រុមប្រឹក្សា (ensemble methods - voting Classifier)
+- អាល់ហ្គូរីធម៍មួយថ្នាក់ច្រើន និងចេញច្រើន (multiclass និង multilabel classification, multiclass-multioutput classification)
-> អ្នកក៏អាចប្រើ [បណ្ដាញណឺរ៉ាល់សម្រាប់ចាត់ថ្នាក់ទិន្នន័យ](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification) ដែរ ប៉ុន្តែវាអ្នកខុសពីស៊ក្តមេរៀននេះ។
+> អ្នកក៏អាចប្រើ [បណ្ដាញប្រសាទ (neural networks) សម្រាប់ចំរៀងទិន្នន័យ](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification) ប៉ុន្តែវាខាងក្រៅវិសាលភាពមេរៀននេះ។
-### តើត្រូវជ្រើសរើសកម្មវិធីចាត់ថ្នាក់ណា?
+### តើនឹងប្រើក្រុមចំរៀងណា?
-ដូច្នេះ អ្នកគួរជ្រើសរើសកម្មវិធីចាត់ថ្នាក់ណា? ជាញឹកញាប់ ការរត់តាមកម្មវិធីជាច្រើន ហើយសំរាប់ស្វែងរកលទ្ធផលល្អគឺជាវិធីសាកល្បងមួយ។ Scikit-learn នាំមកនូវ [ការប្រៀបធៀបប្រភេទជាក្បាលតាបផ្ទាំង](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) លើទិន្នន័យដែលបានបង្កើត ជាមួយទម្រង់ KNeighbors, SVC ជាផ្លូវពីរប្រភេទ, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB និង QuadraticDiscrinationAnalysis បង្ហាញលទ្ធផលជាមួយនឹងរូបភាព៖
+ហេតុអ្វីបានជា អ្នកគួរជ្រើសរើសក្រុមចំរៀង? ជាញឹកញាប់ ការរត់តាមរយៈអ្នកជាច្រើន ហើយដើម្បីរកលទ្ធផលល្អគឺជាវិធីសាកល្បងមួយ។ Scikit-learn ផ្ដល់ [ការប្រៀបធៀបមុខមាត់](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) នៅលើទិន្នន័យដែលបានបង្កើត ប្រើប្រាស់ KNeighbors, SVC ២ ប្រភេទ, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB និង QuadraticDiscrinationAnalysis នៅក្នុងពិពណ៌នារាងតាងគ្នា៖
-
-> គំនូសបង្ហាញត្រូវបានបង្កើតនៅលើឯកសារណែនាំរបស់ Scikit-learn
+
+> គំនូសតាងបង្កើតឡើងក្នុងឯកសាររបៀបប្រើរបស់ Scikit-learn
-> AutoML ដំណោះស្រាយបញ្ហានេះយ៉ាងត្រឹមត្រូវដោយរត់ការប្រៀបធៀបទាំងនេះនៅលើពពក អនុញ្ញាតឱ្យអ្នកជ្រើសរើសអាល់ហ្គូរីធម៌ល្អបំផុតសម្រាប់ទិន្នន័យរបស់អ្នក។ សូមសាកល្បង [នៅទីនេះ](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott)
+> AutoML ដោះស្រាយបញ្ហានេះដោយរត់ការប្រៀបធៀបទាំងនេះនៅក្នុងពពក ជួយឱ្យអ្នកជ្រើសរើសអាល់ហ្គូរីធម៍ល្អបំផុតសម្រាប់ទិន្នន័យរបស់អ្នក។ សាកល្បងបាន [ទីនេះ](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott)
-### វិធីល្អជាងនេះ
+### មុខងារល្អជាងនេះ
-វិធីល្អជាងការប៉ាន់ស្មានបែបចល័ត គឺតាមដានគំនិតនៅលើ [ប័ណ្ណ Cheat សម្រាប់ ML](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott) ដែលអាចទាញយកបាន។ នៅទីនេះ យើងស្វែងឃើញថា សម្រាប់បញ្ហាច្រើនថ្នាក់ អ្នកមានជម្រើសខ្លះ៖
+វិធីល្អជាងការព្យាយាមមូល ដោយគ្មានផ្ទៃ អាចជាមើលទៅតាមគំនិតនៅលើ [សន្លឹកជំនួយ ML Cheat sheet នេះ](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott) ដែលអ្នកអាចទាញយកបាន។ នៅទីនេះ អ្នករកឃើញថា សម្រាប់បញ្ហាប្រភេទ multiclass មានជម្រើសខ្លះៗ៖
-
-> ផ្នែកមួយនៃសៀវភៅ Cheat Algorithm របស់ Microsoft សង្ខេបជម្រើសចាត់ថ្នាក់ច្រើនថ្នាក់
+
+> ផ្នែកមួយនៃសន្លឹកបច្ចេកទេសម៉ាស៊ីនរៀនរបស់ Microsoft ពិពណ៌នាជម្រើសចំរៀង multiclass
-✅ ទាញយកសៀវភៅ Cheat នេះ ព្រីនភ្លាម ហើយដាក់វាឲ្យនៅលើជញ្ជាំងផ្ទះរបស់អ្នក!
+✅ ទាញយកសន្លឹកនេះ ម្រី.Print និងតាមដានវាលើជញ្ជាំងរបស់អ្នក!
-### ការពន្យល់
+### ហេតុផល
-មកមើលថាតើយើងអាចពន្យល់វិធីនានាក្រោមកំណត់តម្រូវបានណា៖
+មកមើលថាតើយើងអាចប្រើហេតុផលលើវិធីផ្សេងៗដោយផ្អែកលើកម្រិតដូចខាងក្រោម៖
-- **បណ្ដាញណឺរ៉ែលធ្ងន់ពេក**។ ប្រភេទទិន្នន័យស្អាត ប៉ុន្តិល្អិត បូកនឹងការដំណើរការហ្វឹកហាត់នៅក្នុងកុំព្យូទ័រសៀមទារគន៍ បណ្ដាញណឺរ៉េលធ្ងន់ពេកសម្រាប់ភារកិច្ចនេះ។
-- **គ្មានកម្មវិធីចាត់ពីរថ្នាក់**។ យើងមិនប្រើកម្មវិធីចាត់ពីរថ្នាក់ទេ ដូច្នេះមិនអាចប្រើ one-vs-all បាន។
-- **រុក្ខជាតិចំណេក ឬបម្រែបម្រួលលូជាក់លាក់អាចបានប្រើ**។ រុក្ខជាតិនិរន្តរភាពអាចធ្វើការ ឬបម្រែបម្រួលលូជាក់លាក់សម្រាប់ទិន្នន័យច្រើនថ្នាក់។
-- **រុក្ខជាតិចំណេកបង្រៀបពហុថ្នាក់ដោះស្រាយបញ្ហាផ្សេង**។ រុក្ខជាតិចំណេកបង្រៀបពហុថ្នាក់សមស្របសម្រាប់ភារកិច្ចមិនប៉ារ៉ាម៉ែត្រ ឧ. សម្រាប់សមាសធាតុបង្កើតលំដាប់ ដូច្នេះវាមិនមានអត្ថប្រយោជន៍សម្រាប់យើងទេ។
+- **បណ្ដាញប្រសាទធ្ងន់ពេក**។ ពីព្រោះទិន្នន័យរបស់យើងស្អាត បូមតិច ហើយការបណ្តុះបណ្តាលធ្វើនៅកន្លែងនីមួយៗ តាមរយៈកំណត់ត្រា notebook បណ្ដាញប្រសាទធ្ងន់ពេកសម្រាប់ភារកិច្ចនេះ។
+- **មិនប្រើក្រុមចំរៀងពីរថ្នាក់**។ យើងមិនប្រើក្រុមចំរៀងពីរថ្នាក់ ដូច្នេះមិនអាចប្រើ one-vs-all ទេ។
+- **ដើមឈើសម្រេចចិត្ត ឬ logistic regression អាចដំណើរការ**។ ដើមឈើសម្រេចចិត្តអាចដំណើរការ ឬ logistic regression សម្រាប់ទិន្នន័យ multiclass។
+- **Multiclass Boosted Decision Trees ដំណោះស្រាយបញ្ហាផ្សេង**។ Multiclass boosted decision tree សាកសមសម្រាប់ភារកិច្ចគ្មានប៉ារ៉ាម៉ែត្រ ឧ. ភារកិច្ចបង្កើតតារាងជាដើម ដូច្នេះវាមិនប្រើបានសម្រាប់យើងទេ។
-### ប្រើប្រាស់ Scikit-learn
+### ការប្រើប្រាស់ Scikit-learn
-យើងនឹងប្រើ Scikit-learn សម្រាប់វិភាគទិន្នន័យរបស់យើង។ ទោះជាយ៉ាងណាក៏ដោយ មានវិធីជាច្រើនសម្រាប់ប្រើប្រាស់បម្រែបម្រួលលូជាក់លាក់នៅក្នុង Scikit-learn។ សូមពិនិត្យមើល [ប៉ារ៉ាម៉ែត្រ](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression) ដែលត្រូវបញ្ជូន។
+យើងនឹងប្រើ Scikit-learn សម្រាប់វិភាគទិន្នន័យ។ ទោះយ៉ាងណា មានវិធីច្រើនក្នុងការប្រើ logistic regression ក្នុង Scikit-learn។ សូមមើល [ប៉ារ៉ាម៉ែត្រ](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression) ដែលត្រូវផ្ដល់។
-ចម្បងមានប៉ារ៉ាម៉ែត្រ ពីរដ៏សំខាន់ - `multi_class` និង `solver` - ដែលយើងត្រូវកំណត់ ពេលឲ្យ Scikit-learn ធ្វើបម្រែបម្រួលលូជាក់លាក់។ តម្លៃ `multi_class` កំណត់អាកប្បកិរិយាមួយ។ តម្លៃ `solver` ជាអាល់ហ្គូរីធម៌ដែលប្រើប្រាស់។ មិនទាំងអស់លក្ខណៈអាល់ហ្គូរីធម៌អាចប្រើជាមួយ `multi_class` ទាំងអស់បានទេ។
+សំខាន់គឺមានប៉ារ៉ាម៉ែត្រ ២ - `multi_class` និង `solver` - ដែលយើងត្រូវកំណត់នៅពេលសុំឱ្យ Scikit-learn ប្រតិបត្តិ logistic regression។ តម្លៃ `multi_class` បញ្ជាក់អំពីតម្រូវការមួយ។ តម្លៃ `solver` ជាអាល់ហ្គូរីធម៍ដែលត្រូវប្រើ។ មិនមែនគ្រប់ solver អាចប្រើជាមួយតម្លៃ `multi_class` ទាំងអស់បានទេ។
-តាមការពិពណ៌នា ក្នុងករណីច្រើនថ្នាក់ អាល់ហ្គូរីធម៌ហ្វឹកហាត់៖
+យោងតាមឯកសារ ក្នុងករណី multiclass អាល់ហ្គូរីធម៍បណ្តុះបណ្តាល៖
-- **ប្រើផែនការមួយ-vs-សល់ (OvR)** ប្រសិនបើជម្រើស `multi_class` ដាក់តម្លៃជា `ovr`
-- **ប្រើការបាត់បង់ក្រូសអេនត្រូពី (cross-entropy loss)** ប្រសិនបើជម្រើស `multi_class` ដាក់តម្លៃជា `multinomial`។ (ពេលនេះជម្រើស `multinomial` គឺគ្រប់គ្រងតែដោយ ‘lbfgs’, ‘sag’, ‘saga’ និង ‘newton-cg’ solvers ទេ)"
+- **ប្រើវិធី one-vs-rest (OvR)** ប្រសិនបើ `multi_class` ត្រូវបានកំណត់ជាសោភាគ `ovr`
+- **ប្រើបាត់បង់ cross-entropy** ប្រសិនបើ `multi_class` ត្រូវបានកំណត់ជាសោភាគ `multinomial`។ (បច្ចុប្បន្ន, ជម្រើស `multinomial` គាំទ្រដោយ solvers `lbfgs`, `sag`, `saga` និង `newton-cg` តែម្តង។)"
-> 🎓 "ផែនការ" នៅទីនេះអាចជាមួយ ‘ovr’ (មួយ-vs-សល់) ឬ ‘multinomial’។ ព្រោះបម្រែបម្រួលលូជាក់លាក់គឺពិតជាត្រូវបង្កើតសម្រាប់ចំណាត់ថ្នាក់ពីរថ្នាក់ schemes ទាំងនេះអនុញ្ញាតឲ្យវាទ្រទ្រង់ល្អប្រសើរក្នុងរៀបចំច្រើនថ្នាក់បាន។ [ប្រភព](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/)
+> 🎓 វិធីសាស្រ្ត 'scheme' នៅទីនេះអាចជា 'ovr' (one-vs-rest) ឬ 'multinomial'។ ពីព្រោះ logistic regression គិតគឺរចនាឡើងសម្រាប់ចំរៀងពីរជំរើស ប៉ុន្តែលំហែ ផែនការនេះអាចជួយដល់ការចំរៀង multiclass។ [ប្រភព](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/)
-> 🎓 "Solver" កំណត់ថា "អាល់ហ្គូរីធម៌ដែលត្រូវប្រើក្នុងបញ្ហាគណនាងារអុបទីម៉ិច"។ [ប្រភព](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression).
+> 🎓 'solver' ត្រូវបានកំណត់ថា "អាល់ហ្គូរីធម៍ដែលប្រើសម្រាប់បញ្ហាកំណត់អត្តសញ្ញាណ"។ [ប្រភព](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression).
-Scikit-learn ផ្តល់តារាងនេះដើម្បីពន្យល់ពីរបៀបដែល solvers ដោះស្រាយករណីប្រឈមផ្សេងៗរបស់រចនាសម្ព័ន្ធទិន្នន័យផ្ទាំងផ្សេងៗ៖
+Scikit-learn ផ្ដល់តារាងនេះដើម្បីពន្យល់ពីរបៀបដែល solvers ដោះស្រាយបញ្ហាតាមរយៈរចនាសម្ព័ន្ធទិន្នន័យផ្សេងៗ៖

-## លំហាត់ - បំបែកទិន្នន័យ
+## ធ្វើហាត់ - ផែក្នុងទិន្នន័យ
-យើងអាចផ្តោតលើបម្រែបម្រួលលូជាក់លាក់សម្រាប់លំហាត់ហ្វឹកហាត់ដំបូង គឺបានរៀនកន្លងមក។
-
-បំបែកទិន្នន័យរបស់អ្នកជាក្រុមហ្វឺងហ្វឺន និងក្រុមតេស្ត ដោយហៅ `train_test_split()`៖
+យើងអាចផ្នែកទិន្នន័យទៅក្រុមបណ្តុះបណ្តាល និងក្រុមសាកល្បង ដោយហៅ `train_test_split()`៖
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
```
-## លំហាត់ - ប្រើបម្រែបម្រួលលូជាក់លាក់
-
-ដោយសារតែអ្នកកំពុងប្រើករណីច្រើនថ្នាក់ អ្នកត្រូវជ្រើសរើស _ផែនការ_ មួយ និង _solver_ មួយ។
+## ធ្វើហាត់ - ប្រើ logistic regression
-ប្រើ LogisticRegression ជាមួយកំណត់ multiclass ហើយជ្រើស `liblinear` solver សម្រាប់ហ្វឹកហាត់។
+ដោយសារតែអ្នកប្រើกรณี multiclass អ្នកត្រូវជ្រើសរើស _scheme_ មួយ និង _solver_ មួយ។ ប្រើ LogisticRegression ជាមួយការកំណត់ multiclass និង solver ជា **liblinear** ដើម្បីបណ្តុះបណ្តាល។
-1. បង្កើតបម្រែបម្រួលលូជាក់លាក់ ដែល `multi_class` ដាក់ `ovr` និង solver ដាក់ `liblinear`៖
+1. បង្កើត logistic regression ជាមួយ `multi_class` កំណត់ជា `ovr` និង `solver` កំណត់ជា `liblinear`៖
```python
lr = LogisticRegression(multi_class='ovr',solver='liblinear')
@@ -166,28 +162,28 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
print ("Accuracy is {}".format(accuracy))
```
- ✅ សាកល្បង solver ផ្សេងៗដូចជា `lbfgs` ដែលភាគច្រើនត្រូវបានកំណត់ជាធរមាន
+ ✅ សាកល្បង solver ផ្សេងទៀតដូចជា `lbfgs` ដែលជាការកំណត់លំនាំដើមជាញឹកញាប់។
- > ចំណាំ សូមប្រើ Pandas [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) ដើម្បីបង្រួមទិន្នន័យ ប្រសិនបើចាំបាច់។
+ > កំណត់សម្គាល់ ប្រើមុខងារ Pandas [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) ដើម្បីបង្រួមទិន្នន័យរបស់អ្នកពេលត្រូវការ។
- ភាពត្រឹមត្រូវល្អ ច្រើនជាង **80%**!
+ ភាពត្រឹមត្រូវល្អជាង **៨០%**!
-1. អ្នកអាចមើលម៉ូដែលនេះដំណើរការដោយសាកល្បងជួរដេក មួយ (#50):
+1. អ្នកអាចមើលម៉ូដែលនេះដំណើរការដោយសាកល្បងមួយជំរើស (#50):
```python
print(f'ingredients: {X_test.iloc[50][X_test.iloc[50]!=0].keys()}')
print(f'cuisine: {y_test.iloc[50]}')
```
- លទ្ធផលត្រូវបានបោះពុម្ព:
+ លទ្ធផលបង្ហាញ៖
```output
ingredients: Index(['cilantro', 'onion', 'pea', 'potato', 'tomato', 'vegetable_oil'], dtype='object')
cuisine: indian
```
- ✅ សាកល្បងជួរឈរផ្សេងៗ ហើយពិនិត្យលទ្ធផល
-1. ជ្រាបចូលជាងនេះ អ្នកអាចពិនិត្យមើលភាពត្រឹមត្រូវនៃការទាយនេះ៖
+ ✅ សាកល្បងជួរលេខផ្សេងទៀត ហើយពិនិត្យលទ្ធផល។
+1. ការចាក់ចូលជ្រៅ, អ្នកអាចពិនិត្យមើលភាពត្រឹមត្រូវនៃការព្យាករណ៍នេះ៖
```python
test= X_test.iloc[50].values.reshape(-1, 1).T
@@ -199,7 +195,7 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
topPrediction.head()
```
- លទ្ធផលត្រូវបានបោះពុម្ព - ម្ហូបឥណ្ឌា គឺជាការសន្និដ្ឋានល្អបំផុត រួមមានប្រហែលមានភាពជាក់លាក់ល្អ៖
+ លទ្ធផលត្រូវបានបោះពុម្ព - មុខម្ហូបឥណ្ឌា គឺការព្យាករណ៍ល្អបំផុតរបស់វា មានលទ្ធភាពល្អ៖
| | 0 |
| -------: | -------: |
@@ -209,9 +205,9 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
| korean | 0.017277 |
| thai | 0.007634 |
- ✅ តើអ្នកអាចពន្យល់បានទេថាហេតុអ្វីបានជាគំរូនេះជឿជាក់ថា នេះគឺជាម្ហូបឥណ្ឌា?
+ ✅ តើអ្នកអាចពន្យល់ថា ហេតុអ្វីបានជា ម៉ូដែលប្រាកដជាមានចិត្តថាផលិតផលនេះគឺម្ហូបឥណ្ឌា?
-1. ទទួលបានព័ត៌មានលម្អិតបន្ថែម ដោយបោះពុម្ពរបាយការណ៍ចាត់ថ្នាក់ ដូចអ្នកបានធ្វើនៅមេរៀនរេហ្គ្រេស្យុង:
+1. ទទួលបានព័ត៌មានលម្អិតបន្ថែមដោយបោះពុម្ពរបាយការណ៍ចំណាត់ថ្នាក់ ដូចដែលអ្នកបានធ្វើនៅមេរៀនស្តីពីការបង្រួមសមាមាត្រ៖
```python
y_pred = model.predict(X_test)
@@ -225,20 +221,20 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
| japanese | 0.70 | 0.75 | 0.72 | 220 |
| korean | 0.86 | 0.76 | 0.81 | 242 |
| thai | 0.79 | 0.85 | 0.82 | 254 |
- | accuracy | 0.80 | 1199 | | |
+ | accuracy | | | 0.80 | 1199 |
| macro avg | 0.80 | 0.80 | 0.80 | 1199 |
| weighted avg | 0.80 | 0.80 | 0.80 | 1199 |
-## 🚀Challenge
+## 🚀ការប្រកួតប្រជែង
-នៅក្នុងមេរៀននេះ អ្នកបានប្រើទិន្នន័យសំអាតរបស់អ្នក ដើម្បីបង្កើតគំរូរៀនម៉ាស៊ីនដែលអាចទាយម្ហូបជាតិសញ្ជាតិមួយដោយផ្អែកលើរបៀបជ្រើសរើសគ្រឿងផ្សំមួយចំនួន។ ចំណាយពេលមួយតិច ដើម្បីអានក្រមជាច្រើនដែល Scikit-learn ផ្តល់ជូនសម្រាប់ចាត់ថ្នាក់ទិន្នន័យ។ ជ្រាបចូលលម្អិតពីមូលដ្ឋាននៃ 'solver' ដើម្បីយល់ពីអ្វីដែលកើតមាននៅខាងក្រោយមុខងារ។
+នៅក្នុងមេរៀននេះ អ្នកបានប្រើទិន្នន័យដែលបានសម្អាតរួច ដើម្បីបង្កើតម៉ូដែលរៀនដោយម៉ាស៊ីនមួយ ដែលអាចព្យាករណ៍មុខម្ហូបជាតិតាមបច្ចេកទេសជាជួរដោយផ្អែកលើគ្រឿងផ្សំជាច្រើន។ ចំណាយពេលអានតាមជម្រើសជាច្រើនដែល Scikit-learn ផ្ដល់ជូនសម្រាប់ចំណាត់ថ្នាក់ទិន្នន័យ។ ចាក់បញ្ចូលជ្រៅក្នុងគំនិត 'solver' ដើម្បីយល់ពីអ្វីដែលកើតឡើងនៅខាងក្រោយឆាក។
-## [តេស្តបន្ទាប់មេរៀន](https://ff-quizzes.netlify.app/en/ml/)
+## [សំនួរបន្ទាប់មេរៀន](https://ff-quizzes.netlify.app/en/ml/)
-## ពិនិត្យឡើងវិញ និង រៀនដោយខ្លួនឯង
+## សរុប & សិក្សាឯក្យ
-ជ្រាបចូលជ្រៅបន្ថែមពីគណិតវិទ្យាខាងក្រោយលូជាឡូជីស្ទិច regression នៅ [មេរៀននេះ](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf)
-## កិច្ចការផ្ទះ
+ចាក់បញ្ចូលជ្រៅជាងនេះទៀតចំពោះគណិតវិទ្យាខាងក្រោយនៃការបង្រួមសមាមាត្រ នៅក្នុង [មេរៀននេះ](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf)
+## ភារកិច្ច
[សិក្សាអំពី solvers](assignment.md)
@@ -246,5 +242,5 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
**ការបដិសេធ**៖
-ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំសម្រាប់ភាពត្រឹមត្រូវ សូមជ្រាបថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមនៅភាសាម្ចាស់ត្រូវបានគេពិចារណាថាជាឯកសារដើមដែលមានអនុភាព។ សម្រាប់ព័ត៌មានសំខាន់ៗ គួរតែប្រើការបកប្រែដោយមនុស្សឯកទេសជាប់ផ្លូវការជាជម្រើសល្អបំផុត។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែឆ្គងណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
+ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងព្យាយាមឲ្យបានច្បាស់លាស់ សូមយល់ថាការបកប្រែដោយស្វ័យប្រវត្តិនេះអាចមានកំហុស ឬការមិនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាដើមគេគួរត្រូវបានចាត់ទុកថាជាធនធានមានអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ៗ ការបកប្រែដោយមនុស្សជំនាញត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំនូវអ្វីៗណាមួយ ឬការបកប្រែខុសដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
\ No newline at end of file
diff --git a/translations/km/README.md b/translations/km/README.md
index 4ed9c4ec3..97e1077fb 100644
--- a/translations/km/README.md
+++ b/translations/km/README.md
@@ -10,14 +10,14 @@
### 🌐 ការគាំទ្រភាសាច្រើន
-#### គាំទ្រដោយ GitHub Action (ស្វ័យប្រវត្តិ និងតែងតែទាន់សម័យ)
+#### គាំទ្រដោយរយៈ GitHub Action (ដោយស្វ័យប្រវត្តិ និងតែងតែទាន់សម័យ)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](./README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
-> **ចង់ Clone នៅក្នុងកុំព្យូទ័ររបស់អ្នក?**
+> **ចូលចិត្ត Clone តាមកុំព្យូទ័រដោយផ្ទាល់?**
>
-> តំបន់រក្សាទុកនេះមានការប្រែសម្រួលជាភាសាច្រើនជាង 50 ដែលធ្វើឲ្យទំហំទាញយកធំជាងមុន។ ដើម្បី clone ដោយមិនមានការប្រែសម្រួល សូមប្រើ sparse checkout:
+> ឃ្លាំងនេះរួមបញ្ចូលការប្រែសម្រួលជាមុខងារភាសាច្រើនជាង ៥០ ដែលបង្កើនទំហំទាញយកយ៉ាងច្រើន។ ដើម្បី clone ដោយគ្មានការប្រែសម្រួល, សូមប្រើ sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@@ -33,184 +33,214 @@
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
-> នេះនឹងផ្តល់អ្វីដែលអ្នកត្រូវការរៀនវគ្គនេះបានលឿនជាងមុន។
+> នេះនឹងផ្តល់អ្នកទាំងអស់ដែលអ្នកត្រូវការដើម្បីបញ្ចប់វគ្គនេះដោយមានការទាញយករហ័សជាងមុន។
-#### ចូលរួមជាជនរួមចំណេះដឹងរបស់យើង
+#### ចូលរួមសហគមន៍របស់យើង
[](https://discord.gg/nTYy5BXMWG)
-យើងមានស៊េរី Discord សម្រាប់រៀនជាមួយ AI ទៅមុខ កុំភ្លេចបន្ទាប់ពីស្វែងយល់ និងចូលរួមជាមួយយើងនៅ [Learn with AI Series](https://aka.ms/learnwithai/discord) ចាប់ពីថ្ងៃទី ១៨ ដល់ ៣០ ខែកញ្ញា ឆ្នាំ ២០២៥។ អ្នកនឹងទទួលបានគន្លឹះ និងយុទ្ធសាស្រ្តក្នុងការប្រើ GitHub Copilot សម្រាប់វិទ្យាសាស្រ្តទិន្នន័យ។
+យើងមានស៊េរី Discord រៀនជាមួយ AI កំពុងបន្តនៅឡើយ, សូមរៀនបន្ថែម និងចូលរួមជាមួយយើង នៅ [Learn with AI Series](https://aka.ms/learnwithai/discord) ចាប់ពី 18 ដល់ 30 ខែកញ្ញា, 2025។ អ្នកនឹងទទួលបានក្បួននិងល្បិចក្នុងការប្រើប្រាស់ GitHub Copilot សម្រាប់វិទ្យាសាស្ត្រទិន្នន័យ។

-# ការសិក្សាពី Machine Learning សម្រាប់អ្នកថ្មី - មេរៀនមួយជាថ្នាក់សិក្សា
+# ម៉ាស៊ីនរៀនសម្រាប់អ្នកចាប់ផ្តើម - មេរៀនមួយសិក្ខាសាលា
-> 🌍 ស្មើរតាមការធ្វើដំណើរជុំវិញពិភពលោក ខណៈពេលដែលយើងសិក្សាពី Machine Learning តាមរយៈវប្បធម៌ពិភពលោក 🌍
+> 🌍 ប្រាស្រ័យទំនាក់ទំនងជុំវិញពិភពលោក ខណៈពេលយើងស្វែងយល់អំពីម៉ាស៊ីនរៀនតាមរយៈវប្បធម៌ពិភពលោក 🌍
-អ្នកផ្សព្វផ្សាយ Cloud នៅ Microsoft មានមោទនភាពក្នុងការផ្តល់ជូនមេរៀនមួយរយៈពេល ១២ សប្ដាហ៍ មាន ២៦ មេរៀន ដែលទាក់ទងទៅនឹង **Machine Learning**។ ក្នុងមេរៀននេះ អ្នកនឹងរៀនអំពីអ្វីដែលហៅថា **machine learning ជាទំនើប**, ប្រើសាកល្បង Scikit-learn ជាផ្នែកសំខាន់ ដោយលែងប្រើ deep learning ដែលបានគ្របដណ្តប់ក្នុងមេរៀន [AI សម្រាប់អ្នកថ្មី](https://aka.ms/ai4beginners) របស់យើង។ អ្នកអាចផ្គូផ្គងមេរៀនទាំងនេះជាមួយ [Data Science សម្រាប់អ្នកថ្មី](https://aka.ms/ds4beginners) ដែរ។
+ក្រុម Cloud Advocates នៅ Microsoft មានសេចក្ដីរំភើបផ្តល់ជូនមេរៀន ១២ សប្តាហ៍ ២៦ ចំណងជើងទាំងអស់ស្ដីពី **ម៉ាស៊ីនរៀន**។ ក្នុងមេរៀននេះ អ្នកនឹងរៀនអំពីអ្វីដែលគេស្គាល់ថា **ម៉ាស៊ីនរៀនចាស់** បន្ទាប់ពីប្រើប្រាស់សៀករីតឡើនជាលក្ខណៈបណ្ណាល័យ និងជៀសវាងការរៀនជ្រៅ ដែលបានគ្របដណ្តប់នៅក្នុង [AI for Beginners’ curriculum](https://aka.ms/ai4beginners)។ និងភ្ជាប់មេរៀនទាំងនេះជាមួយ ['Data Science for Beginners' curriculum](https://aka.ms/ds4beginners) ផងដែរ។
-ធ្វើដំណើរជុំវិញពិភពលោករួមជាមួយយើង ខណៈពេល ដែលយើងអនុវត្តបច្ចេកទេសបុរាណទាំងនេះទៅលើយោងតាមទិន្នន័យពីតំបន់នានារបស់ពិភពលោក។ មេរៀននីមួយៗមានការធ្វើតេស្តមុននិងក្រោយមេរៀន, ការណែនាំអត្ថបទដើម្បីបញ្ចប់មេរៀន, ដំណោះស្រាយ, ការចាត់តាំងមុខងារ, និងផ្សេងៗទៀត។ វិធីសាស្រ្តបង្រៀនផ្អែកលើគម្រោង អនុញ្ញាតឲ្យអ្នករៀនដោយប្រើការសាងសង់គម្រោង ការាមួយមានកំណត់អានុភាពសម្រាប់ជំនាញថ្មីៗ។
+ធ្វើដំណើរជាមួយយើងជុំវិញពិភពលោក ខណៈយើងអនុវត្តបច្ចេកទេសចាស់ទាំងនេះលើទិន្នន័យពីតំបន់ជាច្រើននៅពិភពលោក។ មេរៀននិមួយៗរួមបញ្ចូលការប្រលងមុននិងក្រោយម៉ោងរៀន, ការណែនាំជាឡាយខេីបសម្រាប់បញ្ចប់មេរៀន, ដំណោះស្រាយមួយ, ការងារទៅមុខ និងផ្សេងៗទៀត។ វិធីសាស្រ្តបង្រៀនផ្អែកលើគម្រោងយើងអនុញ្ញាតឲ្យអ្នករៀនពេលកំពុងសាងសង់ ដែលជាវិធីបានបញ្ជាក់ថាជួយឲ្យជំនាញថ្មីៗ "នៅច្របល់" ។
-**✍️ អរគុណក្នុងពីរនាក់អ្នកនិពន្ធ** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu និង Amy Boyd
+**✍️ អរគុណយ៉ាងខ្លាំងចំពោះអ្នកនិពន្ធរបស់យើង** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu និង Amy Boyd
-**🎨 អរគុណចំពោះអ្នកគំនូររូប** Tomomi Imura, Dasani Madipalli និង Jen Looper
+**🎨 អរគុណផងដល់អ្នកគូររូបភាព** Tomomi Imura, Dasani Madipalli, និង Jen Looper
-**🙏 អរគុណពិសេស 🙏 ចំពោះអ្នកនិពន្ធ ពិនិត្យ និងបរិច្ចាគមាតិកា Microsoft Student Ambassador** យ៉ាងដាច់ខាត Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila និង Snigdha Agarwal
+**🙏 អរគុណពិសេស 🙏 ចំពោះ Microsoft Student Ambassador អ្នកនិពន្ធ ពិនិត្យជាតិ និងអ្នកផ្តល់មាតិកា**, មានរួមទាំង Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, និង Snigdha Agarwal
-**🤩 ការគោរពបន្ថែមចំពោះ Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, និង Vidushi Gupta សម្រាប់មេរៀន R របស់យើង!**
+**🤩 អរគុណបន្ថែមចំពោះ Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, និង Vidushi Gupta សម្រាប់មេរៀន R របស់យើង!**
-# ចាប់ផ្តើម
+# ការចាប់ផ្តើម
អនុវត្តតាមជំហានទាំងនេះ៖
-1. **Fork Repository**: ចុចប៊ូតុង "Fork" នៅមុខតំណខាងលើ-ស្ដាំទំព័រនេះ។
-2. **Clone Repository**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
+1. **Fork ឃ្លាំង**: ចុចប៊ូតុង "Fork" នៅជ្រុងខាងត្បូងស្តាំនៃទំព័រនេះ។
+2. **Clone ឃ្លាំង**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
-> [ស្វែងរកធនធានបន្ថែមទាំងអស់សម្រាប់វគ្គសិក្សានេះនៅក្នុងមហាសគររបស់ Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
+> [ស្វែងរកធនធានបន្ថែមទាំងអស់សម្រាប់វគ្គនេះនៅក្នុងអង្គភាព Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
-> 🔧 **តើអ្នកត្រូវការជំនួយទេ?** សូមពិនិត្យមើល [មេរៀនដោះស្រាយបញ្ហា](TROUBLESHOOTING.md) សម្រាប់រកដំណោះស្រាយបញ្ហាទូទៅនៅពេលដំឡើង កំណត់ និងរត់មេរៀន។
+> 🔧 **ត្រូវការជំនួយ?** ពិនិត្យមើល [មគ្គុទេសក៍ដោះស្រាយបញ្ហា](TROUBLESHOOTING.md) របស់យើងសម្រាប់ដំណោះស្រាយបញ្ហាទូទៅស្តីពីការតំឡើង ការតំរូវ និងការប្រតិបត្តិមេរៀន។
+**[សិស្ស](https://aka.ms/student-page)**, ដើម្បីប្រើប្រាស់មេរៀននេះ សូម fork រួមទាំងឃ្លាំងទៅគណនេយ្យ GitHub របស់អ្នក ហើយបញ្ចប់លំហាត់ដោយផ្ទាល់ខ្លួនឬជាក្រុម៖
-**[សិស្ស](https://aka.ms/student-page)** សម្រាប់ប្រើមេរៀននេះ សូម fork សារពើភ័ណ្ឌទាំងមូលទៅគណនី GitHub ផ្ទាល់ខ្លួនរបស់អ្នក ហើយបញ្ចប់លំហាត់ដោយខ្លួនឯង ឬជាក្រុម៖
+- ចាប់ផ្តើមជាមួយការប្រលងមុនម៉ោងរៀន។
+- អានម៉ោងរៀន និងបញ្ចប់សកម្មភាពខ្លះៗ ដោយឈប់ និងពិចារណានៅពេលត្រួតពិនិត្យចំណេះដឹងនិមួយៗ។
+- ព្យាយាមបង្កើតគម្រោងដោយឱ្យយល់ពីមេរៀន ជាជាងរត់កូដដំណោះស្រាយ។ ទោះយ៉ាងไรก็ตาม កូដនោះមាននៅក្នុងថត `/solution` នៃមេរៀនដែលផ្អែកលើគម្រោងនិមួយៗ។
+- ធ្វើតេស្តក្រោយម៉ោងរៀន។
+- បញ្ចប់ការប្រកួត។
+- បញ្ចប់កិច្ចការងារ។
+- បន្ទាប់ពីបញ្ចប់ក្រុមមេរៀនមួយ សូមចូលទៅកាន់ [ចំវេនចំរាស](https://github.com/microsoft/ML-For-Beginners/discussions) ហើយ "រៀនដោយឡើងសំឡេង" ដោយបំពេញរូបមន្ត PAT ដែលសមស្រប។ 'PAT' គឺជាឧបករណ៍វាយតម្លៃអំពីវឌ្ឍនភាព ដែលជារូបមន្តអ្នកបំពេញដើម្បីបន្តការរៀន។ អ្នកអាចផ្ទេរតបនឹង PATs របស់អ្នកដទៃ ដើម្បីឲ្យយើងរៀនរួមគ្នា។
-- ចាប់ផ្តើមដោយសំនួរប្រឡងមុនមេរៀន។
-- អានមេរៀន និងបញ្ចប់សកម្មភាព ជាប់ជាមួយការបញ្ឈប់ និងគិតពិចារណានៅកម្រិតរាល់ការត្រួតពិនិត្យចំណេះដឹង។
-- ព្យាយាមបង្កើតគម្រោងដោយយល់ដឹងល្អពីមេរៀន ជំនួសការរត់កូដដំណោះស្រាយ។ ទោះយ៉ាងណាកូដសម្រាប់ដំណោះស្រាយមានក្នុងថត `/solution` នៅមេរៀនផ្អែកលើគម្រោង។
-- ធ្វើតេស្តក្រោយមេរៀន។
-- បញ្ចប់ការប្រកួតប្រជែង។
-- បញ្ចប់ការចាត់តាំងមុខងារ។
-- បន្ទាប់ពីបញ្ចប់មេរៀនក្នុងកញ្ចប់ មកមើល [ក្រុមហ៊ុនប្រជុំ](https://github.com/microsoft/ML-For-Beginners/discussions) ហើយ "រៀនចេញកាយ" ដោយបំពេញប័ណ្ណ PAT ដែលសាកសម។ PAT គឺជា Progress Assessment Tool ជាប័ណ្ណសម្រាប់អ្នកបំពេញដើម្បីពង្រីកការសិក្សារបស់អ្នក។ អ្នកក៏អាចឆ្លើយតបជាមួយ PAT ផ្សេងទៀត ដើម្បីឲ្យយើងអាចរៀនរួមគ្នា។
+> សម្រាប់ការសិក្សាបន្ថែម យើងផ្តល់អនុសាសន៍ឲ្យតាមដាន [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) ម៉ូឌុលនិងផ្លូវរៀន។
-> សម្រាប់ការសិក្សាបន្ថែម យើងសូមផ្តល់អនុសាសន៍ឲ្យតាមដានវគ្គសិក្សា និងផ្លូវការសិក្សា [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) លើសពីនេះ។
-
-**អ្នកសិក្សា**, យើងមានការផ្ដល់អនុសាសន៍មួយចំនួនក្នុង [របៀបប្រើប្រាស់មេរៀននេះ](for-teachers.md)។
+**គ្រូបង្រៀន**, យើងមាន [បានបញ្ចូលការណែនាំខ្លះៗ](for-teachers.md) អំពីវិធីប្រើប្រាស់មេរៀននេះ។
---
-## វីដេអូបង្ហាញ
+## វីដេអូដំណើរ
-មេរៀនខ្លះមានវីដេអូខ្លីសម្រាប់សម្រួលក្នុងការសិក្សា។ អ្នកអាចរកឃើញវីដេអូទាំងនេះក្នុងមេរៀន ឬនៅលើ [បញ្ចីភាគី ML សម្រាប់អ្នកថ្មី នៅ លើប៉ុស្តិ៍ YouTube Microsoft Developer](https://aka.ms/ml-beginners-videos) ដោយចុចលើរូបភាពខាងក្រោម។
+មេរៀនខ្លះមានភាពខ្លីជាវីដេអូ។ អ្នកអាចរកវាបាននៅក្នុងមេរៀនឬនៅលើ [ផ្ទាំងវីដេអូ ML for Beginners នៅលើចោណាល Microsoft Developer YouTube](https://aka.ms/ml-beginners-videos) ដោយចុចលើរូបភាពខាងក្រោម។
[](https://aka.ms/ml-beginners-videos)
---
-## ជួបមក្រុមការងារ
+## ស្គាល់ក្រុមការងារ
[](https://youtu.be/Tj1XWrDSYJU)
-**Gif ដោយ** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
+**រូបភាព Gif ដោយ** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
-> 🎥 ចុចរូបភាពខាងលើសម្រាប់មើលវីដេអូអំពីគម្រោង និងមនុស្សដែលបានបង្កើតវា!
+> 🎥 ចុចលើរូបភាពខាងលើសម្រាប់វីដេអូអំពីគម្រោង និងមនុស្សដែលបានបង្កើតវា!
---
-## វិធានសិក្សា
+## វិធីបង្រៀន
-យើងបានជ្រើសរើសគោលការណ៍បង្រៀនពីរដើម្បីកសាងមេរៀននេះ៖ លើកទឹកចិត្តឲ្យមានការអនុវត្តគម្រោង **ផ្អែកលើគម្រោង** និងមាន **ការប្រឡងឆាប់ៗជាញឹកញាប់**។ លើសពីនេះ មេរៀននេះមានប្រធានបទរួម មួយ ដើម្បីធ្វើឲ្យមានភាពរួមគ្នា។
+យើងបានជ្រើសរើសទស្សនៈបង្រៀនពីរយ៉ាងនៅពេលបង្កើតមេរៀននេះ៖ ធានាថាវាជា **គម្រោងអនុវត្ត** ហើយមាន **តេស្តញឹកញាប់**។ ជាមួយគ្នា មេរៀននេះមាន **ប្រធានបទ** រួម ដើម្បីបង្កើតភាពចង៖
-ដោយធានាថាមាតិកាត្រូវនឹងគម្រោង នេះធ្វើឲ្យដំណើរការមានភាពពិសេសសម្រាប់សិស្ស និងរក្សាប្រយោជន៍ភាគពាក់នៃគំនិតស្វែងយល់។ លើសពីនេះ ការប្រឡងមានភាពតិចតួចមុនវគ្គសិក្សា កំណត់គោលបំណងរបស់សិស្សចំពោះការរៀនមុខវិជ្ជា មួយ ចំណែកការប្រឡងទីពីរបន្ទាប់ពីវគ្គសិក្សាសម្រេចថាមានការរក្សារយៈពេលយូរ។ មេរៀននេះត្រូវបានរចនាឡើងឲ្យមានភាពបត់បែន និងរីករាយ ហើយអាចរៀនបានទាំងមូល ឬផ្នែកខ្លះតាមបំណង។ គម្រោងចាប់ផ្តើមពីតូចទៅធំឡើង តាមរយៈរយៈពេល ១២ សប្ដាហ៍។ មេរៀននេះក៏មានផ្នែកបន្ថែមអំពីការអនុវត្តជាក់ស្តែងនៃ ML ដែលអាចប្រើសម្រាប់ក្រឡេកឥណទានបន្ថែម ឬជាជម្រើសសម្រាប់ការពិភាក្សា។
+ដោយធានាថាមាតិការភ្ជាប់ជាមួយគម្រោង ដំណើរនេះនឹងធ្វើឲ្យសិស្សមានការចូលរួមខ្លាំងនិងជំនួយឲ្យចងចាំគំនិតបានល្អ។ លើសពីនេះទៀត តេស្តស្រោចស្រង់មុនថ្នាក់សិក្សាគឺដើម្បីបណ្តុះបណ្តាលចិត្តក្តីចង់រៀន និងតេស្តទីពីរបន្ទាប់ពីថ្នាក់ជួយការចងចាំបន្ថែមទៀត។ មេរៀននេះត្រូវបានរចនាឡើងឲ្យមានភាពបត់បែន និងរីករាយ ហើយអាចយកសព្វគ្រប់វឬខ្លះៗយ៉ាងម៉ត់ចត់។ គម្រោងនឹងចាប់ផ្តើមតូច និងកើនឡើងស្មុគស្មាញញឹកញាប់នៅចុងក្តីវគ្គ ១២ សប្តាហ៍។ មេរៀននេះមានផងដែរ អត្ថបទបន្ថែមពីការអនុវត្តនៅពិភពពិតនៃ ML ដែលអាចប្រើជាគ្រោងការសម្របសម្រួលឬជាគំហើញសម្រាប់ការពិភាក្សា។
-> សូមស្វែងរក [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translations](..), និង [Troubleshooting](TROUBLESHOOTING.md) ដំណឹងផ្លូវការ។ យើងសូមស្វាគមន៍មតិយោបល់របស់អ្នកយ៉ាងសម្បូរបែប!
+> សូមរកមើល [កូដអាកប្បកិរិយា](CODE_OF_CONDUCT.md), [ការចូលរួម](CONTRIBUTING.md), [ការប្រែសម្រួល](..), និង [ការដោះស្រាយបញ្ហា](TROUBLESHOOTING.md) ទិដ្ឋភាព។ យើងសូមស្វាគមន៍មតិយោបល់ដែលសាងសង់របស់អ្នក!
-## មេរៀននីមួយៗមាន
+## មេរៀននិមួយៗ រួមមាន
-- សេចក្តីសង្ខេបសំណៀងជាជម្រើស
-- វីដេអូបន្ថែមជាជម្រើស
-- វីដេអូបង្ហាញ (សម្រាប់មេរៀនខ្លះៗ)
-- [សំនួរប្រឡងមុនមេរៀន](https://ff-quizzes.netlify.app/en/ml/)
-- មេរៀនអត្ថបទ
-- សម្រាប់មេរៀនផ្អែកលើគម្រោង មេរៀននិម្មិតពីជំហានដល់ជំហានអំពីរបៀបបង្កើតគម្រោង
+- សេចក្តីបញ្ជាក់ជារូបភាពស្រេច
+- វីដេអូជាការផ្គុំបន្ថែម
+- វីដេអូបរិច្ឆេទ (មេរៀនខ្លះៗ)
+- [តេស្តអប់រំនិមួយៗមុនម៉ោងរៀន](https://ff-quizzes.netlify.app/en/ml/)
+- មេរៀនសរសេរ
+- សម្រាប់មេរៀនផ្អែកលើគម្រោង, មគ្គុទេសក៍ជំហានដោយជំហានក្នុងការសាងសង់គម្រោង
- ការត្រួតពិនិត្យចំណេះដឹង
-- ការប្រកួតប្រជែង
-- ការអានបន្ថែម
-- ការចាត់តាំងមុខងារ
-- [សំនួរប្រឡងក្រោយមេរៀន](https://ff-quizzes.netlify.app/en/ml/)
-> **យំណាំអំពីភាសា**: មេរៀនទាំងនេះភាគច្រើនត្រូវបានសរសេរជាភាសា Python ប៉ុន្តែមានជាច្រើនផងដែលអាចរកបានជាភាសា R។ ដើម្បីបញ្ចប់មេរៀន R មួយ ចូលទៅក្នុងថត `/solution` ហើយស្វែងរកមេរៀន R។ វាមានទ្រង់ទ្រាយ .rmd ដែលផ្ទាល់ទៅជាឯកសារ **R Markdown** ដែលអាចកំណត់បានដោយសាមញ្ញថាជាការបញ្ចូល `code chunks` (នៃ R ឬភាសាផ្សេងទៀត) និង `YAML header` (ដែលណែនាំពីរបៀបរៀបចំលទ្ធផលដូចជា PDF) ក្នុង `ឯកសារ Markdown`។ ដូច្នេះ វាជា枠架ការសរសេររួមដ៏ល្អសម្រាប់វិទ្យាសាស្ត្រទិន្នន័យ ព្រោះវាអនុញ្ញាតឲ្យអ្នកបញ្ចូលកូដរបស់អ្នក លទ្ធផលរបស់វា និងគំនិតរបស់អ្នកដោយអនុញ្ញាតឲ្យអ្នកសរសេរពួកវាក្នុង Markdown។ លើសពីនេះ រួចហើយឯកសារ R Markdown អាចត្រូវបានបម្លែងទៅទ្រង់ទ្រាយលទ្ធផលដូចជា PDF, HTML ឬ Word។
-
-> **យំណាំអំពីសំនួរផ្សងព្រេង**: សំនួរផ្សងព្រេងទាំងអស់ត្រូវបានរក្សាទុកក្នុងថត [Quiz App folder](../../quiz-app), សម្រាប់សំនួរផ្សងព្រេងសរុប 52 ដង មានសំណួរបីសំណួរនៅក្នុងមួយ។ ពួកវាត្រូវបានភ្ជាប់ពីក្នុងមេរៀន ប៉ុន្តែកម្មវិធីសំនួរផ្សងព្រេងអាចរត់នៅលើកុំព្យូទ័រផ្ទាល់ខ្លួន; អ្នកត្រូវតែអនុវត្តការណែនាំនៅក្នុងថត `quiz-app` ដើម្បីផ្តល់សេវាកម្មក្នុងស្រុក ឬផ្សាយនៅលើ Azure។
-
-| លេខមេរៀន | ប្រធានបទ | ការតម្រៀបមេរៀន | គោលបំណងការរៀន | មេរៀនភ្ជាប់ | អ្នកនិពន្ធ |
-| :---------: | :-----------------------------------------------------------------: | :---------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
-| 01 | ណែនាំអំពីការសិក្សា machine learning | [Introduction](1-Introduction/README.md) | រៀនគំនិតមូលដ្ឋានពីក្រោយ machine learning | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
-| 02 | ប្រវត្តិសាស្ត្រការសិក្សា machine learning | [Introduction](1-Introduction/README.md) | រៀនប្រវត្តិសាស្ត្រចម្បងនៃវិស័យនេះ | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen និង Amy |
-| 03 | ភាពយុត្តិធម៌ និង machine learning | [Introduction](1-Introduction/README.md) | តើបញ្ហាសុទ្ធសាធខាងទ្រឹស្តីទាក់ទងនឹងភាពយុត្តិធម៌ជាអ្វីខ្លះដែលនិស្សិតគួរតែពិចារណាពេលបង្កើតនិងអនុវត្តម៉ូដែល ML? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
-| 04 | បច្ចេកវិទ្យាសម្រាប់ machine learning | [Introduction](1-Introduction/README.md) | តើបច្ចេកវិទ្យាអ្វីខ្លះដែលអ្នកស្រាវជ្រាវ ML ប្រើប្រាស់ដើម្បីតាំងម៉ូដែល ML? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris និង Jen |
-| 05 | ណែនាំអំពី regression | [Regression](2-Regression/README.md) | ចាប់ផ្តើមជាមួយ Python និង Scikit-learn សម្រាប់ម៉ូដែល regression | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
-| 06 | តម្លៃផ្លែភាគអាមេរិកខាងជើង 🎃 | [Regression](2-Regression/README.md) | មើលធ្វើឱ្យទិន្នន័យស្អាតក្នុងការត្រៀមសម្រាប់ ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
-| 07 | តម្លៃផ្លែភាគអាមេរិកខាងជើង 🎃 | [Regression](2-Regression/README.md) | បង្កើតម៉ូដែលការវិភាគរូបធរណី និងហែលទ្វេ | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen និង Dmitry • Eric Wanjau |
-| 08 | តម្លៃផ្លែភាគអាមេរិកខាងជើង 🎃 | [Regression](2-Regression/README.md) | បង្កើតម៉ូដែល logistic regression | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
-| 09 | កម្មវិធីបណ្តាញ Web App 🔌 | [Web App](3-Web-App/README.md) | បង្កើតកម្មវិធីបណ្តាញដើម្បីប្រើម៉ូដែលដែលបានបណ្តុះបណ្តាល | [Python](3-Web-App/1-Web-App/README.md) | Jen |
-| 10 | ណែនាំអំពីការ ចាត់ចែង Classification | [Classification](4-Classification/README.md) | សម្អាត, ត្រៀម និងមើលទិន្នន័យរបស់អ្នក; ណែនាំពីការ ចាត់ចែង | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen និង Cassie • Eric Wanjau |
-| 11 | រសជាតិម្ហូបអាស៊ីនិងឥណ្ឌា ឆ្ងាញ់ៗ 🍜 | [Classification](4-Classification/README.md) | ណែនាំអំពីអ្នកចាត់ចែង | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen និង Cassie • Eric Wanjau |
-| 12 | រសជាតិម្ហូបអាស៊ីនិងឥណ្ឌា ឆ្ងាញ់ៗ 🍜 | [Classification](4-Classification/README.md) | អ្នកចាត់ចែងបន្ថែម | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen និង Cassie • Eric Wanjau |
-| 13 | រសជាតិម្ហូបអាស៊ីនិងឥណ្ឌា ឆ្ងាញ់ៗ 🍜 | [Classification](4-Classification/README.md) | បង្កើតកម្មវិធីបណ្តាញសម្រាប់ផ្តល់អនុសាសន៍ដោយប្រើម៉ូដែលរបស់អ្នក | [Python](4-Classification/4-Applied/README.md) | Jen |
-| 14 | ណែនាំអំពី clustering | [Clustering](5-Clustering/README.md) | សម្អាត, ត្រៀម និងមើលទិន្នន័យរបស់អ្នក; ណែនាំអំពី clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
-| 15 | ស្វែងយល់ពីរសជាតិតន្ត្រីនានាក្នុងប្រទេសនីជេរីយ៉ា 🎧 | [Clustering](5-Clustering/README.md) | ស្វែងយល់ពីវិធីសាស្រ្ត clustering ប្រភេទ K-Means | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
-| 16 | ណែនាំអំពីការបំពេញដំណើរការភាសាបានធម្មជាតិ ☕️ | [Natural language processing](6-NLP/README.md) | រៀនមូលដ្ឋានអំពី NLP ដោយបង្កើត bot មួយដោយសាមញ្ញ | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
-| 17 | ការងារពេញនិយមនៅ NLP ☕️ | [Natural language processing](6-NLP/README.md) | ជ្រាបជ្រាលច្បាស់បន្ថែមពីចំណេះដឹង NLP ដោយយល់ពីការងារពេញនិយមដែលត្រូវការពេលគ្រប់គ្រងរចនាសម្ព័ន្ធភាសា | [Python](6-NLP/2-Tasks/README.md) | Stephen |
-| 18 | ការបកប្រែ និងវិភាគអារម្មណ៍ ♥️ | [Natural language processing](6-NLP/README.md) | ការបកប្រែ និងវិភាគអារម្មណ៍ជាមួយ Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
-| 19 | ទីលានសណ្ឋាគារព្រហ្មលាភនៅអឺโรប ♥️ | [Natural language processing](6-NLP/README.md) | វិភាគអារម្មណ៍ជាមួយការវាយតម្លៃសណ្ឋាគារថ្មី ១ | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
-| 20 | ទីលានសណ្ឋាគារព្រហ្មលាភនៅអឺโรប ♥️ | [Natural language processing](6-NLP/README.md) | វិភាគអារម្មណ៍ជាមួយការវាយតម្លៃសណ្ឋាគារថ្មី ២ | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
-| 21 | ណែនាំអំពីការវាយតម្លៃទិន្នន័យលំដាប់ពេល | [Time series](7-TimeSeries/README.md) | ណែនាំអំពីការវាយតម្លៃទិន្នន័យលំដាប់ពេល | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
-| 22 | ⚡️ ការប្រើប្រាស់ថាមពលពិភពលោក ⚡️ - វាយតម្លៃលំដាប់ពេលជាមួយ ARIMA | [Time series](7-TimeSeries/README.md) | វាយតម្លៃលំដាប់ពេលជាមួយ ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
-| 23 | ⚡️ ការប្រើប្រាស់ថាមពលពិភពលោក ⚡️ - វាយតម្លៃលំដាប់ពេលជាមួយ SVR | [Time series](7-TimeSeries/README.md) | វាយតម្លៃលំដាប់ពេលជាមួយ Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
-| 24 | ណែនាំអំពីការរៀនបន្ថែមតាមការបង្រៀនផ្ទុកពីរបៀប | [Reinforcement learning](8-Reinforcement/README.md) | ណែនាំអំពីការរៀនបន្ថែមតាមការបង្រៀនផ្ទុកជាមួយ Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
-| 25 | ជួយ Peter មិនឲ្យជួបចោរជ្រូក! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | ការរៀនបន្ថែមតាមការបង្រៀនផ្ទុក Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
-| បន្ទាប់មក | ករណីនិងកម្មវិធី ML ក្នុងពិភពជាក់ស្តែង | [ML in the Wild](9-Real-World/README.md) | កម្មវិធី ML គួរឱ្យចាប់អារម្មណ៍និងបង្ហាញពីកម្មវិធី ML ប្រកបដោយភូត្នកម្ម | [Lesson](9-Real-World/1-Applications/README.md) | ក្រុម |
-| បន្ទាប់មក | ការសម្អាតកំហុសម៉ូដែល ML ដោយប្រើផ្ទាំងគ្រប់គ្រង RAI | [ML in the Wild](9-Real-World/README.md) | ការសម្អាតកំហុស ម៉ូដែល Machine Learning ដោយប្រើផ្ទាំងគ្រប់គ្រង Responsible AI | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
-
-> [ស្វែងរកធនធានបន្ថែមទាំងអស់សម្រាប់វគ្គសិក្សានេះនៅក្នុងព្រឹទ្ធិការណ៍ Microsoft Learn របស់យើង](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
-
-## ការចូលប្រើដោយមិនត្រូវការបណ្ដាញអ៊ីនធឺណិត
-
-អ្នកអាចរត់ឯកសារពត៌មាននេះដោយមិនត្រូវការបណ្ដាញអ៊ីនធឺណិត ដោយប្រើ [Docsify](https://docsify.js.org/#/)។ ស្ដុកកូដនេះ ចូលទៅក្នុងចំលងស្ថានីយ៍របស់អ្នក, [ដំឡើង Docsify](https://docsify.js.org/#/quickstart) នៅលើកុំព្យូទ័រផ្ទាល់ខ្លួន រួចបញ្ចូល `docsify serve` នៅក្នុងថតគោលរបស់ធនធាននេះ។ វេបសាយនឹងត្រូវផ្តល់សេវាកម្មនៅលើកំពង់ផែ 3000 នៅលើ localhost របស់អ្នក៖ `localhost:3000`។
+- ការប្រកួត
+- កំណត់អានបន្ថែម
+- កិច្ចការងារ
+- [តេស្តក្រោយម៉ោងរៀន](https://ff-quizzes.netlify.app/en/ml/)
+> **កំណត់សម្គាល់អំពីភាសា** ៖ មេរៀនទាំងនេះភាគច្រើនត្រូវបានសរសេរជាភាសា Python ប៉ុន្តែភាគច្រើនក៏មានជាភាសា R ផងដែរ។ ដើម្បីបញ្ចប់មេរៀន R មួយ សូមទៅកាន់ថត `/solution` ហើយស្វែងរកមេរៀន R។ ពួកវារួមបញ្ចូលនូវបច្ចេកទេស .rmd ដែលតំណាងឱ្យឯកសារ **R Markdown** ដែលអាចត្រូវបានកំណត់ដូចជាការបញ្ចូល `code chunks` (នៃ R ឬភាសាផ្សេងទៀត) និង `YAML header` (ដែលណែនាំពីរបៀបរៀបចំលទ្ធផលដូចជា PDF) ក្នុង `Markdown document` មួយ។ ដូច្នេះ វាជាគ្រោងការសរសេរដ៏ល្អឥតខ្ចោះសម្រាប់វិទ្យាសាស្ត្រទិន្នន័យ ព្រោះវាអនុញ្ញាតឱ្យអ្នកបញ្ចូលកូដរបស់អ្នក លទ្ធផលរបស់វា និងគំនិតរបស់អ្នកដោយដែលអ្នកអាចសរសេរពួកវាទៅក្នុង Markdown។ លើសពីនេះទៅទៀត ឯកសារ R Markdown អាចត្រូវបានបម្លែងទៅជារូបមន្តលទ្ធផលដូចជា PDF, HTML ឬ Word បាន។
+
+> **កំណត់សម្គាល់អំពីសំណួរតេស្ត** ៖ សំណួរតេស្តទាំងអស់មាននៅក្នុង [ថត Quiz App](../../quiz-app) សរុប 52 សំណួរតេស្ត ដែលមានសំនួរបី សម្រាប់បីសំណួរនីមួយៗ។ ពួកវាត្រូវបានភ្ជាប់ពីក្នុងមេរៀន ប៉ុន្តែកម្មវិធីសំណួរតេស្តអាចដំណើរការជាលokalបានៈ អ្នកត្រូវតែអនុវត្តតាមសេចក្ដីណែនាំនៅក្នុងថត `quiz-app` ដើម្បីផ្ទុកជាលokalឬបញ្ចេញទៅ Azure។
+
+| លេខមេរៀន | ក្បួនសិក្សា | ក្រុមមេរៀន | គោលបំណងការសិក្សា | មេរៀនភ្ជាប់ | អ្នកនិពន្ធ |
+| :--------: | :----------: | :----------: | :------------------: | :-----------: | :--------: |
+| 01 | របៀបស្គាល់បណ្តាញឧបករណ៍ | [Introduction](1-Introduction/README.md) | រៀនគំនិតមូលដ្ឋាននៃការរៀនម៉ាស៊ីន | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
+| 02 | ប្រវត្តិសាស្ត្រនៃការរៀនម៉ាស៊ីន | [Introduction](1-Introduction/README.md) | រៀនអំពីប្រវត្តិដែលនៅក្រោមវិស័យនេះ | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen និង Amy |
+| 03 | តុល្យភាព និងការរៀនម៉ាស៊ីន | [Introduction](1-Introduction/README.md) | តើបញ្ហាទ្រឹស្តីសាស្ត្រសំខាន់ៗអំពីតុល្យភាពដែលនិស្សិតគួរពិចារណាពេលបង្កើតនិងអនុវត្តន៍ម៉ូឌែល ML មានអ្វីខ្លះ? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
+| 04 | បច្ចេកទេសសម្រាប់ការរៀនម៉ាស៊ីន | [Introduction](1-Introduction/README.md) | តើបច្ចេកទេសណាដែលអ្នកស្រាវជ្រាវ ML ប្រើសម្រាប់បង្កើតម៉ូឌែល ML? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris និង Jen |
+| 05 | របៀបស្គាល់ថ្នាក់បង្រៀន regression | [Regression](2-Regression/README.md) | ចាប់ផ្តើមជាមួយ Python និង Scikit-learn សម្រាប់ម៉ូឌែល regression | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
+| 06 | តម្លៃផ្កាក្រហមនៅអាមេរិកជើងជើង 🎃 | [Regression](2-Regression/README.md) | បង្ហាញ និង បោកសំអាតទិន្នន័យក្នុងការរៀបចំសម្រាប់ ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
+| 07 | តម្លៃផ្កាក្រហមនៅអាមេរិកជើងជើង 🎃 | [Regression](2-Regression/README.md) | បង្កើតម៉ូឌែល regression រូបធរណីរ និងម៉ោង polynomial | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen និង Dmitry • Eric Wanjau |
+| 08 | តម្លៃផ្កាក្រហមនៅអាមេរិកជើងជើង 🎃 | [Regression](2-Regression/README.md) | បង្កើតម៉ូឌែលRegression logistic | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
+| 09 | កម្មវិធីវេប 🔌 | [Web App](3-Web-App/README.md) | បង្កើតកម្មវិធីវេបឲ្យប្រើម៉ូឌែលដែលបានបណ្ដុះ | [Python](3-Web-App/1-Web-App/README.md) | Jen |
+| 10 | រៀបចំមុខងារ classification | [Classification](4-Classification/README.md) | បោកសំអាត, រៀបចំ, និងបង្ហាញទិន្នន័យ; រៀបចំបង់ classification | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen និង Cassie • Eric Wanjau |
+| 11 | ម្ហូបអាស៊ី និងឥណ្ឌា ស័ក្ដិសម 🍜 | [Classification](4-Classification/README.md) | រៀបចំអ្នកចែកថ្នាក់ | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen និង Cassie • Eric Wanjau |
+| 12 | ម្ហូបអាស៊ី និងឥណ្ឌា ស័ក្ដិសម 🍜 | [Classification](4-Classification/README.md) | មានអ្នកចែកថ្នាក់ច្រើនទៀត | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen និង Cassie • Eric Wanjau |
+| 13 | ម្ហូបអាស៊ី និងឥណ្ឌា ស័ក្ដិសម 🍜 | [Classification](4-Classification/README.md) | បង្កើតកម្មវិធីវេបណែនាំដោយប្រើម៉ូឌែលរបស់អ្នក | [Python](4-Classification/4-Applied/README.md) | Jen |
+| 14 | ការណែនាំ clustering | [Clustering](5-Clustering/README.md) | បោកសំអាត, រៀបចំ, និងបង្ហាញទិន្នន័យ; ការណែនាំប្រព័ន្ធ clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
+| 15 | ការរុករករសជាតិតន្ត្រីនៃប្រទេសនីហ្សេរី 🎧 | [Clustering](5-Clustering/README.md) | រុករកវិធី K-Means clustering | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
+| 16 | ការណែនាំអំពីការប្រើប្រាស់ភាសាបរិស្ថានធម្មជាតិ ☕️ | [Natural language processing](6-NLP/README.md) | រៀនមូលដ្ឋានអំពី NLP ដោយបង្កើត bot ងាយៗ | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
+| 17 | ការងារសម្រាប់ NLP ទូទៅ ☕️ | [Natural language processing](6-NLP/README.md) | ជ្រាបចំរូងនៅលើភាសាតាមរយៈការយល់ដឹងពីភារកិច្ចទូទៅដែលសំខាន់ | [Python](6-NLP/2-Tasks/README.md) | Stephen |
+| 18 | ការបកប្រែ និងវិភាគអារម្មណ៍ ♥️ | [Natural language processing](6-NLP/README.md) | ការបកប្រែ និងវិភាគអារម្មណ៍ជាមួយ Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
+| 19 | សណ្ឋាគារស្នេហ៍នៅអឺរ៉ុប ♥️ | [Natural language processing](6-NLP/README.md) | វិភាគអារម្មណ៍ជាមួយការពិនិត្យសណ្ឋាគារ ១ | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
+| 20 | សណ្ឋាគារស្នេហ៍នៅអឺរ៉ុប ♥️ | [Natural language processing](6-NLP/README.md) | វិភាគអារម្មណ៍ជាមួយការពិនិត្យសណ្ឋាគារ ២ | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
+| 21 | ការណែនាំប៉ុន្តែពេលវេលាស៊េរី | [Time series](7-TimeSeries/README.md) | ការណែនាំការព្យាករណ៍ពេលវេលាស៊េរី | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
+| 22 | ⚡️ ការប្រើប្រាស់ថាមពលពិភពលោក ⚡️ - ការព្យាករណ៍ពេលវេលាស៊េរីជាមួយ ARIMA | [Time series](7-TimeSeries/README.md) | ការព្យាករណ៍ពេលវេលាស៊េរីជាមួយ ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
+| 23 | ⚡️ ការប្រើប្រាស់ថាមពលពិភពលោក ⚡️ - ការព្យាករណ៍ពេលវេលាស៊េរីជាមួយ SVR | [Time series](7-TimeSeries/README.md) | ការព្យាករណ៍ពេលវេលាស៊េរីជាមួយ Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
+| 24 | ការណែនាំដល់ការរៀនបង្រៀនបន្ថែម | [Reinforcement learning](8-Reinforcement/README.md) | ការណែនាំការរៀនបង្រៀនបន្ថែមជាមួយ Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
+| 25 | ជួយ Peter ជៀសវាងខ្លាឆ្នោត! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | ការរៀនបង្រៀនបន្ថែម Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
+| Postscript | ស្ថានភាពពិតនៃ ML និងការអនុវត្ត | [ML in the Wild](9-Real-World/README.md) | ករណីនិងការអនុវត្តពិតនៃ ML រចនាបថបុរាណ | [Lesson](9-Real-World/1-Applications/README.md) | ក្រុម |
+| Postscript | ការប្តូរគំរូក្នុង ML ប្រើបញ្ជីគ្រប់គ្រង RAI | [ML in the Wild](9-Real-World/README.md) | ការប្តូរគំរូក្នុងម៉ាស៊ីនរៀនប្រើបញ្ជីគ្រប់គ្រង Responsible AI | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
+
+> [ស្វែងរកធនធានបន្ថែមទាំងអស់សម្រាប់វគ្គនេះនៅក្នុងបណ្ណសាររបស់ Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
+
+## ការចូលដំណើរការផ្ទាល់ខ្លួន
+
+អ្នកអាចដំណើរការឯកសារសម្រម់នេះក្រៅអ៊ីនធឺណិតដោយប្រើ [Docsify](https://docsify.js.org/#/). ចម្លង repo នេះ, [ដំឡើង Docsify](https://docsify.js.org/#/quickstart) លើម៉ាស៊ីនផ្ទាល់ខ្លួនរបស់អ្នក, បន្ទាប់មកនៅក្នុងថតមូលដ្ឋានរបស់ repo នេះ ចុច `docsify serve`។ វេបសាយនឹងត្រូវបម្រើនៅច្រក 3000 នៅលើ localhost របស់អ្នក៖ `localhost:3000`។
## PDF
-ស្វែងរកឯកសារ pdf ទាំងមូលនៃនិម្មិតកម្មវិធីនេះជាមួយតំណភ្ជាប់ [នៅទីនេះ](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf)។
+ស្វែងរក pdf នៃមេរៀននៅ [ទីនេះ](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf)។
-## 🎒 វគ្គសិក្សាផ្សេងទៀត
+## 🎒 វគ្គផ្សេងទៀត
-ក្រុមរបស់យើងផលិតវគ្គសិក្សាផ្សេងទៀត! សូមពិនិត្យ:
+ក្រុមរបស់យើងផលិតវគ្គផ្សេងទៀតផង! សូមមើល៖
-
### LangChain
-[](https://aka.ms/langchain4j-for-beginners)
-[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
-[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://aka.ms/langchain4j-for-beginners)
+[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
-[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
-### Generative AI Series
+[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
+
+---
+
### ស៊េរី AI បង្កើត
-### Core Learning
-### ការសិក្សាដើម
-### Copilot Series
+[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
+[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
+[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
+
+---
+
+### ការសិក្សាមូលដ្ឋាន
+[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
+[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
+
+---
+
### ស៊េរី Copilot
+[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
+
+
+## ការទទួលបានជំនួយ
+
+បើអ្នកជាប់ឬមានសំណួរពេលរៀនម៉ាស៊ីនរៀន ឬកំពុងបង្កើតកម្មវិធី AI កុំបារម្ភ — មានជំនួយសម្រាប់អ្នក។
+
+អ្នកអាចចូលរួមពិភាក្សាជាមួយអ្នករៀន និងអ្នកអភិវឌ្ឍន៍ផ្សេងទៀត សួរសំណួរ និងចែករំបែកគំនិតរបស់អ្នកជាមួយសហគមន៍។
+
+- ចូលរួមសហគមន៍ដើម្បីសួរសំណួរ និងរៀនជាមួយគ្នា
+- ពិភាក្សាអំពីគំនិតម៉ាស៊ីនរៀន និងគម្រោង
+- ទទួលបានការណែនាំពីអ្នកអភិវឌ្ឍន៍មានបទពិសោធន៍
+
+សហគមន៍គាំទ្រជួយធ្វើឲ្យអ្នកអាចពង្រីកជំនាញ និងដោះស្រាយបញ្ហាបានលឿន។
+
+[Microsoft Foundry Discord Community](https://discord.gg/nTYy5BXMWG)
-## Getting Help
-## ទទួលបានជំនួយ
+បើអ្នកជួបប្រទះបញ្ហាកំហុស កំហុសប្រតិបត្តិការ ឬមានសំណើសុំធ្វើឲ្យប្រសើរឡើង អ្នកអាចបើក **Issue** ក្នុងឃ្លាំងនេះដើម្បីរាយការណ៍បញ្ហា។
-If you get stuck or have any questions about building AI apps. Join fellow learners and experienced developers in discussions about MCP. It's a supportive community where questions are welcome and knowledge is shared freely.
-បើអ្នកជួបលំបាកឬមានសំនួរអំពីការបង្កើតកម្មវិធី AI សូមចូលរួមជាមួយអ្នករៀនផ្សេងទៀត និងអ្នកអភិវឌ្ឍន៍ដែលមានបទពិសោធន៍ ក្នុងការពិភាក្សាអំពី MCP ។ វាជាសហគមន៍មួយដែលគាំទ្រដល់គ្នា ដែលសំណួរនឹងត្រូវបានស្វាគមន៍ និងចំណេះដឹងត្រូវបានចែករំលែកដោយសេរី។
+សម្រាប់ប្រតិកម្មផលិតផល ឬស្វែងរកបញ្ហានៅក្នុងសំណុំបែបបទសហគមន៍ សូមចូលទៅកាន់វេទិកាអ្នកអភិវឌ្ឍន៍៖
-If you have product feedback or errors while building visit:
-បើអ្នកមានមតិយោបល់អំពីផលិតផល ឬកំហុសអំឡុងពេលកំពុងបង្កើត សូមចូលទៅកាន់៖
+[](https://aka.ms/foundry/forum)
-## Additional Learning Tips
-## ការផ្តល់ជំនួយបន្ថែមសម្រាប់ការសិក្សា
+## ដំបូន្មានបន្ថែមសម្រាប់ការរៀន
-- Review notebooks after each lesson for better understanding.
-- ហ្វឹកហាត់អនុវត្តន៍អាលហ្គរីឌីមដោយខ្លួនឯង។
-- Practice implementing algorithms on your own.
-- ស្វែងរកទិន្នន័យពិតដោយប្រើគន្លឹះដែលបានរៀន។
+- ទស្សនាសៀវភៅកំណត់ត្រាបន្ទាប់ពីមេរៀនរៀងរាល់ម្តងដើម្បីយល់ដឹងល្អប្រសើរ។
+- ធ្វើការអនុវត្តអាល់ហ្គរីធម៍ដោយខ្លួនឯង។
+- ស្វែងរកឯកសារពិតប្រាកដដោយប្រើគំនិតដែលបានរៀន។
---
-**ការបដិសេធ**៖
-ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈដែលយើងខិតខំរកការរីកចម្រើននៃភាពត្រឹមត្រូវ សូមយល់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវខ្លះៗ។ ឯកសារដើមក្នុងភាសាតំណាងរបស់វាគួរត្រូវបានទុកក្នុងជារបស់ប្រភពផ្លូវការជាដើម។ ចំពោះព័ត៌មានសំខាន់ៗ របស់ការបកប្រែដោយមនុស្សដែលមានជំនាញគឺជាការផ្តល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសដែលកើតមានពីការប្រើប្រាស់បកប្រែនេះឡើយ។
+**ការបដិសេធកាតព្វកិច្ច**៖
+ឯកសារនេះត្រូវបានបកប្រែប្រើសេវាបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខំប្រឹងប្រែងដើម្បីច្បាស់លាស់ សូមយល់ឱ្យបានថានៃការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានគេចាត់ទុកជាធនធានដែលមានសុពលភាពខ្ពស់។ សម្រាប់ព័ត៌មានសំខាន់ សូមផ្តល់អនុសាសន៍អោយប្រើការបកប្រែដោយមនុស្សវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែច្រឡំណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
\ No newline at end of file