You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/km/AGENTS.md

21 KiB

AGENTS.md

Project Overview

នេះគឺជាឯកសារ ការសិក្សា ម៉ាស៊ីនរៀនសម្រាប់អ្នកចាប់ផ្តើម ដែលមានកម្មវិធីសិក្សាប្រមាណ ១២ សប្ដាហ៍ មានមេរៀន ២៦ មេរៀនគ្របដណ្តប់គំនិតម៉ាស៊ីនរៀនបុរាណ ដោយប្រើ Python (ជាសំខាន់ជាមួយ Scikit-learn) និង R។ ឃ្លាំងទាក់ទងនេះត្រូវបានរចនាឡើងជាឋានសិក្សាដោយខ្លួនឯង មានគម្រោងដៃ អ្នកសាកល្បង និងការងារសិក្សា រៀងរាល់មេរៀនស្វែងយល់ពីមូលដ្ឋាន ML តាមរយៈទិន្នន័យពិតពីវប្បធម៌ និងតំបន់ផ្សេងៗជុំវិញពិភពលោក។

ធាតុសំខាន់ៗ៖

  • មាតិកាសិក្សា៖ ២៦ មេរៀនគ្របដណ្តប់ការណែនាំអំពី ML, ការត្រួតពិនិត្យទំនាក់ទំនង, ការបែងចែកចំណាត់ថ្នាក់, ការបែងចែកក្រុម, NLP, លំដាប់ពេលវេលា និងការរៀនពង្រឹង
  • កម្មវិធីសាកល្បង៖ កម្មវិធីសាកល្បងមួយបង្កើតជាមួយ Vue.js មានការវាស់ថ្នាក់មុន និងក្រោយមេរៀន
  • គាំទ្រភាសាច្រើន៖ បម្លែងភាសាឡើងវិញដោយស្វ័យប្រវត្តិទៅជាភាសាបានជាង ៤០ ភាសាតាមរយៈ GitHub Actions
  • គាំទ្រភាសាគូ៖ មេរៀនអាចប្រើបានទាំង Python (សៀវភៅកិច្ចការលើ Jupyter) និង R (ឯកសារ R Markdown)
  • ការសិក្សាដើមឯកសារ៖ រៀងរាល់ប្រធានបទមានគម្រោង និងការងារអនុវត្ត

Repository Structure

ML-For-Beginners/
├── 1-Introduction/         # ML basics, history, fairness, techniques
├── 2-Regression/          # Regression models with Python/R
├── 3-Web-App/            # Flask web app for ML model deployment
├── 4-Classification/      # Classification algorithms
├── 5-Clustering/         # Clustering techniques
├── 6-NLP/               # Natural Language Processing
├── 7-TimeSeries/        # Time series forecasting
├── 8-Reinforcement/     # Reinforcement learning
├── 9-Real-World/        # Real-world ML applications
├── quiz-app/           # Vue.js quiz application
├── translations/       # Auto-generated translations
└── sketchnotes/       # Visual learning aids

ថតមេរៀនរៀងរាល់មេរៀនធម្មតានឹងមាន៖

  • README.md - មាតិកាមេរៀនសំខាន់
  • notebook.ipynb - សៀវភៅកិច្ចការចេញពី Jupyter Python
  • solution/ - កូដដំណោះស្រាយ (Python និង R)
  • assignment.md - លំហាត់អនុវត្ត
  • images/ - ឯកសារទ្រព្យសម្បត្តិរូបភាព

Setup Commands

For Python Lessons

មេរៀនភាគច្រើនប្រើសៀវភៅកិច្ចការជាមួយ Jupyter។ តំឡើងអ្វីដែលត្រូវការ៖

# តំឡើង Python 3.8+ ប្រសិនបើមិនបានតំឡើងរួចជាមុន
python --version

# តំឡើង Jupyter
pip install jupyter

# តំឡើងបណ្ណាល័យ ML រួមៗ
pip install scikit-learn pandas numpy matplotlib seaborn

# សម្រាប់មេរៀនជាក់លាក់ សូមពិនិត្យតម្រូវការជាក់លាក់សម្រាប់មេរៀននោះ
# ឧទាហរណ៍៖ មេរៀនកម្មវិធីវេប
pip install flask

For R Lessons

មេរៀន R ស្ថិតក្នុងថត solution/R/ ជាឯកសារ .rmd.ipynb

# ដំឡើង R និងកញ្ចប់ដែលត្រូវការ
# នៅក្នុងកុងសូល R:
install.packages(c("tidyverse", "tidymodels", "caret"))

For Quiz Application

កម្មវិធីសាកល្បងគឺនូវកម្មវិធី Vue.js ដែលស្ថិតនៅថត quiz-app/

cd quiz-app
npm install

For Documentation Site

ដើម្បីរត់គេហទំព័រឯកសារនៅក្នុងម៉ាស៊ីនកុំព្យូទ័រ៖

# ដំឡើង Docsify
npm install -g docsify-cli

# សេវាកម្មពីឫសហាងស្តុក
docsify serve

# ចូលប្រើនៅ http://localhost:3000

Development Workflow

Working with Lesson Notebooks

១. ទៅកាន់ថតមេរៀន (ឧ. 2-Regression/1-Tools/) ២. បើកសៀវភៅកិច្ចការជា Jupyter:

jupyter notebook notebook.ipynb

៣. ធ្វើខ្សែសំរាប់កម្រិតមេរៀននិងលំហាត់ ៤. ពិនិត្យដំណោះស្រាយក្នុងថត solution/ ប្រសិនបើចាំបាច់

Python Development

  • មេរៀនប្រើបណ្ណាល័យវិទ្យាសាស្ដ្រទិន្នន័យ Python ស្តង់ដារ
  • សៀវភៅកិច្ចការជា Jupyter សម្រាប់សិក្សាផ្ទាល់
  • កូដដំណោះស្រាយមានក្នុងថត solution/ រាល់មេរៀន

R Development

  • មេរៀន R មានទ្រង់ទ្រាយ .rmd (R Markdown)
  • ដំណោះស្រាយស្ថិតនៅក្នុងថត solution/R/
  • ប្រើ RStudio ឬ Jupyter ជាមួយកឺណែល R ដើម្បីរត់សៀវភៅ R

Quiz Application Development

cd quiz-app

# ចាប់ផ្តើមម៉ាស៊ីនមេអភិវឌ្ឍន៍
npm run serve
# ចូលប្រើនៅ http://localhost:8080

# សាងសង់សម្រាប់ផលិតកម្ម
npm run build

# ពិនិត្យនិងជួសជុលឯកសារ
npm run lint

Testing Instructions

Quiz Application Testing

cd quiz-app

# ពិនិត្យកូដ
npm run lint

# សង់ដើម្បីផ្ទៀងផ្ទាត់ថាមិនមានកំហុសណាមួយ
npm run build

Note: នេះគឺជាឃ្លាំងមេរៀនសំរាប់ការអប់រំបំផុត។ គ្មានការធ្វើតេស្តស្វ័យប្រវត្តិសម្រាប់មាតិកាមេរៀនទេ។ ការផ្ទៀងផ្ទាត់ត្រូវបានធ្វើតាម៖

  • បញ្ចប់លំហាត់មេរៀន
  • រត់កោដ្ឋ Jupyter ឲ្យបានជោគជ័យ
  • ពិនិត្យលទ្ធផលអោយទៅតាមការរំពឹងទុកក្នុងដំណោះស្រាយ

Code Style Guidelines

Python Code

  • បន្ទាប់បន្សាំនូវគន្លង PEP 8
  • ប្រើឈ្មោះអថេរបញ្ជាក់ច្បាស់
  • កំណត់សំគាល់សម្រាប់ដំណើរការលំបាក
  • សៀវភៅ Jupyter ត្រូវមានកោដ្ឋ markdown សំរាប់ពន្យល់គំនិត

JavaScript/Vue.js (Quiz App)

  • គោរពតាមម៉ូដែល Vue.js
  • ការកំណត់ ESLint នៅក្នុង quiz-app/package.json
  • រត់ npm run lint ដើម្បីពិនិត្យ និងជួសជុលបញ្ហា

Documentation

  • ឯកសារ markdown គួរតែល្អ និងមានរចនាសម្ព័ន្ធល្អ
  • រួមបញ្ចូលខេនដេមកូដនៅក្នុងប្រអប់បិទបើក
  • ប្រើតំណភ្ជាប់ទាក់ទងសម្រាប់យោងខាងក្នុង
  • គោរពទ្រង់ទ្រាយដែលមានរួចជាមុន

Build and Deployment

Quiz Application Deployment

កម្មវិធីសាកល្បងអាចប្រើបានក្នុង Azure Static Web Apps៖

១. លក្ខខណ្ឌមុន

  • គណនី Azure
  • ឃ្លាំង GitHub (បាន fork រួច)

២. បញ្ចូនទៅ Azure

  • បង្កើតធនធាន Azure Static Web App
  • ភ្ជាប់ទៅឃ្លាំង GitHub
  • កំណត់ទីតាំងកម្មវិធី: /quiz-app
  • កំណត់ទីតាំងលទ្ធផល: dist
  • Azure បង្កើត GitHub Actions workflow ដោយស្វ័យប្រវត្តិ

៣. GitHub Actions Workflow

  • គំនិតកម្មវិធី workflow នៅ .github/workflows/azure-static-web-apps-*.yml
  • បង្កើត និងដាក់ចេញស្វ័យប្រវត្តិពេល push ទៅផ្នែក main

Documentation PDF

បង្កើត PDF ពីឯកសារអ្នកតាំង៖

npm install
npm run convert

Translation Workflow

សំខាន់៖ ការប្រែបកបម្លែងនៅតែបន្តដោយស្វ័យប្រវត្តិតាមរយៈ GitHub Actions ប្រើកម្មវិធី Co-op Translator។

  • ការប្រែបកបម្លែងបានបង្កើតឡើងដោយស្វ័យប្រវត្តិពេលមានការផ្លាស់ប្តូរនៅផ្នែក main
  • សូមមិន​ប្រែទាំងអស់ដោយដៃ - ប្រព័ន្ធបានដោះស្រាយនេះ
  • កម្មវិធី workflow មាននៅ .github/workflows/co-op-translator.yml
  • ប្រើសេវា AI/OpenAI របស់ Azure សម្រាប់បកប្រែ
  • គាំទ្រភាសាជាង ៤០

Contributing Guidelines

For Content Contributors

១. ធ្វើ fork ឃ្លាំងហើយបង្កើតសាខាកំណត់ឡើងវិញ ២. បង្កើតការផ្លាស់ប្តូរមេរៀន ប្រសិនបើបន្ថែម/ធ្វើបច្ចុប្បន្នភាពមេរៀន ៣. កុំដូរ ឯកសារប្រែ - ពួកវាត្រូវបានបង្កើតស្វ័យប្រវត្តិ ៤. ធ្វើតេស្តកូដ - បញ្ចប់ការរត់នៃកោដ្ឋឲ្យបានជោគជ័យ ៥. ពិនិត្យតំណភ្ជាប់ និងរូបភាព ឲ្យបានត្រឹមត្រូវ ៦. ដាក់ស្នើ pull request ជាមួយការពិពណ៌នាច្បាស់លាស់

Pull Request Guidelines

  • ទ្រង់ទ្រាយចំណងជើង[ផ្នែក] សេចក្ដីពិពណ៌នាខ្លីអំពីការផ្លាស់ប្តូរ
    • ឧ.៖ [Regression] កែសម្រួលកំហុសពាក្យនៅមេរៀនលេខ ៥
    • ឧ.៖ [Quiz-App] បច្ចុប្បន្នភាពអស់កល្បជំនួយ
  • មុនដាក់ស្នើ
    • ឆែកថាឲ្យកោដ្ឋ Jupyter រត់បានទាំងអស់ដោយគ្មានកំហុស
    • រត់ npm run lint ប្រសិនបើកែប្រែកម្មវិធីសាកល្បង
    • ពិនិត្យទ្រង់ទ្រាយ markdown
    • សាកល្បងឧទាហរណ៍កូដថ្មីៗ
  • PR ត្រូវមាន
    • ពិពណ៌នាអំពីការផ្លាស់ប្តូរ
    • ហេតុផលនៃការផ្លាស់ប្តូរ
    • រូបថតផ្ទាំងពេល UI ផ្លាស់ប្តូរ
  • Code of Conduct៖ គោរពតាម Microsoft Open Source Code of Conduct
  • CLA៖ អ្នកត្រូវចុះហត្ថបទ Contributor License Agreement

Lesson Structure

រៀងរាល់មេរៀនមានលំនាំដូចតទៅ៖

១. សាកល្បងមុនបង្ហាញមេរៀន - តេស្តចំណេះដឹងមូលដ្ឋាន ២. មាតិកាមេរៀន - វិធានការនិងពណ៌នាច្បាស់លាស់ ៣. ការបង្ហាញកូដ - ឧទាហរណ៍អនុវត្តក្នុងសៀវភៅកិច្ចការចេញពីសៀវភៅ ៤. ការត្រួតពិនិត្យចំណេះដឹង - បញ្ជាក់ការយល់ដឹងរបស់អ្នកសិក្សា ៥. សកម្មភាពប défi - អនុវត្តគំនិតដោយឯករាជ្យ ៦. ការងារសិក្សា - លំហាត់បន្ថែម ៧. សាកល្បងក្រោយបង្ហាញមេរៀន - វាស់តម្លៃលទ្ធផលការសិក្សា

Common Commands Reference

# Python/Jupyter
jupyter notebook                    # ចាប់ផ្តើមម៉ាស៊ីនបម្រើ Jupyter
jupyter notebook notebook.ipynb     # បើកសៀវភៅកំណត់សម្រាប់ជាក់លាក់
pip install -r requirements.txt     # ដំឡើង依赖项 (នៅពេលមាន)

# កម្មវិធីសំណួរ
cd quiz-app
npm install                        # ដំឡើង依赖项
npm run serve                      # ម៉ាស៊ីនបម្រើអភិវឌ្ឍន៍
npm run build                      # សង់ការផលិត
npm run lint                       # ពិនិត្យនិងជួសជុលកូដ

# ឯកសារ
docsify serve                      # បម្រើឯកសារនៅលើម៉ាស៊ីនដំណើរការផ្ទាល់
npm run convert                    # បង្កើតឯកសារ PDF

# ដំណើរការការងារ Git
git checkout -b feature/my-change  # បង្កើតសាខាឯកសារ
git add .                         # រៀបចំការផ្លាស់ប្ដូរ
git commit -m "Description"       # ប្តឹងការផ្លាស់ប្ដូរ
git push origin feature/my-change # ទំនាក់ទំនងទៅពីចម្ងាយ

Additional Resources

Key Technologies

  • Python: ភាសាសំខាន់សម្រាប់មេរៀន ML (Scikit-learn, Pandas, NumPy, Matplotlib)
  • R: ជម្រើសផ្សេងក្នុងការប្រើ tidyverse, tidymodels, caret
  • Jupyter: សៀវភៅកិច្ចការផ្លូវចូលសម្រាប់មេរៀន Python
  • R Markdown: ឯកសារសម្រាប់មេរៀន R
  • Vue.js 3: ស៊ុមកម្មវិធីសាកល្បង
  • Flask: ស៊ុមកម្មវិធីតំបន់វេបសម្រាប់ដាក់ម៉ូដែល ML
  • Docsify: កម្មវិធីបង្កើតគេហទំព័រកម្រងឯកសារ
  • GitHub Actions: CI/CD និងការប្រែបកស្វ័យប្រវត្តិ

Security Considerations

  • គ្មានសម្ងាត់ក្នុងកូដ: មិនបណ្តេញ API key ឬស្នាក់ហេតុវិញ
  • ការពឹងផ្អែក: រក្សាឲ្យ npm និង pip ឡើងវិញជានិច្ច
  • ការបញ្ចូលអ្នកប្រើ: ឧទាហរណ៍វេប Flask មានការត្រួតពិនិត្យ input មូលដ្ឋាន
  • ទិន្នន័យរបស់អ្នកប្រើ: ឧទាហរណ៍ទិន្នន័យពេញចិត្ត និងមិនសំខាន់

Troubleshooting

Jupyter Notebooks

  • បញ្ហាគឺណែល: ចាប់ផ្តើមឡើងវិញ kernel ប្រសិនបើកោដ្ឋអង្គភាពផ្អាក: Kernel → Restart
  • បញ្ហានាំចូល: ច្បាស់ថាមិនខ្វះការដំឡើងបណ្ណាល័យជាមួយ pip
  • បញ្ហាផ្លូវការដំណើរការ: រត់សៀវភៅពីថតមេរបស់វា

Quiz Application

  • npm install បរាជ័យ: សម្អាត cache npm: npm cache clean --force
  • ប្រហោង port ប្រកែក: ផ្លាស់ប្តូរប្រហោងជាមួយ: npm run serve -- --port 8081
  • បញ្ហាការសង់: លុប node_modules ហើយដំឡើងឡើងវិញ: rm -rf node_modules && npm install

R Lessons

  • កញ្ចប់មិនមានជារៀងរាល់ថ្ងៃ: ដំឡើងជាមួយ: install.packages("package-name")
  • ការបម្រុង RMarkdown: ប្រាកដថាកញ្ចប់ rmarkdown ត្រូវបានដំឡើង
  • បញ្ហាគឺណែល: អាចត្រូវដំឡើង IRkernel សម្រាប់ Jupyter

Project-Specific Notes

  • នេះជាកម្មវិធីសិក្សាទូទៅ មិនមែនគឺកូដផលិតកម្ម
  • ផ្តោតលើការយល់ដឹងគំនិត ML តាមការអនុវត្តទាំងអស់
  • ឧទាហរណ៍កូដផ្តោតលើភាពវចនាធិប្បាយល្អ
  • មេរៀនភាគច្រើនមានតែម្ដង ហើយអាចបញ្ចប់ដោយខ្លួនឯង
  • បានផ្តល់ដំណោះស្រាយ ប៉ុន្តែអ្នកសិក្សាគួរព្យាយាមលំហាត់ជាមុន
  • ឃ្លាំងប្រើ Docsify សម្រាប់បង្កើតគេហទំព័រឯកសារដោយគ្មានដំណើរការសង់
  • សេចក្ដីសង្ខេបជារូបភាព (Sketchnotes) ផ្តល់ការពន្យល់យ៉ាងច្បាស់អំពីគំនិត
  • គាំទ្រភាសាច្រើនធ្វើឲ្យមាតិកាដំណើរការជាសកល

ការជម្រាបជូន
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ខណៈពេលយើងខិតខំប្រឹងប្រែងសម្រាប់ភាពត្រឹមត្រូវ សូមកត់សម្គាល់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពមិនត្រឹមត្រូវខ្លះ។ ឯកសារដើមក្នុងភាសាម្ចាស់ដើមគួរត្រូវបានគេយកសម្រាប់ប្រភពត្រឹមត្រូវជាចម្បង។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្តល់អនុសាសន៍ការបកប្រែដោយអ្នកជំនាញមនុស្ស។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសៗណាមួយ ដែលបណ្តាលមកពីការប្រើប្រាស់ការបកប្រែនេះទេ។