[km] chore(i18n): sync translations

Sync translations with latest source changes.
Languages: Khmer [km]
update-translations
localizeflow[bot] 7 days ago
parent 21868bebb6
commit 3a859a4006

@ -12,8 +12,8 @@
"language_code": "km"
},
"1-Introduction/01-defining-data-science/notebook.ipynb": {
"original_hash": "8f5eb7b3f7cc89e6d98fb32e1de65dec",
"translation_date": "2026-04-06T17:46:26+00:00",
"original_hash": "8eb07e3d899aaba7ea9c9ec9b5aa2850",
"translation_date": "2026-07-17T20:24:22+00:00",
"source_file": "1-Introduction/01-defining-data-science/notebook.ipynb",
"language_code": "km"
},
@ -42,8 +42,8 @@
"language_code": "km"
},
"1-Introduction/03-defining-data/README.md": {
"original_hash": "12339119c0165da569a93ddba05f9339",
"translation_date": "2026-04-06T17:01:57+00:00",
"original_hash": "7217c6f9eb464d4ff4bae6c036ab53cb",
"translation_date": "2026-07-17T20:26:17+00:00",
"source_file": "1-Introduction/03-defining-data/README.md",
"language_code": "km"
},
@ -72,8 +72,8 @@
"language_code": "km"
},
"1-Introduction/04-stats-and-probability/notebook.ipynb": {
"original_hash": "0f899e3c5019f948e7c787b22f3b2304",
"translation_date": "2026-04-06T17:48:05+00:00",
"original_hash": "0c77e104b29c723287bf11b773fcc5d5",
"translation_date": "2026-07-17T20:25:39+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "km"
},
@ -132,8 +132,8 @@
"language_code": "km"
},
"2-Working-With-Data/07-python/notebook-covidspread.ipynb": {
"original_hash": "6335cccba01dc6ad7b15aba7a8c73f38",
"translation_date": "2026-04-06T17:53:49+00:00",
"original_hash": "da97f98781c7cd271063f605fe8d71d0",
"translation_date": "2026-07-17T20:23:46+00:00",
"source_file": "2-Working-With-Data/07-python/notebook-covidspread.ipynb",
"language_code": "km"
},
@ -294,14 +294,14 @@
"language_code": "km"
},
"3-Data-Visualization/13-meaningful-visualizations/solution/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2026-04-06T17:32:45+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T20:26:25+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/solution/README.md",
"language_code": "km"
},
"3-Data-Visualization/13-meaningful-visualizations/starter/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2026-04-06T17:32:33+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T20:26:22+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/starter/README.md",
"language_code": "km"
},

File diff suppressed because one or more lines are too long

@ -4,75 +4,76 @@
|:---:|
|ការកំណត់ទិន្នន័យ - _Sketchnote ដោយ [@nitya](https://twitter.com/nitya)_ |
ទិន្នន័យគឺជាតុល្យភាពពិត ឆែកមើល និងការវាស់វែងដែលប្រើសម្រាប់រកឃើញ និងគាំទ្រការសម្រេចចិត្តមានដំណឹង។ ពិន្ទុទិន្នន័យមួយគឺជាឯកតាតែមួយនៃទិន្នន័យក្នុងលំដាប់ទិន្នន័យមួយ ដែលជាការប្រមូលផ្តុំគ្រប់ពិន្ទុទិន្នន័យ ។ លំដាប់ទិន្នន័យអាចមានទ្រង់ទ្រាយ និងរចនាសម្ព័ន្ធខុសគ្នា ហើយភាគច្រើនអាស្រ័យលើប្រភពរបស់វា ឬកន្លែងដែលទិន្នន័យមកពី។ ឧទាហរណ៍ អំណោយខែរបស់ក្រុមហ៊ុនអាចនៅក្នុងសន្លឹកប៉ារ៉ាហ្វតមួយ ប៉ុន្តែទិន្នន័យអត្រាព្រោះបេះដូងម៉ោងពីនាវាតណឹមខ្លះអាចនៅក្នុងទ្រង់ទ្រាយ [JSON](https://stackoverflow.com/a/383699) ។ វាជារឿងធម្មតាដែលអ្នកវិទ្យាសាស្ត្រទិន្នន័យធ្វើការជាមួយប្រភេទទិន្នន័យខុសៗគ្នាក្នុងលំដាប់ទិន្នន័យវិញ
ទិន្នន័យគឺជោការពិត ព័ត៌មាន ការសង្កេត និងការវាស់វង់ដែលត្រូវបានប្រើសម្រាប់ធ្វើការស្រាវជ្រាវ និងគាំទ្រការសម្រេចចិត្តដែលបានចេះដឹង។ ចំណុចទិន្នន័យគឺជាឯកតាតែមួយនៃទិន្នន័យក្នុងសំណុំទិន្នន័យមួយ ដែលជាការប្រមូលផ្តុំចំណុចទិន្នន័យ។ សំណុំទិន្នន័យអាចមកក្នុងទ្រង់ទ្រាយ និងរចនាសម្ព័ន្ធខុសគ្នា ហើយភាគច្រើននឹងផ្អែកលើប្រភពរបស់វា ឬកន្លែងដែលទិន្នន័យបានមកពី។ ឧទាហរណ៍ ការចំណូលប្រចាំខែរបស់ក្រុមហ៊ុនអាចមាននៅក្នុងសន្លឹកបង្កើត តែកំណត់បេះដូងបេះដូងរៀលរបស់ម៉ោងពីនាឡិកាឆ្លាតតូចអាចមាននៅក្នុងទ្រង់ទ្រាយ [JSON](https://stackoverflow.com/a/383699) ។ វាជារឿងធម្មតាសម្រាប់អ្នកវិទ្យាសាស្រ្តទិន្នន័យក្នុងការធ្វើការជាមួយប្រភេទទិន្នន័យផ្សេងៗនៅក្នុងសំណុំទិន្នន័យមួយ
មេរៀននេះផ្ដោតលើការកំណត់ និងចំណាត់ថ្នាក់ទិន្នន័យដោយលក្ខណៈ និងប្រភពរបស់វា។
មេរៀននេះផ្តោតលើការបញ្ជាក់ និងចាត់ថ្នាក់ទិន្នន័យដោយគុណលក្ខណៈ និងប្រភពរបស់វា។
## [គន្លងសំរឹទ្ធាដំបូង](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## របៀបពិពណ៌នាទិន្នន័យ
## [សំនួរពីមុនពេលបង្រៀន](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## របៀបដែលទិន្នន័យត្រូវបានពិពណ៌នា
### ទិន្នន័យដើម
ទិន្នន័យដើមគឺជាទិន្នន័យដែលបានមកពីប្រភពរបស់វានៅសភាពដើម និងមិនទាន់បានវិភាគ ឬរៀបចំឡើយ។ ដើម្បីយល់ថាតើអ្វីកំពុងកើតឡើងជាមួយលំដាប់ទិន្នន័យ អ្នកត្រូវរៀបចំវាទៅក្នុងទ្រង់ទ្រាយដែលមនុស្ស និងបច្ចេកវិទ្យាដែលពួកគេប្រើអាចយល់បានច្រើនបន្ថែមទៀត។ រចនាសម្ព័ន្ធរបស់លំដាប់ទិន្នន័យពិពណ៌នាថាតើវាត្រូវបានរៀបចំយ៉ាងដូចម្តេច ហើយអាចចំណាត់ថ្នាក់ជា រចនាសម្ព័ន្ធ, មិនរចនាសម្ព័ន្ធ និង អមដោយរចនាសម្ព័ន្ធ។ ប្រភេទរចនាសម្ព័ន្ធទាំងនេះនឹងខុសគ្នា អាស្រ័យលើប្រភព ប៉ុន្តែចុងក្រោយនឹងសម្របគ្នានៅក្នុងបីប្រភេទនេះ។
ទិន្នន័យដើមគឺជាទិន្នន័យដែលមកពីប្រភពរបស់វានៅក្នុងសភាពដើម និងមិនទាន់ត្រូវបានវិភាគ ឬរៀបចំឡើយ។ ដើម្បីយល់ពីអ្វីកំពុងកើតឡើងជាមួយសំណុំទិន្នន័យ វាត្រូវតែត្រូវបានរៀបចំក្នុងទ្រង់ទ្រាយដែលមនុស្ស និងបច្ចេកវិទ្យាដែលប្រើប្រាស់សម្រាប់វិភាគបន្ថែមអាចយល់បាន។ រចនាសម្ព័ន្ធសំណុំទិន្នន័យពណ៌នាថាវាត្រូវបានរៀបចំយ៉ាងដូចម្តេច ហើយអាចចាត់ថ្នាក់ជារចនាសម្ព័ន្ធ មានរចនាសម្ព័ន្ធ មិនមានរចនាសម្ព័ន្ធ និងរចនាសម្ព័ន្ធរាក់ឡាយ។ ប្រភេទរចនាសម្ព័ន្ធទាំងនេះនឹងខុសគ្នាតាមប្រភព ប៉ុន្តែចុងក្រោយនឹងសម្តែងនៅក្នុងបីប្រភេទនេះ។
### ទិន្នន័យកំណិត
ទិន្នន័យកំណិតគឺជាការពិចារណាលេខនៅក្នុងលំដាប់ទិន្នន័យ ហើយភាគច្រើនអាចវិភាគ វាស់វែង និងប្រើគណិតវិទ្យា។ ឧទាហរណ៍នៃទិន្នន័យកំណិតរួមមាន៖ ប្រជាជនប៉ុណ្ណុម្នាក់របស់ប្រទេស មនុស្សម្នាក់កម្ពស់ ឬប្រាក់ចំណូលត្រីមាសរបស់ក្រុមហ៊ុនមួយ។ ជាមួយការវិភាគបន្ថែម ទិន្នន័យកំណិតអាចប្រើសម្រាប់រកទំនុំរដូវរបស់ទិន្នន័យគុណភាពខ្យល់ (AQI) ឬគណនាការព្យាករណ៍នៃចរន្តចរាចរណ៍ម៉ោងកំពុងត្រូវក្នុងថ្ងៃធ្វើការ។
### ទិន្នន័យបរិមាណ
ទិន្នន័យបរិមាណគឺជាការសង្កេតជាលេខក្នុងសំណុំទិន្នន័យ ហើយជាធម្មតាអាចវិភាគ វាស់ និងប្រើប្រាស់គណិតវិធីបាន។ ឧទាហរណ៍ខ្លះៗនៃទិន្នន័យបរិមាណមាន៖ ប្រជាជនប្រទេសមួយ, កម្ពស់មនុស្សម្នាក់ ឬប្រាក់ចំណូលត្រីមាសរបស់ក្រុមហ៊ុន។ ជាមួយនឹងការវិភាគបន្ថែម ទិន្នន័យបរិមាណអាចប្រើសម្រាប់រកទំនុំរដូវកាលនៃសន្ទស្សន៍គុណភាពខ្យល់ (AQI) ឬប៉ាន់ប្រមាណភាពធ្លាក់ចុះនៃចរាចរណ៍ម៉ោងចរចនារសៀលនៅថ្ងៃធ្វើការ។
### ទិន្នន័យគុណលក្ខណៈ
ទិន្នន័យគុណលក្ខណៈដែលគេហៅថា ទិន្នន័យចំណាត់ថ្នាក់ គឺជាទិន្នន័យដែលមិនអាចវាស់វែងដោយអOBJECTIVES ដូចជាការពិចារណាទិន្នន័យកំណិត។ វាជាទូទៅជា ទិន្នន័យដែលមានទម្រង់ច្រើននៃទិន្នន័យមានទម្រង់បុគ្គលដែលចាប់យកគុណភាពនៃអ្វីមួយ ដូចជាផលិតផល ឬដំណើរការ។ ម្តងម្ដង ទិន្នន័យគុណលក្ខណៈអាចជាអក្សរគណនា មិនត្រូវបានប្រើគណិតវិទ្យារួមដូចជាលេខទូរស័ព្ទឬពេលវេលា។ ឧទាហរណ៍នៃទិន្នន័យគុណលក្ខណៈមាន៖ មតិយោបល់វីដេអូ ម៉ាក និងម៉ូឌែលរថយន្ត ឬពណ៌ដែលមិត្តភក្តិជិតស្និទ្ធចូលចិត្ត។ ទិន្នន័យគុណលក្ខណៈអាចប្រើសម្រាប់យល់ថាផលិតផលណាដែលអ្នកប្រើប្រាស់ចូលចិត្តបំផុត ឬកំណត់ពាក្យគន្លឹះមានប្រជាប្រិយក្នុងប្រវត្តិរូបការងារ។
ទិន្នន័យគុណលក្ខណៈ ដែលគេហៅថាទិន្នន័យប្រភេទប្រៀបធៀប គឺជាទិន្នន័យដែលមិនអាចវាស់វែងយ៉ាងឥតពណ៌លក្ខណៈដូចការសង្កេតទិន្នន័យបរិមាណ។ វាជាទូទៅជាទិន្នន័យដែលមានទ្រង់ទ្រាយបញ្ញាតិចផ្សេងៗ ដែលចាប់យកគុណភាពរបស់អ្វីមួយ ដូចជាផលិតផល ឬដំណើរការ។ មួយចំនួនទិន្នន័យគុណលក្ខណៈជាលេខហើយមិនត្រូវបានប្រើនៅក្នុងគណិតវិធីជាធម្មតា ដូចជាលេខទូរស័ព្ទ ឬពេលវេលា។ ឧទាហរណ៏នៃទិន្នន័យគុណលក្ខណៈមាន៖ មតិវីដេអូ ពីតែមួយម៉ូដែលនៃរថយន្ត ឬពណ៌ដែលមិត្តជិតស្និទ្ធរបស់អ្នកចូលចិត្ត។ ទិន្នន័យគុណលក្ខណៈអាចប្រើសម្រាប់យល់ពីផលិតផលដែលភាគហ៊ុនចូលចិត្ត ឬកំណត់ពាក្យគន្លឹះពេញនិយមនៅក្នុងប្រវត្តិរូបស្នើសុំការងារ។
### ទិន្នន័យរចនាសម្ព័ន្ធ
ទិន្នន័យរចនាសម្ព័ន្ធគឺជាទិន្នន័យដែលរៀបចំជាគ្រាប់ជួរក និងជួរឈរ ដែលជួរដែលមួយនឹងមានជួរឈរដដែលគ្នា។ ជួរឈរតំណាងឱ្យតម្លៃមួយប្រភេទ ហើយនឹងត្រូវបានកំណត់ជាមួយឈ្មោះមួយបញ្ជាក់ថាតម្លៃនេះតំណាងអ្វី ខណៈដែលជួរក្នុងមានតម្លៃពិតប្រាកដ។ ជួរឈរមានច្បាប់ ឬការរឹតត្បិតលើតម្លៃនេះដើម្បីធានាថាតម្លៃតំណាងបានត្រឹមត្រូវ។ ឧទាហរណ៍ ចូរត្រួតសន្លឹកអតិថិជនដែលជួរមួយត្រូវមានលេខទូរស័ព្ទ ហើយលេខទូរស័ព្ទមិនមានអក្សរទេទេ។ អាចមានច្បាប់អនុវត្តលើជួរឈរលេខទូរស័ព្ទដើម្បីប្រាកដថាវាមានតម្លៃមិនទទេ និងផ្សំច្រើនតែជាលេខ។
### ទិន្នន័យដែលមានរចនាសម្ព័ន្ធ
ទិន្នន័យដែលមានរចនាសម្ព័ន្ធគឺជាទិន្នន័យដែលរៀបចំក្នុងជួរដេក និងជួរឈរ ដែលជួរដេកមួយៗនឹងមានជួរឈរដដែលគ្នា។ ជួរឈរតំណាងឱ្យតម្លៃប្រភេទមួយ និងត្រូវបានកំណត់ជាមួយឈ្មោះ ដែលពន្យល់អំពីអ្វីដែលតម្លៃតំណាងឱ្យ ខណៈដែលជួរដេកមានតម្លៃពិតប្រាកដ។ ជួរឈរមិនធ្លាប់មានច្បាប់ ឬកំណត់លើតម្លៃ ដើម្បីធានាថាតម្លៃតំណាងឱ្យជួរឈរនោះយ៉ាងត្រឹមត្រូវ។ ឧទាហរណ៍ ស\Columnព្រះ\ផ្ទាល់ខ្លួនវាត្រូវមានលេខទូរស័ព្ទ ហើយលេខទូរស័ព្ទមិនមានតួអក្សរព្រិល។ អាចមានច្បាប់ ចំពោះជួរឈរលេខទូរស័ព្ទ ដើម្បីធានាថាវាពុំទទេ ហើយមានតម្លៃខ្ពស់គឺលេខ។
អត្ថប្រយោជន៍នៃទិន្នន័យរចនាសម្ព័ន្ធគឺ វាអាចរៀបចំជារបៀបដែលអាចទាក់ទងទៅនឹងទិន្នន័យរចនាសម្ព័ន្ធផ្សេងទៀត។ ប៉ុន្តែដោយសារតែទិន្នន័យត្រូវបានរចនាឡើងឱ្យរៀបចំយ៉ាងជាក់លាក់ ការផ្លាស់ប្តូររចនាសម្ព័ន្ធទាំងមូលអាចចំណាយពេល និងកម្លាំង។ ឧទាហរណ៍ ការបន្ថែមជួរឈរអ៊ីម៉ែលនៅក្នុងសន្លឹកអតិថិជនដែលមិនអាចទទេ វាមានន័យថាអ្នកត្រូវវាយតម្លៃថាតើធ្វើដូចម្តេចដើម្បីបញ្ចូលតម្លៃទាំងនេះទៅលើជួរដែលមានរួចហើយ។
អត្ថប្រយោជន៍មួយនៃទិន្នន័យដែលមានរចនាសម្ព័ន្ធគឺវាអាចត្រូវបានរៀបចំដូច្នេះវាអាចទាក់ទងទៅនឹងទិន្នន័យដែលមានរចនាសម្ព័ន្ធផ្សេងទៀត។ ទោះយ៉ាងណា ព្រោះទិន្នន័យត្រូវបានរចនាឡើងសម្រាប់រៀបចំជារបៀបពិសេស ការផ្លាស់ប្តូររចនាសម្ព័ន្ធទាំងមូលអាចត្រូវការខិតខំយ៉ាងច្រើន។ ឧទាហរណ៍ ការបន្ថែមជួរឈរអ៊ីមែលទៅក្នុងសន្លឹកបង្កើតអតិថិជនដែលមិនអាចទទេមានន័យថាអ្នកត្រូវតែស្វែងរកវិធីដែលអ្នកនឹងបន្ថែមតម្លៃទាំងនេះទៅជួរដេកអតិថិជនដែលមានរួចនៅក្នុងសំណុំទិន្នន័យ។
ឧទាហរណ៍ទិន្នន័យរចនាសម្ព័ន្ធ៖ សន្លឹកប៉ារ៉ាហ្វត ឃ្លាំងទិន្នន័យទំនាក់ទំនង លេខទូរស័ព្ទ ស្ថានភាពគណនីធនាគារ
ឧទាហរណ៍នៃទិន្នន័យដែលមានរចនាសម្ព័ន្ធ៖ សន្លឹកបង្កើត ឃ្លាំងទិន្នន័យទំនាក់ទំនង លេខទូរស័ព្ទ ពាក្យបញ្ជា​ធនាគារ
### ទិន្នន័យមិនរចនាសម្ព័ន្ធ
ទិន្នន័យមិនរចនាសម្ព័ន្ធភាគច្រើនមិនអាចចំណាត់ថ្នាក់ទៅជាជួរ ឬជួរឈរបានទេ ហើយមិនមានទ្រង់ទ្រាយ ឬច្បាប់ណាមួយត្រូវធ្វើតាម។ ដោយសារតែទិន្នន័យមិនរចនាសម្ព័ន្ធមានការរឹតត្បិតតិចលើរចនាសម្ព័ន្ធ វាធ្វើឱ្យងាយស្រួលបន្ថែមព័ត៌មានថ្មីជាងទិន្នន័យរចនាសម្ព័ន្ធផ្ទះ។ ប្រសិនបើឧបករណ៍ចាប់សិនស៊ែរប្រមាណបារម៉ែត្រិករៀងរាល់ ២ នាទី បានទទួលការអាប់ដេតដែលអនុញ្ញាតឱ្យវាវាស់ និងកត់ត្រាសីតុណ្ហភាព ពុំចាំបាច់កែប្រែទិន្នន័យដែលមានរួចទេ ប្រសិនបើវាជាទិន្នន័យមិនរចនាសម្ព័ន្ធ។ ទោះជាយ៉ាងណា នេះអាចធ្វើឱ្យការវិភាគ ឬការស្ទង់មតិនៃទិន្នន័យនេះយឺតជាងមុន។ ឧទាហរណ៍ សាកលវិទ្យាធិការម្នាក់ចង់ស្វែងរកសីតុណ្ហភាពមធ្យមនៃខែមុនពីទិន្នន័យឧបករណ៍កញ្ចប់នេះ ហើយរកឃើញថាឧបករណ៍បានកត់ត្រាលេខ "e" នៅក្នុងទិន្នន័យដែលកត់ត្រា ដើម្បីសំគាល់វានៅក្នុងសភាពខូចប៉ុន្តែមិនមែនជាលេខថ្មីទេ គឺមានន័យថាទិន្នន័យមិនពេញលេញ។
### ទិន្នន័យមិនមានរចនាសម្ព័ន្ធ
ទិន្នន័យមិនមានរចនាសម្ព័ន្ធគឺភាគច្រើនមិនអាចចាត់ថ្នាក់ជា​ជួរដេកឬជួរឈរបាន ហើយមិនមានទ្រង់ទ្រាយ ឬច្បាប់ណាមួយគួរតែអនុវត្តន៍។ ព្រោះទិន្នន័យមិនមានរចនាសម្ព័ន្ធមានកំណត់តិចលើរចនាសម្ព័ន្ធ វាជាងងាយស្រួលបន្ថែមព័ត៌មានថ្មីៗ ប្រសិនបើបង្ហាប់ខ្យល់ដែលចាប់យកទិន្នន័យលើសំពាធបារម្ភរៀងរាល់ 2 នាទីបានទទួលការអាប់ដេតឱ្យវាសមត្ថភាពវាស់ និងកត់ត្រាសីតុណ្ហភាព វាមិនបាច់ប្រែស្លាបទិន្នន័យដែលមានមុនប្រសិនបើវាមិនមានរចនាសម្ព័ន្ធទេ។ ទន្ទឹមនឹងគ្នា វាអាចធ្វើអោយការវិភាគ ឬស្រាវជ្រាវលើប្រភេទទិន្នន័យនេះនឹងយកពេលវេលាច្រើន។ ឧទាហរណ៍ អ្នកវិទ្យាសាស្ត្រម្នាក់ដែលចង់រកសីតុណ្ហភាពមធ្យមប្រចាំខែមុនពីទិន្នន័យឧបករណ៍ចាប់យក តែរកឃើញថាឧបករណ៍បានកត់ត្រា​អក្សរ "e" នៅក្នុងទិន្នន័យកត់ត្រាលើកខ្លះ ដើម្បីសម្គាល់ថាវាដួលបែក មិនមែនជាលេខទេ មានន័យថាទិន្នន័យមិនបញ្ជេញ។
ឧទាហរណ៍ទិន្នន័យមិនរចនាសម្ព័ន្ធ៖ ឯកសារអត្ថបទ សារអត្ថបទ ឯកសារវីដេអូ
ឧទាហរណ៍នៃទិន្នន័យមិនមានរចនាសម្ព័ន្ធ៖ ឯកសារអត្ថបទ សារអត្ថបទ ឯកសារវីដេអូ
### អមដោយរចនាសម្ព័ន្ធ
ទិន្នន័យអមដោយរចនាសម្ព័ន្ធមានលក្ខណៈដែលធ្វើឱ្យវាជាការចម្រុះរវាងទិន្នន័យរចនាសម្ព័ន្ធ និងមិនរចនាសម្ព័ន្ធ។ វាមិនត្រូវតែគោរពតាមទ្រង់ទ្រាយជួរ និងជួរឈរ តែក៏ត្រូវបានរៀបចំដោយរបៀបដែលចាត់ទុកថារចនាសម្ព័ន្ធ ហើយក៏អាចមានទ្រង់ទ្រាយថេរ ឬច្បាប់មួយចំនួនត្រូវតាមដែរ។ រចនាសម្ព័ន្ធនឹងខុសគ្នារវាងប្រភព ដូចជា វាលំដាប់លំដោយបានកំណត់ ឬអ្វីមួយដែលបត់បែនផាសុកភាពដែលអនុញ្ញាតឱ្យបញ្ចូលព័ត៌មានថ្មីបានយ៉ាងងាយស្រួល។ បទទិន្នន័យគឺជាសញ្ញាដែលជួយសម្រេចចិត្តការរៀបចំ និងផ្ទុកទិន្នន័យ ហើយមានឈ្មោះផ្សេងៗគ្នា លោកតាមប្រភេទទិន្នន័យ។ ឧទាហរណ៍ សារអ៊ីមែលមួយធម្មតានឹងមានប្រធានបទ ខ្លឹមសារ និងក្រុមអ្នកទទួល និងអាចរៀបចំតាមនរណាមក ឬពេលវេលាផ្ញើ។
### រចនាសម្ព័ន្ធរាក់ឡាយ
ទិន្នន័យរចនាសម្ព័ន្ធរាក់ឡាយមានលក្ខណៈដែលធ្វើឱ្យវាជាការរួមបញ្ចូលរវាងទិន្នន័យដែលមានរចនាសម្ព័ន្ធ និងមិនមានរចនាសម្ព័ន្ធ។ វាមិនភាគច្រើនអនុវត្តតាមទ្រង់ទ្រាយជួរដេក និងជួរឈរទេ ប៉ុន្តែវាត្រូវបានរៀបចំយ៉ាងដែលចាត់ទុកថាដូចរចនាសម្ព័ន្ធ ហើយអាចធ្វើតាមទ្រង់ទ្រាយកំណត់ ឬច្បាប់មួយ។ រចនាសម្ព័ន្ធនឹងខុសគ្នារវាងប្រភព ដូចជាមានតារាងចំណាត់ថ្នាក់លម្អិត ទៅរបស់អាចបត់បែន ដែលអនុញ្ញាតឱ្យបញ្ចូលព័ត៌មានថ្មីបានងាយស្រួល។ មេតា​ដាតា​គឺជាសញ្ញាណដែលជួយសម្រេចថាតើទិន្នន័យត្រូវបានរៀបចំ និងរក្សាទុកយ៉ាងដូចម្តេច ហើយវានឹងមានឈ្មោះខុសៗគ្នា ដើម្បីផ្អែកលើប្រភេទទិន្នន័យ។ ឈ្មោះពេញនិយមសម្រាប់មេលទាដាតាទាំងនេះមាន៖ ស្លាក ប្រភេទធាតু ធាតុ និងគុណលក្ខណៈ។ ឧទាហរណ៍ សារអ៊ីមែលមួយទូទៅនឹងមានប្រធានបទ ការពិពណ៌នា និងបញ្ជីអ្នកទទួល និងអាចរៀបចំបានដោយអ្នកផ្ញើ ឬពេលវេលាដែលវាត្រូវបានផ្ញើ។
ឧទាហរណ៍ទិន្នន័យអមដោយរចនាសម្ព័ន្ធ៖ HTML, ឯកសារ CSV, JavaScript Object Notation (JSON)
ឧទាហរណ៍នៃទិន្នន័យរចនាសម្ព័ន្ធរាក់ឡាយ៖ HTML, ឯកសារជារៀង CSV, ការបង្ហាញវត្ថុ JavaScript (JSON)
## ប្រភពទិន្នន័យ
ប្រភពទិន្នន័យគឺជាទីតាំងដើមដែលទិន្នន័យត្រូវបានបង្កើត ឬកន្លែងដែលវា "រស់នៅ" ហើយនឹងខុសគ្នាអាស្រ័យលើវិធី និងពេលវេលាប្រមួលវា។ ទិន្នន័យដែលបង្កើតឡើងដោយអ្នកប្រើគឺហៅថាទិន្នន័យចម្បង ខណៈដែលទិន្នន័យទីពីរមកពីប្រភពដែលបានប្រមូលទិន្នន័យសម្រាប់ការប្រើប្រាស់ទូទៅ។ ឧទាហរណ៍ ក្រុមអ្នកវិទ្យាសាស្រ្តម្នាក់ប្រមូលសង្កេតការណ៍នៅព្រៃឈើផែនដីសព្វថ្ងៃគឺចាត់ទុកថាជាទិន្នន័យចម្បង ហើយប្រសិនបើពួកគេចង់ចែករំលែកវាឲ្យអ្នកវិទ្យាសាស្រ្តផ្សេងវានឹងត្រូវបានចាត់ទុកថាជាទិន្នន័យទីពីរដល់អ្នកដែលប្រើវា
ប្រភពទិន្នន័យគឺជាកន្លែងដំបូងដែលទិន្នន័យត្រូវបានបង្កើត ឬកន្លែងដែលវា "រស់" ហើយនឹងខុសគ្នាដោយផ្អែកលើរបៀប និងពេលវេលាដែលវាត្រូវបានប្រមូល។ ទិន្នន័យដែលបានបង្កើតដោយអ្នកប្រើប្រាស់គឺហៅថាទិន្នន័យដើម ខណៈដែលទិន្នន័យជំនួយមកពីប្រភពដែលបានប្រមូលទិន្នន័យសម្រាប់ប្រើប្រាស់ទូទៅ។ ឧទាហរណ៍ ក្រុមមួយនៃអ្នកវិទ្យាសាស្ត្រប្រមូលការសង្កេតនៅក្នុងព្រៃខ្យល់ធំមួយ គេនឹងចាត់ទុកថាជាទិន្នន័យដើម ហើយប្រសិនបើពួកគេសម្រេចចិត្តចែករំលែកវាជាមួយអ្នកវិទ្យាសាស្ត្រផ្សេងទៀត វានឹងត្រូវបានគេចាត់ទុកថាជាទិន្នន័យជំនួយសម្រាប់អ្នកប្រើប្រាស់នោះ
ឃ្លាំងទិន្នន័យគឺជាប្រភពទូទៅ ដែលផ្អែកលើប្រព័ន្ធគ្រប់គ្រងឃ្លាំងទិន្នន័យសម្រាប់ពាក់ព័ន្ធ និងថែរក្សាទិន្នន័យ ដែលអ្នកប្រើប្រាស់ប្រើពាក្យបញ្ជាដែលហៅថា queries ដើម្បីស្វែងរកទិន្នន័យ។ ឯកសារជាប្រភពទិន្នន័យអាចជាឯកសារប្រភេទសំឡេង រូបភាព និងវីដេអូ ព្រមទាំងសន្លឹកប៉ារ៉ាហ្វតដូចជា Excel។ ប្រភពអ៊ីនធឺណិតគឺជាទីតាំងទូទៅសម្រាប់ផ្តល់ទិន្នន័យ ដែលឃ្លាំងទិន្នន័យ និងឯកសារអាចរកបាននៅទីនេះ។ ការប្រើប្រាស់ Application Programming Interfaces ដែលហៅថា APIs អនុញ្ញាតឱ្យអ្នកកម្មវិធីបង្កើតវិធីក្នុងចែករំលែកទិន្នន័យជាមួយអ្នកប្រើក្រៅតាមអ៊ីនធឺណិត ខណៈពេលដែលដំណើរការជម្រះគេហទំព័រលុយទិន្នន័យពីទំព័របណ្តាញ។ មេរៀនក្នុងផ្នែក Working with Data ផ្ដោតលើរបៀបប្រើប្រាស់ប្រភពទិន្នន័យផ្សេងៗគ្នា។
ឃ្លាំងទិន្នន័យគឺជាប្រភពទូទៅ ហើយពឹងផ្អែកលើប្រព័ន្ធគ្រប់គ្រងឃ្លាំងទិន្នន័យសម្រាប់ផ្តល់សេវា និងថែរក្សាទិន្នន័យ ដោយដែលអ្នកប្រើប្រាស់ប្រើពាក្យបញ្ជាឈ្មោះសួរដើម្បីស្វែងរកទិន្នន័យ។ ឯកសារជាប្រភពទិន្នន័យអាចជាឯកសារសម្លេង រូបភាព និងវីដេអូ ហើយទទួលបានបែបសន្លឹកបង្កើតដូចជា Excel។ ប្រភពអ៊ីនធឺណិតជាគន្លងទូទៅសម្រាប់ផ្តល់សេវាទិន្នន័យ ដែលឃ្លាំងទិន្នន័យ និងឯកសារអាចត្រូវបានរកឃើញ។ កម្មវិធី API ដែលហៅថាជាកម្មវិធីផ្ទៀងផ្ទាត់អនុញ្ញាតឱ្យអ្នកកម្មវិធីបង្កើតវិធីចែករំលែកទិន្នន័យជាមួយអ្នកប្រើប្រាស់ខាងក្រៅតាមអ៊ីនធឺណិត ខណៈដែលដំណើរការតាំតាមវែបស្រាប់ចេញទិន្នន័យពីទំព័រវែប។ មេរៀននៅក្នុង [ការធ្វើការជាមួយទិន្នន័យ](../../../../../../../../../2-Working-With-Data) ផ្តោតលើរបៀបប្រើប្រាស់ប្រភពទិន្នន័យនានា។
## សេចក្ដីសន្និដ្ឋាន
## នيانة
ក្នុងមេរៀននេះ យើងបានរៀនដូចខាងក្រោម
នៅក្នុងមេរៀននេះ យើងបានរៀន៖
- តើទិន្នន័យជាអ្វី
- របៀបពិពណ៌នាទិន្នន័យ
- របៀបចំណាត់ថ្នាក់ទិន្នន័យ និងចំណាត់ថ្នាក់ទិន្នន័យ
- ទីកន្លែងដែលអាចរកបានទិន្នន័យ
- របៀបដែលទិន្នន័យត្រូវបានពិពណ៌នា
- របៀបដែលទិន្នន័យត្រូវបានចាត់ថ្នាក់ និងចែងចាប់ប្រភេទ
- ទីតាំងដែលអាចរកឃើញទិន្នន័យ
## 🚀 thách thức
Kaggle គឺជាប្រភពល្អឥតខ្ចោះនៃលំដាប់ទិន្នន័យបើកចំហ។ ប្រើប្រាស់ [ឧបករណ៍ស្វែងរកលំដាប់ទិន្នន័យ](https://www.kaggle.com/datasets) ដើម្បីស្វែងរកលំដាប់ទិន្នន័យដែលគួរស្អាត និងចំណាត់ថ្នាក់ 3-5 លំដាប់ទិន្នន័យដោយគោលការណ៍ដូចតទៅ
Kaggle ជាប្រភពល្អដើម្បីបើកសំណុំទិន្នន័យ។ ប្រើ [ឧបករណ៍ស្វែងរកសំណុំទិន្នន័យ](https://www.kaggle.com/datasets) ដើម្បីរកសំណុំទិន្នន័យដែលគួរឲ្យចាប់អារម្មណ៍ ហើយចាត់ថ្នាក់ 3-5 សំណុំទិន្នន័យជាមួយលក្ខខណ្ឌនេះ
- តើទិន្នន័យមានលក្ខណៈកំណិតឬគុណលក្ខណៈ?
- តើទិន្នន័យរចនាសម្ព័ន្ធ មិនរចនាសម្ព័ន្ធ ឬអមដោយរចនាសម្ព័ន្ធ?
- តើទិន្នន័យជាបរិមាណ ឬគុណលក្ខណៈ?
- តើទិន្នន័យមានរចនាសម្ព័ន្ធ មិនមានរចនាសម្ព័ន្ធ ឬរចនាសម្ព័ន្ធរាក់ឡាយ?
## [គន្លងបន្ទាប់មកក្រោយមេរៀន](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## [សំនួរបន្ទាប់ពីបង្រៀន](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## ការត្រួតពិនិត្យ និងការសិក្សាឯករាជ្យ
- ឯកតា Microsoft Learn នេះ ដែលមានចំណងជើងថា [ចំណាត់ថ្នាក់ទិន្នន័យរបស់អ្នក](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) មានការបំបែកលំអិតអំពីទិន្នន័យរចនាសម្ព័ន្ធ អមដោយរចនាសម្ព័ន្ធ និងមិនរចនាសម្ព័ន្ធ។
## ទិចភាព និងការសិក្សាដោយខ្លួនឯង
## កិច្ចការត្រូវធ្វើ
- ផ្នែករបស់ Microsoft Learn ដែលមានចំណងជើង [សម្គាល់ទ្រង់ទ្រាយទិន្នន័យ](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) មានការបំបែកលម្អិតអំពីទិន្នន័យដែលមានរចនាសម្ព័ន្ធ រចនាសម្ព័ន្ធរាក់ឡាយ និងមិនមានរចនាសម្ព័ន្ធ។
[ចំណាត់ថ្នាក់លំដាប់ទិន្នន័យ](assignment.md)
## ភារកិច្ច
[ចាត់ថ្នាក់សំណុំទិន្នន័យ](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការ​បដិសេធ**៖
ឯកសារ​នេះ​ត្រូវបាន​បកប្រែ​ដោយ​ប្រើ​សេវាកម្ម​បកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ក្នុងពេលដែល​យើង​ព្យាយាម​ធ្វើឱ្យ​បាន​ប្រក្រតី សូម​កុំភ្លេច​ថា​ការ​បកប្រែ​អូតូ​ម៉ាទិក​អាចមាន​ខុសភាព ឬ​មិនត្រឹមត្រូវ។ ឯកសារ​ដើម​នៅ​ក្នុង​ភាសាដើម​គឺ​គួរឱ្យ​ភ្ជាប់​ជា​ប្រភព​ផ្លូវការ។ សម្រាប់​ព័ត៌មាន​សំខាន់ៗ ការ​បកប្រែ​ដោយ​មនុស្ស​ជំនាញ​ជា​អាទិភាព។ យើង​មិន​មាន​ភារកិច្ច​ទទួលខុសត្រូវ​ចំពោះ​ការយល់ខុស ឬ​ការបញ្ជ្រាស់ន័យ​ដែល​កើត​មាន​ពី​ការ​ប្រើ​ប្រាស់​ការ​បកប្រែ​នេះ​ទេ។
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -4,8 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction to Probability and Statistics\n",
"នៅក្នុងសៀវភៅកំណត់ត្រានេះ យើងនឹងលេងជុំវិញខ្លឹមសារជាច្រើនដែលយើងបានពិភាក្សារួចមកហើយ។ ខ្លឹមសារច្រើនពីប្រូបាបល័យនិងស្ថិតិត្រូវបានបង្ហាញយ៉ាងល្អនៅក្នុងបណ្ណាល័យសម្រាប់ដំណើរការទិន្នន័យធំៗនៅក្នុង Python ដូចជា `numpy` និង `pandas`។\n"
"# ការ៉Introduសេចក្ដីសង្ខេបអំពីប្រហែលនិងស្ថិតិ\n",
"ក្នុងកំណត់ត្រានេះ យើងនឹងលេងជុំវិញមួយចំនួននៃមូលដ្ឋានដែលយើងបានពិភាក្សាមុននេះ។ គំនិតជាច្រើនពីប្រហែលនិងស្ថិតិនั้นត្រូវបានតំណាងយ៉ាងល្អក្នុងបណ្ណាល័យសំខាន់ៗសម្រាប់ការដំណើរការទិន្នន័យនៅ Python ដូចជា `numpy` និង `pandas`។\n"
]
},
{
@ -24,8 +24,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## អថេរចៃដន្យ និងការបែងចែក\n",
"ចាប់ផ្តើមដោយគូសគំរូតម្លៃ ៣០ ពីការបែងចែកសមាមាត្រពី ០ ដល់ ៩។ យើងនឹងគណនា​មធ្យម និងអាំងធរីយ៍ផងដែរ។\n"
"## អថេរពហុភាព និង ចែកចាយ\n",
"យើងចាប់ផ្តើមដោយគូរឧទាហរណ៍មួយនៃតម្លៃចំនួន ៣០ ពីចែកចាយសមាមាត្រពី ០ ទៅ ៩។ យើងនឹងគណនាមធ្យម និង វារីយ៉ងផងដែរ។\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ដើម្បីប៉ាន់ប្រមាណជាមុំពិភាក្សាថាអ្វីមានតម្លៃខុសគ្នាប៉ុន្មាននៅក្នុងគំរូ យើងអាចគូរសៀវភៅ **បន្ទាត់ប្រវែងតម្លៃ**៖\n"
"ដើម្បីវាស់វែងដោយភ្នែកថាមានតម្លៃខុសគ្នាប៉ុន្មានក្នុងគំរូ យើងអាចគូស **ពហុបន្ទាត់បង្ហាញចំនួន**៖\n"
]
},
{
@ -61,9 +61,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ការវិភាគទិន្នន័យពិត\n",
"## ការវិភាគទិន្នន័យពិតប្រាកដ\n",
"\n",
"មធ្យម និងមធ្យមវិលមានសារៈសំខាន់ណាស់ពេលវិភាគទិន្នន័យពិភពលោកពិត។ ចូរយើងផ្ទុកទិន្នន័យអំពីអ្នកលេងបេសបលពី [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"តម្លៃក្នុងមធ្យម និងកម្រិតអថេរជារឿងសំខាន់ណាស់ពេលវិភាគទិន្នន័យពិភពពិត។ យើងត្រូវផ្ទុកទិន្នន័យអំពីអ្នកលេងបេសបមកពី [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> យើងកំពុងប្រើកញ្ចប់មួយដែលហៅថា [**Pandas**](https://pandas.pydata.org/) នៅទីនេះសម្រាប់វិភាគទិន្នន័យ។ យើងនឹងនិយាយលម្អិតបន្ថែមអំពី Pandas និងការងារជាមួយទិន្នន័យក្នុង Python នៅពេលក្រោយក្នុងវគ្គសិក្សានេះ។\n",
"> យើងកំពុងប្រើកញ្ចប់មួយហៅថា [**Pandas**](https://pandas.pydata.org/) នៅទីនេះសម្រាប់វិភាគទិន្នន័យ។ យើងនឹងនិយាយបន្ថែមអំពី Pandas និងការធ្វើការជាមួយទិន្នន័យនៅក្នុង Python បន្តទៀតនៅវគ្គសិក្សានេះ។\n",
"\n",
"មកគណនាភាគរយមធ្យមសម្រាប់អាយុ កម្ពស់ និងទម្ងន់៖\n"
"យើងចូរគណនាតម្លៃមធ្យមសម្រាប់អាយុ កម្ពស់ និងទំងន់៖\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ឥឡូវនេះយើងលើកកម្ពស់ និងគណនាផ្ទុកស្តង់ដារ និងភាពចំរូង:\n"
"ឥឡូវនេះចង់ផ្តោតលើកម្ពស់ ហើយគណនាការតម្រួតស្តង់ដារ និងការបម្លែង៖\n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"សម្លាប់ពីមធ្យម គឺមានហេតុផលក្នុងការពិនិត្យមើលតម្លៃមេឌៀន និងកត់សញ្ញាត្រីមុំផងដែរ។ ពួកវាអាចត្រូវបានបង្ហាញជារូបភាពដោយប្រើ **បន្ទះប្រអប់**៖\n"
"បន្ទាប់ពីគណនាមធ្យមគិត វាមានហេតុផលក្នុងការមើលចំលាស់មធ្យមនិងតម្លៃបួនភាគ។ ពួកវាអាចត្រូវបានបង្ហាញដោយការប្រើ **តារាងប្រអប់**:\n"
]
},
{
@ -136,7 +136,7 @@
"outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.boxplot(df['Height'].ffill(), orientation='horizontal', showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@ -146,7 +146,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងក៏អាចបង្កើតតារាងប្រអប់សម្រាប់ផ្នែករងនៃឃ្លាំងទិន្នន័យរបស់យើងបានផងដែរ ឧទាហរណ៍ ក្រុមតាមតួនាទីអ្នកលេង។\n"
"យើងក៏អាចបង្កើតប្លង់ប្រអប់សម្រាប់ចំណែកខាងក្រោមនៃសំណុំទិន្នន័យរបស់យើងបានផងដែរ ប្រើលក្ខណៈផ្នែកតួអង្គអ្នកលេង។\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **ចំណាំ**: រូបតំណាងនេះសំដៅថា ជាមធ្យម កម្ពស់របស់អ្នកលំហាត់ទីមួយខ្ពស់ជាងអ្នកលំហាត់ទីពីរ។ ប្រាកដថានៅពេលក្រោយ យើងនឹងរៀនពីរបៀបដែលយើងអាចតេស្តសន្និដ្ឋាននេះយ៉ាងម៉នា និងរបៀបបង្ហាញថាទិន្នន័យរបស់យើងមានសារៈសំខាន់ផ្នែកស្ថិតិដើម្បីបង្ហាញា។ \n",
"> **សម្គាល់**: គំនូសបង្ហាញនេះបញ្ជាក់ថា, imធម្មតា, កម្ពស់របស់អ្នកលេងទីមួយឆ្មាំខ្នាតខ្ពស់ជាងកម្ពស់របស់អ្នកលេងទីពីរចំហៀង។ បន្ទាប់មកយើងនឹងរៀនពីរបៀបដែលយើងអាចសាកល្បងសفرضនេះយ៉ាងផ្លូវការ និងរបៀបបង្ហាញថាទិន្នន័យរបស់យើងមានសារៈសំខាន់ផ្នែកស្ថិតិដើម្បីបង្ហាញា។ \n",
"\n",
"អាយុ កម្ពស់ និងទំងន់ គឺជាអថេរដែលចេញពីចៃដន្យបន្តបន្ទាប់ទាំងអស់។ តើអ្នកគិតថា ការចែកចាយរបស់ពួកវាគឺដូចម្ដេច? វិធីល្អមួយដើម្បីស្វែងរកគឺបោះពុម្ពបន្ទាត់សៀគ្វីតម្លៃ៖ \n"
"អាយុ, កម្ពស់ និងទំងន់គឺជាអថេរចៃអង្គលាប់តន្រ្តីបន្តបន្ទាប់ទាំងអស់។ តើអ្នកគិតថាចំណែកចាយរបស់ពួកគេជាអ្វី? វិធីល្អមួយក្នុងការរកពុំកំណត់គឺគូសតារាងហ៊ីស្តូក្រាមនៃតម្លៃ: \n"
]
},
{
@ -190,7 +190,7 @@
"source": [
"## ការចែកចាយធម្មតា\n",
"\n",
"មកបង្កើតគំរូមួយនៃទំងន់ដែលតាមការចែកចាយធម្មតាមួយ ដែលមានមធ្យមនិងបម្លែងដូចគ្នានឹងទិន្នន័យពិតរបស់យើង៖\n"
"យើងមកបង្កើតគំរូទម្ងន់ស្វែងស្រដៀងដែលអនុវត្តទៅនឹងការចែកចាយធម្មតាមួយ ដែលមានមធ្យមនឹងការប្រែប្រួលដូចគ្នា ដូចតម្លៃទិន្នន័យពិតរបស់យើង៖\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ដោយសារតែតម្លៃភាគច្រើននៅក្នុងជីវិតពិតជាប្រើវិភាគប្រក្រតី យើងមិនគួរប្រើកម្មវិធីបង្កើតលេខចៃដន្យត្រឹមត្រូវស្មើគ្នាទេដើម្បីបង្កើតទិន្នន័យគំរូ។ នេះជារឿងដែលកើតឡើងប្រសិនបើយើងព្យាយាមបង្កើតទម្ងន់ជាមួយការបែងចែកត្រឹមត្រូវស្មើគ្នា (បង្កើតដោយ `np.random.rand`):\n"
"ពីព្រោះតម្លៃភាគច្រើននៅក្នុងជីវិតពិតមានការបែងចែកធម្មតា យើងមិនគួរប្រើកម្មង់បង្កើតលេខចៃដន្យស្មើគ្នា ដើម្បីបង្កើតទិន្នន័យគំរូឡើយ។ នេះគឺជាអ្វីកើតឡើង ប្រសិនបើយើងព្យាយាមបង្កើតទំងន់ជាមួយការបែងចែកស្មើគ្នា (បង្កើតដោយ `np.random.rand`):\n"
]
},
{
@ -251,9 +251,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ចន្លោះទំនុកចិត្ត\n",
"## ជួរជឿជាក់\n",
"\n",
"ឥឡូវនេះយើងនឹងគណនាចន្លោះទំនុកចិត្តសម្រាប់ទម្ងន់និងកម្ពស់របស់អ្នកលេងបេស្បាល់។ យើងនឹងប្រើកូដ [ពីការពិភាក្សានៅ stackoverflow នេះ](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"ឥឡូវនេះ យើងនឹងគណនាជួរជឿជាក់សម្រាប់ទម្ងន់ និងកម្ពស់របស់អ្នកលេងបេស្បាល់។ យើងនឹងប្រើកូដ [ពីការពិភាក្សានៅ stackoverflow นี้](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data)៖\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -282,7 +282,7 @@
"source": [
"## ការធ្វើតេស្តសន្និដ្ឋាន\n",
"\n",
"ចូរយើងស្រាវជ្រាវតួនាទីផ្សេងៗនៅក្នុងឃ្លាំងទិន្នន័យកីឡាករបេស្បលរបស់យើង៖\n"
"ចូរយើងស្វែងយល់អំពីតួនាទីផ្សេងៗនៅក្នុងទិន្នន័យអ្នកលេងបេសបលរបស់យើង៖\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើង​ចង់​សាកល្បង​ការ​សន្មត់​ថាអ្នក​ធ្វើ​ងារ​ដំបូងមានកម្ពស់​ខ្ពស់ជាង​អ្នក​ធ្វើ​ងារ​ទីពីរ។ វិធីសាមញ្ញបំផុតក្នុងការធ្វើនេះគឺការតេស្តចន្លោះទំនុកចិត្តៈ\n"
"មកសាកល្បងសន្មតការណ៍ថា អ្នកលេងទីមួយនៅទីមូលដ្ឋានខូចខ្លាំងជាងអ្នកលេងទីពីរនៅទីមូលដ្ឋាន។ វិធីងាយស្រួលបំផុតក្នុងការធ្វើនេះគឺសាកល្បងចន្លោះទំនុកចិត្ត៖\n"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងអាចឃើញថា ខ្សែពេលពុំមានការឆ្លងគ្នាទេ។\n",
"យើងអាចឃើញថា ចន្លោះពេលនីមួយៗមិនទាន់ប្រហែលគ្នា។\n",
"\n",
"វិធីសាស្រ្តដែលត្រឹមត្រូវជាងសម្រាប់បញ្ជាក់សន្មត់គឺការប្រើប្រាស់ **មេត្រការសាកល្បង t របស់សិស្ស**:\n"
"វិធីសាស្ត្រមានស្ថិតិដែលមានភាពត្រឹមត្រូវជាងក្នុងការបញ្ជាក់សម្រង់គំនិតគឺការប្រើប្រាស់ **ការធ្វើតេស្តStudent t**:\n"
]
},
{
@ -338,18 +338,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ពីរតម្លៃដែលត្រូវបានត្រឡប់តាមរយៈមុខងារ `ttest_ind` គឺ៖\n",
"* p-value អាចត្រូវបានគិតជាប្រាស្រ័យភាពនៃការចែកចាយពីរដែលមានមធ្យមដូចគ្នា។ សម្រាប់ករណីរបស់យើង វាទាបណាស់ មានន័យថាមានភស្តុតាងខ្លាំងគាំទ្រថា first basemen មានកម្ពស់ខ្ពស់ជាង។\n",
"* t-value គឺជាតម្លៃមន្ទីរប្រមាណនៃភាពខុសគ្នាមធ្យមដែលបានធម្មតា ដែលត្រូវបានប្រើនៅក្នុងការស្ទង់ម t-test ហើយវាត្រូវបានប្រៀបធៀបទៅនឹងតម្លៃកម្រិតមួយសម្រាប់តម្លៃទំនុកចិត្តមួយ។\n"
"តម្លៃពីរដែលបានត្រឡប់មកវិញដោយមុខងារ `ttest_ind` គឺ:\n",
"* តម្លៃ p-value អាចត្រូវបានគេពិចារណាថា ជាភាគហ៊ុននៃការហ្វឹកហាត់ពីរដែលមានមធ្យមដូចគ្នា។ ក្នុងករណីរបស់យើង វាតិចណាស់ មានន័យថាមានភស្តុតាងដ៏ខ្លាំងគាំទ្រថាអ្នកលេងបាស្មែនទីមួយចម្បងមានកម្ពស់វែងជាង។\n",
"* តម្លៃ t-value គឺជាតម្លៃមធ្យមកំណត់ទំរង់ធម្មតាចន្លោះដែលត្រូវបានប្រើនៅក្នុងការធ្វើតេស្ត t ហើយវាត្រូវបានប្រៀបធៀបជាមួយតម្លៃស្តង់ដារសម្រាប់តម្លៃទំនុកចិត្តដែលបានកំណត់។\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ការសម្រួលចំណែកធម្មជាតិស្របតាមវឌ្ឍនភាពកណ្តាល\n",
"## ការប្រុផ្សាយចែកចាយធម្មតាជាមួយទ្រឹស្ដីកម្រិតកណ្ដាល\n",
"\n",
"ម៉ាស៊ីនបង្កើតចៃដន្យក្នុង Python ត្រូវបានរចនាឡើងដើម្បីផ្តល់នូវចំណែកសាមញ្ញតែមួយ។ ប្រសិនបើយើងចង់បង្កើតម៉ាស៊ីនបង្កើតសម្រាប់ចំណែកធម្មជាតិ យើងអាចប្រើវឌ្ឍនភាពកណ្តាល។ ដើម្បីទទួលបានតម្លៃចែកចាយធម្មជាតិ យើងអាចគណនាមធ្យមនៃចំណែកដែលបង្កើតដោយសាមញ្ញ។\n"
"ម៉ាស៊ីនចេតនា​សំណុំ​បែប​រ៉ែន​ដុំ​នៅក្នុង Python ត្រូវ​បាន​រចនា​ឡើង​ដើម្បីផ្តល់ឲ្យ​ពួក​យើង​នូវចែកចាយ​ឯករាជ្យស្របគ្នា។ ប្រសិន​បើយើងចង់បង្កើតម៉ាស៊ីនចេញសម្រាប់ចែកចាយធម្មតា យើងអាចប្រើទ្រឹស្តីកម្រិតកណ្ដាល។ ដើម្បីទទួលបានតម្លៃចែកចាយធម្មតា យើងគ្រាន់តែគណនាមធ្យមនៃគំរូបង្កើតដោយឯករាជ្យស្របគ្នា។ \n"
]
},
{
@ -375,7 +375,7 @@
"source": [
"## ការតភ្ជាប់ និងក្រុមហ៊ុនបេសបូលអាក្រក់\n",
"\n",
"ការតភ្ជាប់អនុញ្ញាតឲ្យយើងស្វែងរកទំនាក់ទំនងរវាងលំដាប់ទិន្នន័យ។ នៅក្នុងឧទាហរណ៍ក្មេងលេងរបស់យើង, សូមចរិតថាមានក្រុមហ៊ុនបេសបូលអាក្រក់មួយដែលបង់ប្រាក់ទៅឱ្យកីឡាកររបស់ខ្លួនតាមតម្លៃកម្ពស់ - កីឡាករដែលខ្ពស់ជាងនឹងទទួលបានប្រាក់ច្រើនជាង។ សូមសន្មតថាកំណត់ប្រាក់ខែមូលដ្ឋាន $1000 ហើយមានប្រាក់រង្វាន់បន្ថែមចាប់ពី $0 ដល់ $100 អាស្រ័យលើកម្ពស់។ យើងនឹងយកកីឡាករពិតពី MLB ហើយគណនាប្រាក់ខែស្រមៃរបស់ពួកគេ៖\n"
"ការតភ្ជាប់អនុញ្ញាតឱ្យយើងរកឃើញទំនាក់ទំនងរវាងខ្សែដាតា។ នៅក្នុងឧទាហរណ៍ល្បែងរបស់យើង សូមជម្រាបថាមានក្រុមហ៊ុនបេសបូលអាក្រក់មួយដែលបង់ប្រាក់ទៅកាន់អ្នកលេងរបស់ខ្លួនផ្អែកលើកម្ពស់របស់ពួកគេ - អ្នកលេងដែលខ្ពស់ជាងនឹងទទួលបានប្រាក់ច្រើនជាង។ សន្និដ្ឋានថាមានប្រាក់បៀវត្សចំបង $1000 ហើយមានប្រាក់បន្ថែមពី $0 ដល់ $100 ដែលផ្អែកលើកម្ពស់។ យើងនឹងយកអ្នកលេងពិតពី MLB ហើយគណនាប្រាក់ឈ្នួលស្រមៃរបស់ពួកគេ៖\n"
]
},
{
@ -384,7 +384,7 @@
"metadata": {},
"outputs": [],
"source": [
"heights = df['Height'].fillna(method='pad')\n",
"heights = df['Height'].ffill()\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@ -393,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ឥឡូវយើងនឹងគណនាការសហភាព និងការតភ្ជាប់គ្នារបស់ចំណាត់ថ្នាក់ទាំងនោះ។ `np.cov` នឹងផ្តល់ឲ្យយើងនូវអ្វីដែលគេហៅថា **ម៉ាត្រិកសហភាព** ដែលជាការពង្រីកនៃការសហភាពទៅច្រើនអថេរ។ គ្រឿង $M_{ij}$ នៃម៉ាត្រិកសហភាព $M$ គឺជាការតភ្ជាប់គ្នារវាងអថេរបញ្ចូល $X_i$ និង $X_j$ ហើយតម្លៃបន្ទាត់ឈរ $M_{ii}$ គឺជាការប្រែប្រួលនៃ $X_{i}$។ ដូចគ្នានេះ `np.corrcoef` នឹងផ្តល់ឲ្យយើងនូវ **ម៉ាត្រិកតភ្ជាប់គ្នា**។\n"
"ឥឡូវនេះ យើងនឹងគណនាអាចប្រើបាន covariance និង correlation របស់សមីការ​ទាំងនោះ។ `np.cov` នឹងផ្តល់ឲ្យយើងនូវអ្វីដែលហៅថា **covariance matrix** ដែលជាការពង្រីកនៃ covariance ទៅនឹងអថេរជាច្រើន។ ធាតុ $M_{ij}$ នៃម៉ាទ្រីស covariance $M$ គឺជាការតភ្ជាប់រវាងអថេរ $X_i$ និង $X_j$ ផ្ទុកក្នុងចំណូល ដោយតម្លៃគន្លងបន្ទាត់ $M_{ii}$ គឺជាអាចប្រើបាននៃ $X_i$។ ដូចគ្នា `np.corrcoef` នឹងផ្តល់ឲ្យយើងនូវ **ម៉ាទ្រីស correlation** ។\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ការតភ្ជាប់ដែលស្មើនឹង 1 មានន័យថាមាន **ទំនាក់ទំនងកែវធីត្រង់** ដែលខ្លាំងមួយរវាងអថេរពីរនេះ។ យើងអាចមើលឃើញទំនាក់ទំនងកែវធីត្រង់ដោយការគូរតម្លៃមួយប្រឆាំងនឹងមួយផ្សេងទៀតបានជាផ្ទាល់៖\n"
"ការតភ្ជាប់ស្មើនឹង 1 មានន័យថាមាន**សម្ព័ន្ធបន្ទាត់**ខ្លាំងរវាងអថេរចម្លងពីរគ្នា។ យើងអាចមើលឃើញសម្ព័ន្ធបន្ទាត់នេះបានតាមរយៈការរូបតាងតម្លៃមួយប្រៀបធៀបទៅនឹងមួយផ្សេងទៀត៖\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"មកមើលថាអ្វីនឹងកើតឡើងបើទំនាក់ទំនងមិនមែនជារស់រាយ។ សន្មតថាក្រុមហ៊ុនរបស់យើងបានសម្រេចចិត្តលាក់បាំងការពឹងផ្អែកលើរូបមន្តរាយច្បាស់រវាងកម្ពស់និងប្រាក់ខែ ហើយបានបញ្ចូលអង្គភាពមិនរាយមួយចូលក្នុងរូបមន្ត ដូចជា `sin`:\n"
"មកបើកមើលថាអ្វីដែលកើតឡើងបើទំនាក់ទំនងមិនមែនជាផ្លូវបន្ទាត់។ សូមស្រមៃថាក្រុមហ៊ុនរបស់យើងបានសម្រេចចិត្តលាក់ការពឹងផ្អែកផ្លូវបន្ទាត់ដែលច្បាស់លាស់រវាងជម្រោយកម្ពស់ និងប្រាក់ខែ ហើយបានបញ្ចូលករណីមិនមែនផ្លូវបន្ទាត់ក្នុងរូបមន្ត ដូចជា `sin`៖\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ក្នុងករណីនេះ ការចងកCorrារតិ្តគឺតូចជាងបន្តិច ប៉ុន្តែវាទោះជាយ៉ាងណាក៏ដោយនៅតែខ្ពស់។ ឥឡូវនេះ ដើម្បីធ្វើឱ្យទំនាក់ទំនងមិនច្បាស់លាស់ យើងអាចចង់បន្ថែមភាពចៃដន្យបន្ថែមមួយចំនួនដោយបន្ថែមអថេរចៃដន្យមួយចំនួនទៅលើប្រាក់ខែ។ សូមមកមើលថាអ្វីកើតឡើង៖\n"
"ក្នុងករណីនេះ ការតភ្ជាប់គ្នាមានទំហំតិចបន្តិច ប៉ុន្តែវានៅតែខ្ពស់ជាងមធ្យម។ ឥឡូវនេះ ដើម្បីធ្វើអោយទំនាក់ទំនងកាន់តែអស្បថ យើងអាចចង់បន្ថែម ភាពចៃដន្យបន្ថែមមួយចំនួន ដោយបន្ថែមអថេរចៃដន្យមួយចំនួនទៅលើប្រាក់ខែ។ សូមមើលថាមើលមានអ្វីកើតឡើង៖\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> តើអ្នកអាចទាយបានទេថាមូលហេតុដែលចំណុចទាំងនេះរៀបខ្នងតាមបន្ទាត់ដេកដូចនេះ?\n",
"> តើអ្នកអាចគិតចិត្​យថាហេតុអ្វីបានជាចំណុចដូចជា​បានជួរតូចៗកាត់មានជួរដេកដូចនេះ?\n",
"\n",
"យើងបានសង្កេតឃើញការតភ្ជាប់រវាងគំនិតដែលបានបង្កើតឡើងដោយក្លែងបំពានដូចជា वेतन និងអថេរដែលបានសង្កេតឃើញ *កំពស់*។ តោះមើលថាតើអថេរដែលបានសង្កេតពីរដូចជា កំពស់ និង ទំងន់ មានការតភ្ជាប់គ្នាទៅដែរ៖\n"
"យើងបានសង្កេតឃើញការតភ្ជាប់រវាងយុទ្ធសាស្ត្រដែលបានបង្កើតឡើងដោយសិប្បនិម្មិតដូចជាការប្រាក់និងអថេរដែលបានសង្កេត *កម្ពស់*។ យើងក៏ព្យាយាមមើលថាតើអថេរសង្កេតពីរ ដូចជា កម្ពស់ និងទម្ងន់ មានការ​តភ្ជាប់គ្នាផងដែរឬទេ៖\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យ៉ាងក្រៀមក្រំពេក យើងមិនទទួលបានលទ្ធផលណាមួយទេ - មានតែតម្លៃ `nan` ដែលចម្លែកខ្លះប៉ុណ្ណោះ។ នេះបណ្តាលមកពីការពិតថាតម្លៃខ្លះនៅក្នុងស៊េរីរបស់យើងមិនបានកំណត់ សម្គាល់ជាទម្រង់ `nan` ដែលបណ្តាលឲ្យលទ្ធផលនៃប្រតិបត្តិការមិនបានកំណត់ដែរ។ ដោយមើលទៅលើម៉ាទ្រីស យើងអាចឃើញថា `Weight` គឺជាឈ្មោះជួរឈរដែលមានបញ្ហា ពីព្រោះការជាប់គ្នាទៅវិញទៅមករវាងតម្លៃ `Height` ត្រូវបានគណនា។\n",
"ដោយអកុសល យើងមិនទទួលបានលទ្ធផលអ្វីទេ - មានតែតម្លៃ `nan` ខ្លះៗដែលគួរឲ្យសង្ស័យប៉ុណ្ណោះ។ នេះស្ថិតនៅក្នុងសភាពព្រោះថាតម្លៃខ្លះៗនៅក្នុងស៊េរីរបស់យើងមិនត្រូវបានកំណត់ ទទួលបានបង្ហាញជាទម្លាញ់ `nan` ដែលធ្វើឲ្យលទ្ធផលនៃប្រតិបត្តិការ គឺមិនត្រូវបានកំណត់ដែរ។ ដោយការមើលទៅកាន់ម៉ាទ្រីស យើងអាចឃើញថា `Weight` គឺជាឈូងដែលបញ្ហា ព្រោះវាសំដៅទៅការប្រៀបធៀបខ្លួនឯងនៅចន្លោះតម្លៃ `Height` បានគណនា។\n",
"\n",
"> ឧទាហរណ៍នេះបង្ហាញពីសារៈសំខាន់នៃ **ការរៀបចំទិន្នន័យ** និង **ការសំអាត**។ ពុំមានទិន្នន័យត្រឹមត្រូវ យើងមិនអាចគណនាអ្វីបានទេ។\n",
"> ឧទាហរណ៍នេះបង្ហាញពីសារៈសំខាន់នៃ **ការរៀបចំទិន្នន័យ** និង **ការសម្អាត**។ គ្មានទិន្នន័យត្រឹមត្រូវ យើងមិនអាចគណនាអ្វីបានទេ។\n",
"\n",
"ចង់យកវិធីសាស្ត្រ `fillna` ដើម្បីបំពេញតម្លៃខ្វះ ហើយគណនាការជាប់គ្នាទៀត៖ \n"
"យើងមកប្រើវិធីសាស្រ្ត `fillna` ដើម្បីបំពេញតម្លៃដែលខ្វះ ហើយគណនាការប្រៀបធៀប:\n"
]
},
{
@ -507,14 +507,14 @@
"metadata": {},
"outputs": [],
"source": [
"np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
"np.corrcoef(df['Height'].ffill(), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ពិតជាមានសមាបាត្រ ប៉ុន្តែមិនខ្លាំងដូចក្នុងឧទាហរណ៍ក្លែងក្លាយរបស់យើងទេ។ ពិតណាស់ ប្រសិនបើយើងមើលផ្លូវកំណត់ចំណុចរវាងតម្លៃមួយនិងមួយផ្សេងទៀត ទំនាក់ទំនងនោះនឹងមិនច្បាស់លាស់ដូចមុនទេ៖\n"
"មានការតភ្ជាប់ពិតណាស់ ប៉ុន្តែមិនខ្លាំងបែបនៅក្នុង ឧទាហរណ៍សិប្បនិម្មិតរបស់ពួកយើងទេ។ ពិតជាកាលណាយើងមើលទីតាំងបែកចេញរវាងតម្លៃមួយនិងមួយផ្សេងទៀត សមត្ថភាពនៃទំនាក់ទំនងនឹងច្បាស់តិចជាងនេះ:\n"
]
},
{
@ -535,16 +535,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## អធិប្បាយទ្រង់ទ្រាយ\n",
"## សេចក្ដីសន្និដ្ឋាន\n",
"\n",
"នៅក្នុងសៀវភៅកំណត់ត្រានេះ យើងបានរៀនពីវិធីធ្វើប្រតិបត្តិការមូលដ្ឋានលើទិន្នន័យ ដើម្បីគណនាអនុគមន៍ស្ថិតិ។ យើងឥឡូវនេះបានដឹងពីរបៀបប្រើឧបករណ៍គណិតវិទ្យា និងស្ថិតិក្នុងការបង្ហាញសន្និដ្ឋានខ្លះៗ និងរបៀបគណនាជម្លោះទំនុកចិត្តសម្រាប់អថេរណាមួយដែលផ្អែកលើគំរូទិន្នន័យ។\n"
"ក្នុងសៀវភៅកំណត់ត្រានេះ យើងបានរៀនពីរបៀបអនុវត្តបេសកកម្មមូលដ្ឋានលើទិន្នន័យដើម្បីគណនាអនុគមន៍ស្ថិតិ។ យើងឥឡូវនេះបានដឹងពីរបៀបប្រើឧបករណ៍គណិតវិទ្យា និងស្ថិតិសមរម្យដើម្បីបញ្ជាក់ទ្រឹស្តីមួយចំនួន ព្រមទាំងរបៀបគណនាជួរជឿជាក់សម្រាប់អថេរណាមួយដែលបានផ្តល់ដោយគំរូទិន្នន័យ។ \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ការបដិសេធ**៖ \nឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំដល់ភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពខុសត្រូវខ្លះ។ ឯកសារដើមជាភាសាម្ចាស់វាជាគោលការណ៍ដើមដែលត្រូវបានគេគិតជាទីបំផុត។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមពិចារណាបកប្រែដោយអ្នកជំនាញផ្នែកមនុស្ស។ យើងមិនទទួលបន្ទុកចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសពីការប្រើប្រាស់នៃការបកប្រែនេះឡើយ។\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ការបដិសេធ**:\nឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -4,11 +4,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# ការប៉ាន់ប្រាក់នៃរោគរាតត្បាត COVID-19\n",
"# ការប៉ាន់ប្រមាណឆ្លងរាតត្បាត COVID-19\n",
"\n",
"## ការផ្ទុកទិន្នន័យ\n",
"## ការបញ្ចូលទិន្នន័យ\n",
"\n",
"យើងនឹងប្រើទិន្នន័យអំពីបុគ្គលដែលត្រូវបានឆ្លង COVID-19 ដែលផ្តល់ដោយ [មជ្ឈមណ្ឌលសម្រាប់វិទ្យាសាស្ត្រនិងវិស្វកម្មប្រព័ន្ធ](https://systems.jhu.edu/) (CSSE) នៅ [សាកលវិទ្យាល័យ Johns Hopkins](https://jhu.edu/)។ សំណុំទិន្នន័យមាននៅក្នុង [ឃ្លាំង GitHub នេះ](https://github.com/CSSEGISandData/COVID-19)។\n"
"យើងនឹងប្រើទិន្នន័យអំពីបុគ្គលដែលឆ្លង COVID-19 ដែលផ្តល់ដោយ [មជ្ឈមណ្ឌលសិល្បៈប្រព័ន្ធនិងវិស្វកម្ម](https://systems.jhu.edu/) (CSSE) នៅ [សាកលវិទ្យាល័យ Johns Hopkins](https://jhu.edu/)។ សំណើមទិន្នន័យអាចរកបាននៅក្នុង [ឃ្លែង GitHub នេះ](https://github.com/CSSEGISandData/COVID-19)។\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងអាចផ្ទុកទិន្នន័យថ្មីបំផុតដោយផ្ទាល់ពី GitHub ដោយប្រើ `pd.read_csv`។ បើមានហេតុអ្វីមិនអាចទាញយកទិន្នន័យបាន អ្នកអាចប្រើចម្លងដែលមានស្រាប់ក្នុងកុំព្យូទ័រដែលមាននៅក្នុងថត `data` - គ្រាន់តែដកសំឡេងបន្ទាត់ខាងក្រោមដែលកំណត់ `base_url`:\n"
"យើងអាចផ្ទុកទិន្នន័យថ្មីបំផុតពី GitHub ដោយផ្ទាល់បានប្រើ `pd.read_csv`។ បើដោយហេតុផលមួយណាទិន្នន័យមិនអាចប្រើបាន អ្នកអាចប្រើចម្លងដែលមាននៅក្នុងកុំព្យូទ័រប្រកាសក្នុងថត `data` បានជានិច្ច - គ្រាន់តែដកសំរាកបន្ទាត់ខាងក្រោមដែលកំណត់ `base_url`: \n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ឥឡូវនេះយើងហើយផ្ទុកទិន្នន័យសម្រាប់បុគ្គលដែលឆ្លងរោគ ហើយមើលថាតើទិន្នន័យមានរូបរាងយ៉ាងដូចម្តេច៖\n"
"ឥឡូវនេះ យើងចូលទិន្នន័យសម្រាប់មនុស្សដែលផ្សព្វផ្សាយជំងឺ និងមើលថាទិន្នន័យមានរូបរាងយ៉ាងដូចម្តេច៖\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងអាចមើលឃើញថា រៀងរាល់ជួរដេកនៃតារាងកំណត់ចំនួនមនុស្សដែលឆ្លងរលាកសម្រាប់ប្រទេសនិមួយៗ និង/ឬខេត្តនិមួយៗ ហើយជួរឈរតំណាងឲ្យកាលបរិច្ឆេទ។ តារាងដូចគ្នាអាចត្រូវបានផ្ទុកសម្រាប់ទិន្នន័យផ្សេងទៀត ដូចជា ចំនួនអ្នកដែលរួមគ្នាសះស្បើយ និងចំនួនអ្នកដែលស្លាប់។\n"
"យើងអាចមើលឃើញថា ស៊ុមនីមួយៗនៃតារាងកំណត់ចំនួនមនុស្សដែលបានឆ្លងរោគសម្រាប់ប្រទេសនីមួយៗ នៃខេត្តនីមួយៗ ហើយជួរឈរនីមួយៗអត្រាទាក់ទងនឹងថ្ងៃខែ។ តារាងស្រដៀងគ្នាអាចត្រូវបានផ្ទុកសម្រាប់ទិន្នន័យផ្សេងទៀត ដូចជា ចំនួនអ្នកាសះស្បើយ និងចំនួនអ្នកស្លាប់។\n"
]
},
{
@ -284,7 +284,7 @@
"source": [
"## ការយល់ដឹងពីទិន្នន័យ\n",
"\n",
"ពីតារាងខាងលើតួអក្សរដេប៉ាតឺម៉ង់ខេត្តមិនច្បាស់។ តោះមកមើលតម្លៃផ្សេងៗដែលមាននៅក្នុងកូឡូម `Province/State`:\n"
"មកពីតារាងខាងលើ តួនាទីនៃជួរឈរខេត្តមិនច្បាស់លាស់ទេ។ មកមើលតម្លៃផ្សេងៗដែលមាននៅក្នុងជួរឈរ `Province/State`: \n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ពីឈ្មោះដែលយើងអាចបញ្ជាក់បានថាប្រទេសដូចជាអូស្ត្រាលី និងចិនមានការបំបែកព័ត៌មានលម្អិតជាច្រើនតាមខេត្ត។ តោះមើលព័ត៌មានអំពីប្រទេសចិនដើម្បីឃើញឧទាហរណ៍៖\n"
"ពីឈ្មោះយើងអាចសន្មត់បានថាប្រទេសដូចជា អូស្រ្តាលី និងចិនមានការបំបែកលម្អិតកម្រិតខណ្ឌជាខ្សែដឹកជាន់។ យើងមកស្វែងរកព័ត៌មានអំពីប្រទេសចិន ដើម្បីមើលឧទាហរណ៍៖\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ការប្រមូលគ្នារបស់ទិន្នន័យ\n",
"## ការត្រៀមទិន្នន័យមុនកំចាត់ \n",
"\n",
"យើងមិនមានំណាប់អារម្មណ៍ក្នុងការបំបែកប្រទេសទៅជាតំបន់បន្ថែមទៀតទេ ដូច្នេះយើងនឹងដំបូងដើម្បីបំបែកចោលនិងបន្ថែមព័ត៌មានលើតំបន់ទាំងអស់រួមគ្នា ដើម្បីទទួលបានព័ត៌មានសម្រាប់ប្រទេសទាំងមូល។ នេះអាចធ្វើបានដោយប្រើ `groupby`៖\n"
"យើងមិនចាប់អារម្មណ៍ក្នុងការបំបែកប្រទេសទៅតំបន់បន្ថែមទៀតទេ ដូចនេះយើងនឹងដំបូងបដិសេធការបំបែកនេះ ហើយបន្ថែមព័ត៌មានលើតំបន់ទាំងអស់រួមគ្នា ដើម្បីទទួលបានព័ត៌មានសម្រាប់ប្រទេសទាំងមូល។ វាអាចធ្វើបានដោយប្រើ `groupby`ៈ \n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"អ្នកអាចដឹងថា ដោយសារប្រើ `groupby` ទាំងអត្រានៃទិន្នន័យទាំងអស់ឥឡូវនេះត្រូវបានគណនាតម្លៃដោយប្រើប្រទេស/តំបន់។ ដូចនេះយើងអាចចូលដំណើរការទិន្នន័យសម្រាប់ប្រទេសជាក់លាក់ដោយប្រើ `.loc`:|\n"
"អ្នកអាចមើលឃើញថា ដោយសារតែលទ្ធផលពីការប្រើ `groupby` អ្នកជួរឈរ DataFrames ទាំងអស់ត្រូវបានដាក់សញ្ញាដោយ ប្រទេស/តំបន់។ ដូច្នេះ យើងអាចចូលប្រើទិន្នន័យសម្រាប់ប្រទេសណាមួយដោយប្រើ `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **សម្គាល់** របៀបដែលយើងប្រើ `[3:]` ដើម្បីកាត់បន្តិចបន្តួចបំបាត់ធាតុ​បីដំបូងនៃស៊េរីដែលមានទិន្នន័យមិនមែនថ្ងៃខែឆ្នាំ (ជួរឈរខេត្ត/រដ្ឋ និងជួរឈរទីតាំងភូមិសាស្រ្ត) ។ យើងក៏អាចលុបជួរឈរទាំងបីនោះចេញទាំងស្រុងបានផងដែរ៖\n"
"> **សូមចំណាំ** វិធីដែលយើងប្រើ `[3:]` ដើម្បីលុបធាតុបីដំបូងនៃលំដាប់ដែលមានទិន្នន័យមិនមែនជាទិន្នន័យថ្ងៃខែឆ្នាំ (ជួរឈរ Province/State និង geolocation)។ យើងគឺអាចលុបជួរឈរទាំងបីនោះគ្រប់គ្រាន់ផងដែរ៖\n"
]
},
{
@ -1627,7 +1627,7 @@
"source": [
"## ការស៊ើបអង្កេតទិន្នន័យ\n",
"\n",
"ឥឡូវនេះយើងទៅស៊ើបអង្កេតប្រទេសណាមួយជាក់លាក់មួយ។ យើងសូមបង្កើតស៊ុមមួយដែលមានទិន្នន័យអំពីករណីឆ្លងរាតត្បាតត្រូវបានរៀបចំតាមកាលបរិច្ឆេទ៖\n"
"ឥឡូវនេះយើងត្រូវប្តូរទៅស៊ើបអង្កេតប្រទេសជាក់លាក់មួយ។ យើងមបង្កើតស៊ុមមួយដែលមានទិន្នន័យអំពីការឆ្លងរោគដែលតម្រៀបថតតាមកាលបរិច្ឆេទ៖\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ឥឡូវនេះយើងមកគណនាចំនួនមនុស្សឆ្លងថ្មីក្នុងមួយថ្ងៃ។ នេះនឹងអនុញ្ញាតឲ្យយើងមើលឃើញល្បឿនដែលជំងឺរាតត្បាតកើតឡើង។ ថ្ងៃដែលងាយស្រួលបំផុតក្នុងការធ្វើវាគឺប្រើ `diff` ៖\n"
"ឥឡូវនេះយើងមក​គណនា​ចំនួន​មនុស្ស​ដែល​ជាប់​រ៉ៃរ៉ាវ​ថ្មី​ក្នុង​រៀងរាល់​ថ្ងៃ។ វានឹងអនុញ្ញាតឱ្យយើងមើលឃើញល្បឿនដែលជំងឺរាតត្បាតបន្តដំណើរការ។ វិធីងាយស្រួលបំផុតក្នុងការធ្វើវាគឺការប្រើប្រាស់ `diff`៖\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងអាចមើលឃើញការវាយតម្លៃខ្ពស់ក្នុងទិន្នន័យ។ អនុញ្ញាតឱ្យយើងមើលជាងក្រាស់នៅខែម្ខាង:\n"
"យើងអាចឃើញការរញ្ជោលខ្ពស់នៅក្នុងទិន្នន័យ។ យើងចង់មើលជិតជាងនេះទៅលើខែមួយ:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"វាពិតជាប្រហែលមានការវិនិច្ឆ័យប្រចាំសប្តាហ៍នៅក្នុងទិន្នន័យ។ ព្រោះយើងចង់អាចឃើញនិន្នាការ នោះវាធ្វើឱ្យមានហេតុផលក្នុងការលើកមូលបញ្ជោតដំណោយដោយគណនាមធ្យមដំណើរការ (ឧ. សម្រាប់រៀងរាល់ថ្ងៃ យើងនឹងគណនាតម្លៃមធ្យមនៃពីរបីថ្ងៃមុន):\n"
"វាហាក់បង្ហាញអោយឃើញច្បាស់ថាមានការប្រែប្រួលប្រចាំសប្តាហ៍នៅក្នុងទិន្នន័យ។ ពីព្រោះយើងចង់អាចមើលឃើញនិន្នាការ, វាមានហេតុនិយមក្នុងការសម្រួលរង្វង់ដោយការគណនាមធ្យមរត់ (ឧ. សំរាប់រាល់ថ្ងៃយើងនឹងគណនាតម្លៃមធ្យមនៃចំនួនថ្ងៃមុនៗប៉ុន្មានថ្ងៃ): \n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ដើម្បីអាចប្រៀបធៀបប្រទេសជាច្រើនបាន យើងអាចចង់យកចំនួនប្រជាជននៃប្រទេសនោះមកគិត និងប្រៀបធៀបភាគរយនៃបុគ្គលដែលមានជំងឺរាតត្បាតទាក់ទងនឹងចំនួនប្រជាជននៃប្រទេសនោះ។ ដើម្បីទទួលបានចំនួនប្រជាជននៃប្រទេស យើងចាំបាច់ត្រូវផ្ទុកសំណុំទិន្នន័យនៃប្រទេស:\n"
"ដើម្បីអាចប្រៀបធៀបប្រទេសជាច្រើន យើងប្រហែលជាចង់គំនិតពីប្រជាជនរបស់ប្រទេសនោះ និងប្រៀបធៀបភាគរយនៃអ្នកឆ្លងជាមួយនឹងប្រជាជននៃប្រទេស។ ដើម្បីទទួលបានប្រជាជនប្រទេស យើងមកផ្ទុកសំណុំទិន្នន័យនៃប្រទេស៖\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ដោយសារតែទិន្នន័យនេះមានព័ត៌មានទាំងពីរប្រទេសនិងខេត្ត ដើម្បីទទួលបានចំនួនប្រជាជននៃប្រទេសទាំងមូល យើងត្រូវតែមានការជ្រេីសជ្រៅបន្តិច។\n"
"ដោយសារ​មូលដ្ឋានទិន្នន័យនេះ​មានព័ត៌មានទាំងពីរអំពីប្រទេស និងខេត្ត ដើម្បីទទួលបានចំនួនប្រជាជនរបស់ប្រទេសទាំងមូល យើងត្រូវមានចរិយាករណ៍ខ្លះ៖ \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ការគណនារាប់ $R_t$\n",
"\n",
"ដើម្បីមើលថាជម្ងឺមានការឆ្លងឆាគ្រប់គ្រាន់ប៉ុនណា យើងមើលចំនួនបួនភាគផ្ទាល់មូលដ្ឋាន **basic reproduction number** $R_0$ ដែលបង្ហាញពីចំនួនមនុស្សដែលមនុស្សឆ្លងមានការឆ្លងបន្ថែម។ បើ $R_0$ ច្រើនជាង 1 ការផ្ទុះជំងឺមាននិន្នាការចំរូង។\n",
"## អូតុភាព $R_t$\n",
"\n",
"$R_0$ គឺជាសម្បត្តិរបស់ជំងឺ ដែរមិនគិតរួមជាមួយវិធានការការពារខ្លះៗដែលមនុស្សអាចអនុវត្តដើម្បីបន្ថយនូវការផ្ទុះជំងឺ។ ក្នុងរយៈពេលនៃការផ្ទុះជំងឺ យើងអាចប្រាប់ខ្ពស់ចំនួនបួនភាគចម្លង $R_t$ នៅពេលណាមួយ $t$។ វាត្រូវបានបង្ហាញថាចំនួននេះអាចគណនាប្រាកដប្រហែលដោយយកបង្អួចតម្លៃ 8 ថ្ងៃ ហើយគណនា $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"នៅទីនេះ $I_t$ គឺជាចំនួនបុគ្គលដែលឆ្លងថ្មីនៅថ្ងៃ $t$។\n",
"ដើម្បីមើលថាជម្ងឺមានការឆ្លងខ្លាំងប៉ុនណា យើងស្មើលេខ **ចំនួនចងចាំមូលដ្ឋាន** $R_0$ ដែលបង្ហាញពីចំនួនមនុស្សដែលម្នាក់ទទួលជំងឺអាចបង្កជំងឺបន្ថែម។ នៅពេលដែល $R_0$ លែងលើស 1 អាចនិយាយថាជំងឺនឹងផ្ទុះហើយផ្សះផ្សាជាយ៉ាងក្ដៅក្រហម។\n",
"\n",
"យើងមកគណនារូបមន្ត $R_t$ សម្រាប់ទិន្នន័យជំងឺរបស់យើង។ ដើម្បីធ្វើដូចនេះ យើងនឹងប្រើបង្អួចតម្លៃរវាង 8 គុណ `ninfected` ហើយអនុវត្តមុខងារជាមួយដើម្បីគណនាអត្រាដែលបានបញ្ជាក់ខាងលើ៖\n"
"$R_0$ គឺជាលក្ខណៈពិសេសរបស់ជំងឺផ្ទាល់ ហើយមិនបានគិតពីវិធានការការពារខ្លះៗដែលមនុស្សអាចអនុវត្តដើម្បីបន្ថយវិបត្តិនេះឡើយ។ ក្នុងដំណាក់កាលនៃការរីកចម្រើនជំងឺនោះ យើងអាចប៉ាន់ប្រមាណលេខចងចាំ $R_t$ នៅពេលខណៈ $t$ មួយណាមួយ។ វាត្រូវបានបង្ហាញថាលេខនេះអាចប៉ាន់ប្រមាណបានប្រហែលដោយយកវេនម៉ោង ៨ថ្ងៃហើយគណនា $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"ដែល $I_t$ ជាចំនួនមនុស្សដែលទើបតែឆ្លងជំងឺនៅថ្ងៃ $t$។\n",
"\n",
"យើងមកគណនាលេខ $R_t$ សម្រាប់ទិន្នន័យជំងឺរាតត្បាតរបស់យើង។ ដើម្បីធ្វើនេះ យើងនឹងយកវេនរអិលជំនាន់ ៨ តំលៃ `ninfected` ហើយអនុវត្តមុខងារដើម្បីគណនាភាគរយខាងលើ៖\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"អ្នកអាចឃើញថាមានចន្លោះខន្លះមួយចំនួននៅក្នុងក្រាប។ ចន្លោះទាំងនោះអាចបណ្តាលមកពី `NaN` ប្រសិនបើមានតម្លៃ `inf` នៅក្នុងសំណុំទិន្នន័យ។ `inf` អាចបណ្តាលមកពីការ​ចែក​តាម​លេខសូន្យ ហើយ `NaN` អាចបង្ហាញពីទិន្នន័យអស់បាត់ ឬគ្មានទិន្នន័យដែលអាចគណនាលទ្ធផលបាន (ដូចជាក្នុងដំណើមខ្សែព្រំរបស់យើង ដែលវីនដូរប្រែប្រួលទទឹង 8 នៅមិនទាន់មាន)។ ដើម្បីធ្វើឱ្យក្រាបមើលស្អាតជាងមុន យើងត្រូវបំពេញតម្លៃទាំងនោះដោយប្រើមុខងារ `replace` និង `fillna`។\n",
"អ្នកអាចមើលឃើញថាមានចន្លោះខ្សែឈ្មួញខ្លះ។ ចន្លោះទាំងនោះអាចកើតឡើងដោយ `NaN` បើសិនជា មានតម្លៃ `inf` នៅក្នុងឯកសារទិន្នន័យ។ `inf` អាចកើតឡើងដោយការបែងចែកដោយ 0 ហើយ `NaN` អាចបង្ហាញដល់ទិន្នន័យខ្វះ ឬគ្មានទិន្នន័យដែលមានសម្រាប់គណនា​លទ្ធផល (ដូចជាក្នុងដើមស៊ុមខ្សែរបស់យើង ដែលវីនដូរជ្រេរ 8 មិនទាន់មាន)។ ដើម្បីធ្វើឲ្យក្រាបរួមមានរូបរាងស្អាតជាងមុន យើងត្រូវបំពេញតម្លៃទាំងនោះដោយប្រើមុខងារ `replace` និង `fillna`។\n",
"\n",
"តោះសូមមើលបន្ថែមនៅដើមជំងឺរាតត្បាតផង។ យើងក៏នឹងដាក់កំណត់តម្លៃអ័ក្ស y ដើម្បីបង្ហាញតែលេខតូចជាង 6 ហើយ ដើម្បីឲ្យមើលឃើញច្បាស់ និងគូរបន្ទាត់ផ្ដេកនៅលេខ 1។\n"
"យើងចង់មើលបន្ថែមពីដើមកំណើតនៃជំងឺរាតត្បាត។ យើងក៏នឹងកំណត់តម្លៃអ័ក្ស y ដោយបង្ហាញតែតម្លៃក្រោម 6 ដើម្បីឲ្យមើលបានច្បាស់ជាងមុន ហើយគូរបន្ទាត់អតិបរមាត្រង់តម្លៃ 1។\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"សូចនាកររឿងរ៉ាវមួយទៀតដែលគួរឱ្យចាប់អារម្មណ៍នៃជំងឺរាតត្បាតគឺ **អាំងឌេរីវ៉ាទីវ** ឬ **ការប្រែប្រួលប្រចាំថ្ងៃ** នៃករណីថ្មី។ វាអនុញ្ញាតឱ្យយើងឃើញយ៉ាងច្បាស់ពេលជំងឺរាតត្បាតកំពុងកើនឡើង ឬកំពុងធ្លាក់ចុះ។\n"
"ក្រុមសូចនាករពិសេសមួយទៀតនៃជំងឺរាតត្បាតគឺ **ផលបូកបន្ថែម** ឬ **ភាពខុសគ្នាប្រចាំថ្ងៃ** ក្នុងករណីថ្មី។ វាអនុញ្ញាតឱ្យយើងមើលឃើញបានច្បាស់ថាតើជំងឺរាតត្បាតកំពុងកើនឡើង ឬកំពុងធ្លាក់ចុះ។ \n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ដោយសារតែមានការប្រែប្រួលច្រើនក្នុងទិន្នន័យដោយសារការរាយការណ៍ វាមានការសម្រួលក្នុងការបញ្ចេញបន្ទាត់ស្មើដោយបើកចរន្តមធ្យមរលុំ ដើម្បីទទួលបានរូបភាពទូទៅ។ យើងមកផ្តោតលើខែមុនៗនៃជំងឺរាតត្បាតម្តងទៀត៖\n"
"ព្រមទាំងការពិតដែលមានការវាយតម្លៃទិន្នន័យរំខានជាច្រើនដោយសារការរាយការណ៍ វាមានហេតុផលក្នុងការសម្អាតខ្សែក្រាបដោយការប្រើប្រាស់មធ្យមស្ទង់រាកហ្វឹកហ្វឺន ដើម្បីទទួលបានទិដ្ឋភាពទូទៅ។ មកវិញហាងផ្តោតលើខែដំបូងនៃជំងឺរាតត្បាត:\n"
]
},
{
@ -2390,26 +2391,27 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Challenge\n",
"\n",
"ឥឡូវនេះពេលវេលាសម្រាប់អ្នកលេងជាមួយកូដ និងទិន្នន័យបន្ថែមទៀត! នៅទីនេះមានការផ្តល់អនុសាសន៍ខ្លះៗដែលអ្នកអាចសាកល្បង៖\n",
"* មើលការវាយផ្សាយនៃជំងឺរាតត្បាតនៅប្រទេសផ្សេងៗ។\n",
"* គូសក្រាប $R_t$ សម្រាប់ប្រទេសជាច្រើននៅលើក្រាបតែមួយសម្រាប់ការប្រៀបធៀប ឬធ្វើក្រាបជាច្រើនចំហៀងនឹងគ្នា\n",
"* មើលថាចំនួនអ្នកស្លាប់ និងអ្នកសះស្បើយជាប់ទាក់ទងយ៉ាងដូចម្តេចជាមួយចំនួនអ្នកឆ្លង។\n",
"* ព្យាយាមរកដឹងថាជំងឺធម្មតាមានរយៈពេលប៉ុន្មាន ដោយផ្គូផ្គងដោយភូមិសាស្ត្រ អត្រាឆ្លង និងអត្រាស្លាប់ ហើយស្វែងរកភាពប្រក្រតីខុស។ អ្នកប្រហែលត្រូវការ​មើលប្រទេសផ្សេងៗដើម្បីរកព័ត៌មាននេះ។\n",
"* គណនាអត្រាស្លាប់ និងរបៀបដែលវាប្រែប្រួលជាមួយពេលវេលា។ អ្នកអាចចង់គិតគូរអំពីរយៈពេលជំងឺជាថ្ងៃ ដើម្បីផ្លាស់ប្តូរតួអក្សរតំណាងពេលមួយ មុនពេលធ្វើគណនា។\n"
"## ការប្រកួតប្រជែង\n",
"\n",
"ឥឡូវនេះពេលវេលារបស់អ្នកមកដល់ហើយក្នុងការប្រកួតលេងជាមួយកូដ និងទិន្នន័យ! នៅទីនេះមានពាក្យណែនាំមួយចំនួនដែលអ្នកអាចសាកល្បងបាន៖\n",
"* មើលការឆ្លងរាំងស្ទះនៃជំងឺរលាកក្នុងប្រទេសផ្សេងៗ។\n",
"* គូសប្លង់ $R_t$ សម្រាប់ប្រទេសជាច្រើននៅលើប្លង់មួយសម្រាប់ការប្រៀបធៀប ឬបង្កើតប្លង់ជាច្រើននៅជាប់គ្នា\n",
"* មើលថាចំនួនអ្នកស្លាប់ និងអ្នកជាសះស្បើយមានទំនាក់ទំនងយ៉ាងដូចម្តេចជាមួយចំនួនអ្នកឆ្លង។\n",
"* ព្យាយាមរកមើលរយៈពេលដែលជំងឺធម្មតាត្រូវរហូតដល់ដោយការប្រៀបធៀបទំនាក់ទំនងចំនួនអ្នកឆ្លង និងចំនួនអ្នកស្លាប់ និងស្វែងរករឿងខុសប្លែកខ្លះៗ។ អ្នកអាចត្រូវការមើលប្រទេសផ្សេងៗដើម្បីរកចំណុចនេះ។\n",
"* គណនារបាយការណ៍អត្រាស្លាប់ និងរបៀបដែលវាប្រែប្រួលខណៈពេល។ អ្នកអាចចង់អនុគ្រោះចំពោះរយៈពេលជំងឺជាទឹកដូចមួយដើម្បីផ្លាស់ប្តូរច្រើនរយៈពេលមួយមុនពេលធ្វើការគណនា\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ឯកសារ​ទិសដៅ\n",
"## ឯកសារយោង\n",
"\n",
"អ្នកអាចមើលការសិក្សាបន្ថែមអំពីការរីករាលដាលរោគ COVID នៅក្នុងការបោះពុម្ពផ្សាយខាងក្រោម៖\n",
"* [ម៉ូដែល SIR រមែងរអិលសម្រាប់ការប៉ាន់ស្មាន Rt ខណៈពេលរោគរាតត្បាត COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), ប្លុកដោយ [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [ការប៉ាន់ស្មានចំនួនចង្វាក់បង្កើតឡើងតាមពេលវេលាសម្រាប់ការរីករាលដាល COVID-19 ទូទាំងពិភពលោក](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [កូដសម្រាប់អត្ថបទខាងលើលើ GitHub](https://github.com/shwars/SlidingSIR)\n"
"អ្នកអាចមើលកំណត់ត្រាសិក្សាបន្ថែមស្តីពីការចម្លងជំងឺ COVID ក្នុងការបោះពុម្ពដូចខាងក្រោម៖\n",
"* [ម៉ូដែល SIR លើកកំពង់សម្រាប់ការវាយតម្លៃ Rt រយៈពេលជំងឺ COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), ការបោះពុម្ពប្លុកដោយ [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [ការវាយតម្លៃលេខលម្អិតពេលវេលាសម្រាប់ការ១នៃការចម្លងជំងឺ COVID-១៩ នៅពិភពលោក](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [កូដសម្រាប់អត្ថបទខាងលើនៅលើ GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ការលើកឡើង**៖ \nឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះបីយើងខិតខំប្រឹងប្រែងផ្តល់នូវភាពត្រឹមត្រូវក៏ដោយ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវខ្លះ។ ឯកសារដើមនៅក្នុងភាសាម្ចាស់របស់វាគួរត្រូវបានគេដាក់សារសំខាន់ថាជា​មូលដ្ឋានផ្លូវការជាផ្លូវការ។ សម្រាប់ព័ត៌មានសំខាន់ៗ ការបកប្រែដោយមនុស្សអ្នកជំនាញត្រូវបានណែនាំ។ យើងពុំមានការទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ការបដិសេធ**:\nឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -1,33 +1,33 @@
# Dangerous Liaisons គម្រោងការមើលទិន្នន័យ
# គម្រោងបង្ហាញទិន្នន័យ Dangerous Liaisons
ដើម្បីចាប់ផ្តើម អ្នកត្រូវតែធានាថា អ្នកមាន NPM និង Node រត់នៅលើកុំព្យូទ័ររបស់អ្នក។ តម្លើងការគាំទ្រ (npm install) ហើយបន្ទាប់មករត់គម្រោងនៅក្នុងម៉ាស៊ីននៅក្នុងតំបន់ក្នុង (npm run serve):
ដើម្បីចាប់ផ្តើម អ្នកត្រូវប្រាកដថា អ្នកមាន NPM និង Node **>=20.0.0** រត់នៅលើម៉ាស៊ីនរបស់អ្នក។ តំឡើងការពឹងផ្អែក (npm install) បន្ទាប់មករត់គម្រោងក្នុងរបៀបក្នុងមូលដ្ឋាន (npm run serve):
## ការតំឡើងគម្រោង
## ការកំណត់គម្រោង
```
npm install
```
### បកស្រាយ និងបញ្ចូលឡើងវិញសម្រាប់ការអភិវឌ្ឍន៍
### បកកូដ និងបញ្ចូលឡើងវិញសម្រាប់ការអភិវឌ្ឍ
```
npm run serve
```
### បកស្រាយ និងបង្រួមចំណុចសម្រាប់ផលិតកម្ម
### បកកូដ និងបង្រួមសម្រាប់ផលិតកម្ម
```
npm run build
```
### ពិនិត្យ និងកែសម្រួលឯកសារ
### ពិនិត្យ និងជួសជុលឯកសារ
```
npm run lint
```
### កំណត់រចនាសម្ព័ន្ធផ្ទាល់ខ្លួន
មើល [ការបញ្ជាក់រចនាសម្ព័ន្ធ](https://cli.vuejs.org/config/)。
### កំណត់រចនាសម្ព័ន្ធបែបផ្ទាល់ខ្លួន
សូមមើល [Configuration Reference](https://cli.vuejs.org/config/)។
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការដោះស្រាយចិត្ត**៖
ឯកសារនេះត្រូវបានបកប្រែដោយការបំពេញការងារបកប្រែដោយ AI តាមសេវាកម្ម [Co-op Translator](https://github.com/Azure/co-op-translator)។ ដោយយើងព្យាយាមឲ្យបានត្រឹមត្រូវបំផុត សូមយល់ដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬអាំងចិត្ដខុសបាន។ ឯកសារដើមនៅក្នុងភាសាទីដើមគួរត្រូវបានចាត់ទុកថាជាតំណាងដ៏ត្រឹមត្រូវ។ សម្រាប់ព័ត៌មានសំខាន់ៗ គួរត្រូវបានបកប្រែដោយអ្នកជំនាញមនុស្ស។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកអត្ថន័យខុសពាក់ព័ន្ធនឹងការប្រើប្រាស់ការបកប្រែនេះទេ។
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,33 +1,33 @@
# គម្រោងការតាក់តែងទិន្នន័យ Dangerous Liaisons
# គម្រោងការពិព៌ណទិន្នន័យ Dangerous Liaisons
ដើម្បីចាប់ផ្តើម អ្នកត្រូវប្រាកដថា អ្នកមាន NPM និង Node កំពុងរត់លើម៉ាស៊ីនរបស់អ្នក។ ធ្វើការតម្លើងអាស្រ័យភាព (npm install) បន្ទាប់មករត់គម្រោងនៅក្នុងកន្លែងស្រុក (npm run serve):
ដើម្បីចាប់ផ្តើម អ្នកត្រូវ​ប្រាកដថា​មាន NPM និង Node **>=20.0.0** រត់​លើម៉ាស៊ីន​របស់អ្នក។ តំឡើងការ​អាស្រ័យ​គ្នា (npm install) ហើយបន្ទាប់​មក​រត់​គម្រោង​នៅ​តំបន់​ផ្ទាល់ (npm run serve)៖
## ការតម្លើងគម្រោង
## ការតំឡើងគម្រោង
```
npm install
```
### កូដបញ្ចូល និងបញ្ចូលឡើងវិញសម្រាប់ការអភិវឌ្ឍ
### ប្រមូលកូដ និងបញ្ចេញឡើងវិញសម្រាប់ការអភិវឌ្ឍ
```
npm run serve
```
### កូដបញ្ចូល និងបង្រួមសម្រាប់ការផលិត
### ប្រមូលកូដ និងកាត់បន្ថយសម្រាប់ផលិតកម្ម
```
npm run build
```
### ពិនិត្យកូដ និងកែតម្រូវឯកសារ
### ពិនិត្យ និងជួសជុលឯកសារ
```
npm run lint
```
### កំណត់រចនាសម្ព័ន្ធផ្ទាល់ខ្លួន
មើល [Configuration Reference](https://cli.vuejs.org/config/).
### ប្តូរ​ការកំណត់​នៅតាមចំណេញរបស់អ្នក
មើល [Configuration Reference](https://cli.vuejs.org/config/)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាផ្លាស់ប្ដូរភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងសម្រាប់ភាពត្រឹមត្រូវ សូមយល់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាពុទ្ធសម្រាប់ត្រូវបានគេចាត់ទុកជាដើមទិន្នន័យដែលមានន័យអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្ដល់អនុសាសន៍ឱ្យមានការបកប្រែដោយអ្នកជំនាញមនុស្ស។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះទេ។
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save