From 438281042e63df015406665304eadfbb8ddb257a Mon Sep 17 00:00:00 2001 From: "localizeflow[bot]" Date: Mon, 20 Apr 2026 18:03:33 +0000 Subject: [PATCH] chore(i18n): sync translations with latest source changes (chunk 1/1, 4 changes) --- translations/km/.co-op-translator.json | 12 +- .../km/2-Regression/3-Linear/README.md | 273 +++++++++--------- .../2-Classifiers-1/README.md | 154 +++++----- translations/km/README.md | 262 +++++++++-------- 4 files changed, 363 insertions(+), 338 deletions(-) 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 -ការ​ផ្សារ​រៀប​រ៉េ​ឌី​ស្យុងត្រូវបានប្រើនៅពេលដែលយើងចង់ទាយទោល​តម្លៃ **ចំនួន​ស៊ីផ៍** (ឧទាហរណ៍ តម្លៃផ្ទះ, សីតុណ្ហភាព ឬ លក់ចេញ)។ វាដំណើរការដោយស្វែងរករបារភាព​តម្រាស់​មួយ​ដែល​តំណាងឲ្យទំនាក់ទំនង​រវាង​លក្ខណៈបញ្ចូល និងលទ្ធផល​បាន​ល្អ​បំផុត។ +រេសគ្រីស្យុងបន្ទាត់ត្រូវបានប្រើនៅពេលដែលយើងចង់ទាយទិន្នន័យ **តម្លៃលេខ** (ឧទាហរណ៍ តម្លៃផ្ទះ សីតុណ្ហភាព ឬការលក់)។ វាដំណើរការដោយស្វែងរកបន្ទាត់ស្របមួយ ដែលតំណាងល្អបំផុតសម្រាប់ទំនាក់ទំនងរវាងមុខងារបញ្ចូល និងចេញ។ -​នៅក្នុងមេរៀន​នេះ​យើងផ្តោតលើការយល់ដឹងពីគំនិតមុនពេលស្រាវជ្រាវបច្ចេកវិទ្យាស្រាវជ្រាវផ្សារ​លំដាប់ខ្ពស់បន្ថែមទៀត។ +ក្នុងមេរៀននេះ យើងផ្តោតសំខាន់លើការយល់ដឹងពីគំនិតមុនពេលស្វែងយល់បន្ថែមពីបច្ចេកទេសរេសគ្រីស្យុងខ្ពស់ជាងនេះ។ ![Linear vs polynomial regression infographic](../../../../translated_images/km/linear-polynomial.5523c7cb6576ccab.webp) -> រូបភាពព័ត៌មានដោយ [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។ ដំណើរការបង្ហាញភាពនេះអនុញ្ញាតឱ្យអ្នកចេះយល់ពីទិន្នន័យ ប៉ុន្តែអំណាចពិតនៃប្រព័ន្ធរៀនម៉ាស៊ីនមកពី _ការបណ្តុះម៉ូដែល_។ ម៉ូដែលត្រូវបានបណ្តុះលើទិន្នន័យប្រវត្តិសាស្ត្រដើម្បីទទួលយកទំនាក់ទំនងទិន្នន័យដោយស្វ័យប្រវត្តិ ហើយវាអនុញ្ញាតឱ្យអ្នកទាយបានលទ្ធផលសម្រាប់ទិន្នន័យថ្មីដែលម៉ូដែលមិនបានឃើញពីមុន។ -នៅក្នុងមេរៀននេះ អ្នកនឹងរៀនបន្ថែមអំពីប្រភេទផ្សាររៀបរាប់ពីរ: _ផ្សាររៀបរាប់រាងតែមួយមូលដ្ឋាន_ និង _ផ្សាររៀបរាប់ពហុបូឡីណូម្យែល_ រួមជាមួយគណិតវិទ្យាផ្នែកខ្លះដែលគាំទ្របច្ចេកទេសទាំងនេះ។ ម៉ូឌែលទាំងនេះនឹងអនុញ្ញាតឲ្យយើងទាយតម្លៃផ្លែផ្អែខោចដោយផ្អែកលើទិន្នន័យបញ្ចូលផ្សេងៗ។ +នៅក្នុងមេរៀននេះ អ្នកនឹងរៀនបន្ថែមអំពីប្រភេទរេសគ្រីស្យុងពីរប្រភេទ: _រេសគ្រីស្យុងបន្ទាត់មូលដ្ឋាន_ និង _រេសគ្រីស្យុងព៉ូលីណូមៀល_ ជាមួយនឹងគណិតវិទ្យាខ្លះៗដែលនៅក្រោមបច្ចេកទេសទាំងនេះ។ ម៉ូដែលទាំងនោះនឹងអនុញ្ញាតឲ្យយើងទាយតម្លៃផ្កាយប័ន្តអាស្រ័យលើទិន្នន័យបញ្ចូលខុសៗគ្នា។ [![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](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`។ > >![calculate the slope](../../../../translated_images/km/slope.f3c9d5910ddbfcf9.webp) > -> ជំហានដំបូង គណនាលំនឹង `b`។ រូបភាពព័ត៌មានដោយ [Jen Looper](https://twitter.com/jenlooper) -> -> ផ្ទុះពីនេះ និងបើសិនវាចង់បង្ហាញពីសំណួរដើមទិន្នន័យ​ផ្លែផ្អែខោច៖ "ទាយតម្លៃផ្លែផ្អែខោចមួយក្នុងមួយកំប៉ិល តាមខែ" គឺ `X` នឹងសំដៅតម្លៃ និង `Y` នឹងសំដៅខែក្នុងការលក់។ +> ជំហាន `b` គណនា ជាមួយគំនូរ [Jen Looper](https://twitter.com/jenlooper) > +> នៅក្នុងពាក្យផ្សេង ហើយយោងទៅតាមសំណួរដើមរបស់ទិន្នន័យផ្កាយ "ទាយតម្លៃផ្កាយតាមបាសែលដោយខែ" ការបញ្ចូល `X` នឹងយោងទៅតម្លៃ និង `Y` នឹងយោងទៅខែ។ + >![complete the equation](../../../../translated_images/km/calculation.a209813050a1ddb1.webp) > -> គណនាតម្លៃ `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 ដើម្បីមើលថាតើយើងអាចទាយបានថាតើប្រអប់ផ្កាយណាដែលមានតម្លៃផ្កាយល្អបំផុត។ អ្នកដែលដែលជាវផ្កាយសម្រាប់តំបន់លំហែកាយថ្ងៃបុណ្យអាចចង់បានព័ត៌មាននេះ ដើម្បីអាចបឹតបញ្ចូលការជាវផ្កាយសម្រាប់តំបន់នោះ។ -## ការស្វែងរកទំនាក់ទំនងសមាមាត្រ +## ស្វែងរកសមាភាព [![ML for beginners - Looking for Correlation: The Key to Linear Regression](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML for beginners - Looking for Correlation: The Key to Linear Regression") -> 🎥 ចុចរូបភាពខាងលើសម្រាប់មើលវីដេអូសង្ខេបអំពីទំនាក់ទំនងសមាមាត្រ។ +> 🎥 ចុចលើរូបភាពខាងលើសម្រាប់វីដេអូសង្ខេបអំពីសមាភាព។ -ពីមេរៀនមុន អ្នកប្រហែលជាបានឃើញថាតម្លៃមធ្យមសម្រាប់ខែផ្សេងៗមើលទៅដូចជា: +ពីមេរៀនមុនអ្នកប្រហែលជាបានឃើញថាតម្លៃមធ្យមនៃខែផ្សេងៗមានរូបរាងដូចជា: Average price by month -នេះបង្ហាញថាគួរតែមានទំនាក់ទំនងមួយ និងយើងអាចសាកល្បងបណ្តុះម៉ូឌែល Linear Regression ដើម្បីទាយទំនាក់ទំនងរវាង `Month` និង `Price` ឬស្របពេល `DayOfYear` និង `Price`។ នេះជាការបង្ហាញទិន្នន័យ scatterplot មួយបង្ហាញពីទំនាក់ទំនងចុងក្រោយ៖ +នេះបង្ហាញថាមានសមាភាពមួយ ហើយយើងអាចព្យាយាមបណ្តុះម៉ូដែលរេសគ្រីស្យុងបន្ទាត់ដើម្បីទាយទំនាក់ទំនងរវាង `Month` និង `Price` ឬរវាង `DayOfYear` និង `Price`។ នេះគឺជា scatter plot បង្ហាញទំនាក់ទំនងបន្ថែម: Scatter plot of Price vs. Day of Year -យើងមកមើលថាតើមានទំនាក់ទំនងសមាមាត្រដែលប្រើបានតាម `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()): Scatter plot of Price vs. Day of Year -ការស៊ើបអង្កេតនិងបង្ហាញថាប្រភេទផ្លែប៉ះពាល់ជាងកាលបរិច្ឆេទលក់។ អ្នកអាចមើលមើលវាពីក្រាលបន្ទាត់​ចំនួនជាប់គ្នា៖ +ការស៊ើបអង្កេតបង្ហាញថាប្រភេទផ្កាយមានឥទ្ធិពលលើតម្លៃនៃការលក់ច្រើនជាងកាលបរិច្ឆេទលក់។ យើងអាចមើលឃើញនេះជាមួយក្រាបបារ: ```python new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') @@ -149,7 +149,7 @@ new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') Bar graph of price vs variety -យើងយកចំណុចមានចំណាប់អារម្មណ៍មួយ គឺ ‘pie type’ និងមើលឥទ្ធិពលរបស់កាលបរិច្ឆេទលើតម្លៃ៖ +ចូរយើងផ្ដោតលើប្រភេទផ្កាយតែមួយបច្ចុប្បន្ននេះ 'pie type' ហើយមើលឥទ្ធិពលនៃកាលបរិច្ឆេទលើតម្លៃ៖ ```python pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE'] @@ -157,24 +157,24 @@ pie_pumpkins.plot.scatter('DayOfYear','Price') ``` Scatter plot of Price vs. Day of Year -បើយើងគណនាសមាមាត្ររវាង `Price` និង `DayOfYear` ដោយប្រើ `corr` វានឹងត្រឹមតែប្រហែលជា `-0.27` - មានន័យថាការបណ្តុះម៉ូឌែលទាយទោលមានទំនាក់ទំនងហើយ។ +បើយើងគណនាសមាភាពរវាង `Price` និង `DayOfYear` ដោយប្រើ `corr` អ្នកនឹងបានប្រហែល `-0.27` - មានន័យថាការបណ្តុះម៉ូដែលទាយត្រូវមានអត្ថន័យ។ -> មុននឹងបណ្តុះម៉ូឌែល Linear Regression វាជារឿងសំខាន់ក្នុងការត្រួតពិនិត្យថាទិន្នន័យរបស់យើងបានស្អាត។ Linear Regression មិនប្រសើរជាមួយអថេរបាត់បង់ ដូច្នេះវាត្រូវបានណែនាំឲ្យកម្ចាត់អថេរទទេទាំងអស់៖ +> មុនពេលបណ្តុះម៉ូដែលរេសគ្រីស្យុងបន្ទាត់ វាជារឿងសំខាន់ក្នុងការធ្វើអោយទិន្នន័យរបស់យើងបានស្អាត។ រេសគ្រីស្យុងបន្ទាត់មិនល្អសម្រាប់តម្លៃដែលខ្វះទេ ដូច្នេះវាមានអត្ថន័យក្នុងការដកចេញចំណុចទិន្នន័យខ្វះទាំងអស់៖ ```python pie_pumpkins.dropna(inplace=True) pie_pumpkins.info() ``` -មុខងារផ្សេងគ្នាគឺដាក់បញ្ចូលតម្លៃទទេនូវតម្លៃមធ្យមពីជួរឈរត្រូវទាក់ទង។ +វិធីសាស្រ្តមួយផ្សេងទៀតគឺបំពេញតម្លៃទទេនោះជាមួយតម្លៃមធ្យមពីជួរឈរចំរៀង។ -## ផ្សាររៀបរាប់រាងតែមួយសាមញ្ញ +## រេសគ្រីស្យុងបន្ទាត់សាមញ្ញ [![ML for beginners - Linear and Polynomial Regression using Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](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) ``` - + Linear regression -## រេហ្គ្រេស្យុងផូលីណូម្យ얼 +## 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` ដើម្បីទទួលបានលទ្ធផល។ នេះជាក្រាផាងបង្ហាញទិន្នន័យសាកល្បង និងខ្សែប្រមាណ៖ Polynomial regression -ដោយប្រើរេហ្គ្រេស្យុងផូលីណូម្យ얼 យើងអាចទទួលបាន MSE ទាបជាងបន្តិច និង coefficient of determination ខ្ពស់ជាងបន្តិច ប៉ុន្តែមិនខ្លាំងណាស់ទេ។ យើងត្រូវយកចំណុចផ្សេងទៀតចូលក្នុងការពិចារណាផងដែរ! +ដោយប្រើ Polynomial Regression យើងអាចទទួលបាន MSE ទាបបន្តិច និង coefficient determination ខ្ពស់ជាង ប៉ុន្តែមិនច្រើនខ្លាំងទេ។ យើងត្រូវយកចិត្តទុកដាក់ទៅលើលក្ខណៈផ្សេងទៀតផង! -> អ្នកអាចបើកចំណាំបានថា តម្លៃថ្លៃអង្គរជាមួយខ្នងនោះមានចន្លោះពេលដែលជិតថ្ងៃ Halloween។ តើអ្នកអាចពន្យល់មូលហេតុនេះបានយ៉ាងដូចម្តេច? +> អ្នកអាចសង្កេតឃើញថា តម្លៃបណ្ដូលរបស់ កំបោរភាគច្រើនបង្ហាញនៅក្បែរបុណ្យ Halloween។ តើធ្វើដូចម្តេចដើម្បីពន្យល់ពីនេះ? -🎃 សូមអបអរសាទរ អ្នកទើបបង្កើតម៉ូដែលមួយដែលអាចជួយទាយតម្លៃថ្លៃនំទំពាំងបាយជូបាន។ អ្នកប្រហែលជាអាចធ្វើដំណើរការ​តែមួយនេះសម្រាប់ប្រភេទទំពាំងបាយជូគ្រប់ប្រភេទបានផង ប៉ុន្តែវាត្រូវការការងារលំបាក។ យើងនឹងរៀនរបៀបយកប្រភេទទំពាំងបាយជូទៅក្នុងគំរូរបស់យើងឥលូវនេះ! +🎃 អបអរសាទរ អ្នកទើបបង្កើតម៉ូឌែលអាចជួយព្យាករណ៍តម្លៃកំបោរភាគបាយបាន។ អ្នកប្រហែលជាអាចធ្វើបែបនេះសម្រាប់ប្រភេទកំបោរទាំងអស់ ប៉ុន្តែវាអាចធ្វើឱ្យធុញនឿយ។ យើងនឹងរៀនពីរបៀបយកប្រភេទកំបោរចូលទៅក្នុងម៉ូឌែល! -## លក្ខណៈពិសេសដូចជាប្រភេទ (Categorical Features) +## លក្ខណៈប្រភេទ (Categorical Features) -នៅក្នុងពិភពផ្តល់ក្តីសង្ឃឹម អ្នកចង់អាចទាយតម្លៃថ្លៃសម្រាប់ប្រភេទទំពាំងបាយជូផ្សេងៗដោយប្រើម៉ូដែលតែមួយ។ ប៉ុន្តែកន្លែងជួរឈរ `Variety` មានភាពខុសគ្នាពីជួរឈរ `Month` ប៉ុន្តែបង្កប់តម្លៃមិនមែនជាតួលេខទេ។ ជួរឈរដូចនេះហៅថា **categorical**។ +នៅពិភពល្អ គួរតែមានសមត្ថភាពក្នុងការព្យាករណ៍តម្លៃសម្រាប់ប្រភេទកំបោរផ្សេងៗដោយប្រើម៉ូឌែលដូចគ្នា។ ក៏ប៉ុន្តែ បន្ទាត់ `Variety` ខុសគ្នាពីបន្ទាត់ដូចជា `Month` ពីព្រោះវាមានតម្លៃមិនមែនជាចំនួន។ បន្ទាត់ដូចនេះហៅថា **categorical**។ [![ML for beginners - Categorical Feature Predictions with Linear Regression](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression") -> 🎥 ចុចរូបភាពខាងលើសម្រាប់វីដេអូជាសង្ខេបអំពីការប្រើលក្ខណៈពិសេសឈ្មោះដូចជាប្រភេទ។ +> 🎥 ចុចរូបភាពខាងលើដើម្បីមើលវីដេអូចង្អុលបង្ហាញខ្លីអំពីការប្រើលក្ខណៈ categorical។ -នៅទីនេះ អ្នកអាចមើលថាតម្លៃថ្លៃមធ្យមអាស្រ័យលើប្រភេទ៖ +នៅទីនេះ អ្នកអាចមើលឃើញថាតម្លៃមធ្យមនៃតម្លៃអាស្រ័យលើប្រភេទ៖ Average price by variety -ដើម្បីយកប្រភេទចូលក្នុងគំរូបាន ត្រូវបម្លែងវាទៅជាទម្រង់លេខឬ **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 នៅក្នុងពិពណ៌នារាងតាងគ្នា៖ -![ការប្រៀបធៀបកម្មវិធីចាត់ថ្នាក់](../../../../translated_images/km/comparison.edfab56193a85e7f.webp) -> គំនូសបង្ហាញត្រូវបានបង្កើតនៅលើឯកសារណែនាំរបស់ Scikit-learn +![ការប្រៀបធៀបនៃក្រុមចំរៀង](../../../../translated_images/km/comparison.edfab56193a85e7f.webp) +> គំនូសតាងបង្កើតឡើងក្នុងឯកសាររបៀបប្រើរបស់ 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 មានជម្រើសខ្លះៗ៖ -![សៀវភៅបង្រៀនសម្រាប់បញ្ហាច្រើនថ្នាក់](../../../../translated_images/km/cheatsheet.07a475ea444d2223.webp) -> ផ្នែកមួយនៃសៀវភៅ Cheat Algorithm របស់ Microsoft សង្ខេបជម្រើសចាត់ថ្នាក់ច្រើនថ្នាក់ +![សន្លឹកជំនួយសម្រាប់បញ្ហា multiclass](../../../../translated_images/km/cheatsheet.07a475ea444d2223.webp) +> ផ្នែកមួយនៃសន្លឹកបច្ចេកទេសម៉ាស៊ីនរៀនរបស់ 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 ដោះស្រាយបញ្ហាតាមរយៈរចនាសម្ព័ន្ធទិន្នន័យផ្សេងៗ៖ ![solvers](../../../../translated_images/km/solvers.5fc648618529e627.webp) -## លំហាត់ - បំបែកទិន្នន័យ +## ធ្វើហាត់ - ផែក្នុងទិន្នន័យ -យើងអាចផ្តោតលើបម្រែបម្រួលលូជាក់លាក់សម្រាប់លំហាត់ហ្វឹកហាត់ដំបូង គឺបានរៀនកន្លងមក។ - -បំបែកទិន្នន័យរបស់អ្នកជាក្រុមហ្វឺងហ្វឺន និងក្រុមតេស្ត ដោយហៅ `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" > ``` > -> នេះនឹងផ្តល់អ្វីដែលអ្នកត្រូវការរៀនវគ្គនេះបានលឿនជាងមុន។ +> នេះនឹងផ្តល់អ្នកទាំងអស់ដែលអ្នកត្រូវការដើម្បីបញ្ចប់វគ្គនេះដោយមានការទាញយករហ័សជាងមុន។ -#### ចូលរួមជាជនរួមចំណេះដឹងរបស់យើង +#### ចូលរួមសហគមន៍របស់យើង [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](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 សម្រាប់វិទ្យាសាស្ត្រទិន្នន័យ។ ![Learn with AI series](../../translated_images/km/3.9b58fd8d6c373c20.webp) -# ការសិក្សាពី 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) ដោយចុចលើរូបភាពខាងក្រោម។ [![ML for beginners banner](../../translated_images/km/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos) --- -## ជួបមក្រុមការងារ +## ស្គាល់ក្រុមការងារ [![Promo video](../../images/ml.gif)](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 -[![LangChain4j សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) -[![LangChain សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j សម្រាប់ដាក់ក្នុងដំបូង](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js សម្រាប់ដាក់ក្នុងដំបូង](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain សម្រាប់ដាក់ក្នុងដំបូង](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin) --- ### Azure / Edge / MCP / Agents -[![AZD សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -### Generative AI Series +[![AZD សម្រាប់ដាក់ក្នុងដំបូង](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI សម្រាប់ដាក់ក្នុងដំបូង](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![ភ្នាក់ងារពី AI សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) + +--- + ### ស៊េរី AI បង្កើត -### Core Learning -### ការសិក្សាដើម -### Copilot Series +[![AI បង្កើតសម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI បង្កើត (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) +[![AI បង្កើត (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) +[![AI បង្កើត (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) + +--- + +### ការសិក្សាមូលដ្ឋាន +[![ML សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![វិទ្យាសាស្រ្តទិន្នន័យសម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![AI សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![សន្តិសុខវេបសាយសម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![ការអភិវឌ្ឍវេបសម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![IoT សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![ការអភិវឌ្ឍ XR សម្រាប់អ្នកចាប់ផ្តើម](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) + +--- + ### ស៊េរី Copilot +[![Copilot សម្រាប់ការសរសេរកម្មវិធីរួមជាមួយ AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot សម្រាប់ C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![Copilot ដំណើរកម្សាន្ត](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](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: -បើអ្នកមានមតិយោបល់អំពីផលិតផល ឬកំហុសអំឡុងពេលកំពុងបង្កើត សូមចូលទៅកាន់៖ +[![វេទិកាអ្នកអភិវឌ្ឍន៍ Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](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