Skip to content

Latest commit

 

History

History
182 lines (127 loc) · 22.2 KB

File metadata and controls

182 lines (127 loc) · 22.2 KB

ការមើលឃើញទំនាក់ទំនង៖ ទាំងអំពីទឹកឃ្មុំ 🍯

 សេចក្ដីសង្ខេបគំនូរសៀង្ការ ដោយ (@sketchthedocs)
ការមើលឃើញទំនាក់ទំនង - សេចក្ដីសង្ខេបគំនូរសៀង្ការ ដោយ @nitya

បន្តការយកចំណុចផ្តោតលើធម្មជាតិក្នុងការស្រាវជ្រាវរបស់យើង មកស្វែងរកការមើលឃើញដែលគួរឲ្យចាប់អារម្មណ៍ដើម្បីបង្ហាញទំនាក់ទំនងរវាងប្រភេទទឹកឃ្មុំផ្សេងៗគ្នា គិតតាមទិន្នន័យដែលបានរៀបចំចេញពី ក្រសួងកសិកម្មសហរដ្ឋអាមេរិក

ទិន្នន័យនេះមានប្រហែល 600 ធាតុបង្ហាញការផលិតទឹកឃ្មុំ ក្នុងមួយរដ្ឋជាច្រើនរបស់សហរដ្ឋអាមេរិក។ ដូច្នេះ ឧទាហរណ៍ អ្នកអាចមើលឃើញចំនួនប្រូនសត្វមេឃ្មុំ ផលចំណេញក្នុងមួយប្រូនសត្វមេឃ្មុំ ការផលិតសរុប ស្តុក តម្លៃក្នុងមួយផោន និងតម្លៃទឹកឃ្មុំដែលផលិតក្នុងរដ្ឋណាមួយពីឆ្នាំ 1998 ដល់ 2012 ដែលមានមួយជាប់ជាជួរដើម្បីផ្ដល់សំណុំទិន្នន័យក្នុងមួយឆ្នាំសម្រាប់រាជរដ្ឋានីយ៍នីមួយៗ។

វានឹងគួរឲ្យចាប់អារម្មណ៍ក្នុងការមើលឃើញទំនាក់ទំនងរវាងការផលិតក្នុងមួយឆ្នាំរបស់រដ្ឋណាមួយ និង, ឧទាហរណ៍, តម្លៃទឹកឃ្មុំក្នុងរដ្ឋនោះ។ ជំនួស អ្នកអាចមើលឃើញទំនាក់ទំនងរវាងផលចំណេញទឹកឃ្មុំក្នុងមួយប្រូនសត្វមេឃ្មុំរបស់រដ្ឋផ្សេងៗគ្នា។ រយៈពេលឆ្នាំនេះគ្របដណ្តប់សំរាប់ជំងឺសម្លាប់ប្រូនសត្វ 'CCD' ឬ 'Colony Collapse Disorder' ដែលបានមើលឃើញជាលើកដំបូងនៅឆ្នាំ 2006 (http://npic.orst.edu/envir/ccd.html) ដែលជាទិន្នន័យសម្រាប់សិក្សាដ៏មានតម្លៃ។ 🐝

ក្នុងមេរៀននេះ អ្នកអាចប្រើ Seaborn ដែលអ្នកបានប្រើមុននោះជាគ្រឿងសំអាងល្អសម្រាប់មើលឃើញទំនាក់ទំនងរវាងអថេរ។ អ្វីដែលគួរឱ្យចាប់អារម្មណ៍ជាពិសេសគឺការប្រើប្រាស់មុខងារ relplot របស់ Seaborn ដែលអនុញ្ញាតឲ្យបង្កើតផ្ទាំងសៀវភៅចុចសារ (scatter plots) និងផ្ទាំងខ្សែ (line plots) ដើម្បីមើលឃើញនូវ 'ទំនាក់ទំនងស្ថិតិ' ដែលអនុញ្ញាតឱ្យអ្នកវិទ្យាសាស្រ្តទិន្នន័យយល់ដឹងពីរបៀបការទំនាក់ទំនងរវាងអថេរ។

ផ្ទាំងចុចសារ (Scatterplots)

ប្រើផ្ទាំងចុចសារដើម្បីបង្ហាញពីរបៀបដែលតម្លៃទឹកឃ្មុំបានបំលែង ជារៀងរាល់ឆ្នាំ សម្រាប់ក្នុងមួយរដ្ឋ។ Seaborn ដែលប្រើ relplot ចំណាយថាមពលក្នុងការបែងចែកទិន្នន័យរដ្ឋ និងបង្ហាញចំណុចទិន្នន័យសម្រាប់ទិន្នន័យប្រភេទកាតេហ្គរី និងលេខ។

ចូរចាប់ផ្តើមដោយនាំចូលទិន្នន័យ និង Seaborn៖

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
honey = pd.read_csv('../../data/honey.csv')
honey.head()

អ្នកជ្រាបថាទិន្នន័យទឹកឃ្មុំមានជួរឈរ ដែលគួរឲ្យចាប់អារម្មណ៍ជាច្រើន រួមមានឆ្នាំ និងតម្លៃក្នុងមួយផោន។ មកស្វែងយល់ពីទិន្នន័យនេះ បែងចែកតាមរដ្ឋសហរដ្ឋអាមេរិក៖

រដ្ឋ numcol yieldpercol totalprod stocks priceperlb prodvalue ឆ្នាំ
AL 16000 71 1136000 159000 0.72 818000 1998
AZ 55000 60 3300000 1485000 0.64 2112000 1998
AR 53000 65 3445000 1688000 0.59 2033000 1998
CA 450000 83 37350000 12326000 0.62 23157000 1998
CO 27000 72 1944000 1594000 0.7 1361000 1998

បង្កើតផ្ទាំងចុចសារជាមូលដ្ឋានដើម្បីបង្ហាញទំនាក់ទំនងរវាងតម្លៃក្នុងមួយផោននៃទឹកឃ្មុំ និងរដ្ឋដែលផលិតវា។ ចូរធ្វើឱ្យតំបន់អក្សរតំណាង y មានកម្ពស់គ្រប់គ្រាន់ដើម្បីបង្ហាញរដ្ឋទាំងអស់៖

sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);

scatterplot 1

ឥឡូវនេះ បង្ហាញទិន្នន័យដូចគ្នាជាមួយផ្ទាំងពណ៌ទឹកឃ្មុំ ដើម្បីបង្ហាញពីរបៀបដែលតម្លៃបានបំលែងជារៀងរាល់ឆ្នាំ។ អ្នកអាចធ្វើវាដោយបន្ថែមប៉ារ៉ាម៉ែត្រ 'hue' ដើម្បីបង្ហាញការផ្លាស់ប្ដូរ ជារៀងរាល់ឆ្នាំ៖

✅ រៀនបន្ថែមអំពី ពណ៌ផ្លាស់ប្ដូរដែលអ្នកអាចប្រើជាមួយ Seaborn – សាកល្បងពណ៌រ៉ែនប៉ាក់ដ៏ស្រស់ស្អាត!

sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);

scatterplot 2

ជាមួយការផ្លាស់ប្ដូរផ្ទាំងពណ៌នេះ អ្នកអាចមើលឃើញថា មានការវិវឌ្ឍមាំមួននៅរយៈពេលជាច្រើនឆ្នាំក្នុងទំហំនៃតម្លៃទឹកឃ្មុំក្នុងមួយផោន។ ជាក់ស្តែង បើអ្នកមើលឃើញដែលជាគំរូមួយពីទិន្នន័យ ដើម្បីផ្ទៀងផ្ទាត់ (ជ្រើសរើសរដ្ឋណាមួយ, ដូចជា Arizona) អ្នកអាចឃើញលំនាំតម្លៃកើនឡើងជារៀងរាល់ឆ្នាំ មានតែខ្លះតែប៉ុណ្ណោះដែលជាប់ខុសត្រូវ៖

រដ្ឋ numcol yieldpercol totalprod stocks priceperlb prodvalue ឆ្នាំ
AZ 55000 60 3300000 1485000 0.64 2112000 1998
AZ 52000 62 3224000 1548000 0.62 1999000 1999
AZ 40000 59 2360000 1322000 0.73 1723000 2000
AZ 43000 59 2537000 1142000 0.72 1827000 2001
AZ 38000 63 2394000 1197000 1.08 2586000 2002
AZ 35000 72 2520000 983000 1.34 3377000 2003
AZ 32000 55 1760000 774000 1.11 1954000 2004
AZ 36000 50 1800000 720000 1.04 1872000 2005
AZ 30000 65 1950000 839000 0.91 1775000 2006
AZ 30000 64 1920000 902000 1.26 2419000 2007
AZ 25000 64 1600000 336000 1.26 2016000 2008
AZ 20000 52 1040000 562000 1.45 1508000 2009
AZ 24000 77 1848000 665000 1.52 2809000 2010
AZ 23000 53 1219000 427000 1.55 1889000 2011
AZ 22000 46 1012000 253000 1.79 1811000 2012

វិធីមួយផ្សេងទៀតនៃការមើលឃើញការវិវឌ្ឍនេះគឺប្រើទ្រង់ទ្រាយទំហំ ផ្ទុយពីពណ៌។ សម្រាប់អ្នកដែលមានមើលមិនឃើញពណ៌ ពួកគេអាចរកមើលជម្រើសនេះបានល្អ។ កែសម្រួលការមើលឃើញរបស់អ្នក ដើម្បីបង្ហាញការកើនឡើងនៃតម្លៃដោយការកើនឡើងនៃចំនួនជុំវិញចំណុច៖

sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);

អ្នកអាចមើលឃើញទំហំចំណុចកើនឡើងមែន។

scatterplot 3

តើនេះជាគ្រាឌីមងាយស្រួលរបស់ការផ្គត់ផ្គង់ និងសំណើរឬ? ដោយសាររឿងដូចជា អាកាសធាតុបម្លាស់ប្តូរ និងជំងឺសម្លាប់ប្រូនសត្វមេឃ្មុំ កើតមានថាតើមានទឹកឃ្មុំតិចជាងសម្រាប់ការជាវមួយជារៀងរាល់ឆ្នាំ ហើយដូច្នេះតម្លៃកើនឡើង?

ដើម្បីរកមើលការតភ្ជាប់រវាងអថេរក្នុងទិន្នន័យនេះ មកស្វែងយល់ពីផ្ទាំងខ្សែខាងក្រោម។

ផ្ទាំងខ្សែ

សំណួរ៖ តើមានការកើនឡើងច្បាស់លាស់ក្នុងតម្លៃទឹកឃ្មុំក្នុងមួយផោន ជារៀងរាល់ឆ្នាំទេ? អ្នកអាចរកឃើញវាប្រសើរបំផុតដោយបង្កើតផ្ទាំងខ្សែតែមួយ ៖

sns.relplot(x="year", y="priceperlb", kind="line", data=honey);

ចម្លើយ៖ បាទ/ចាស មាន ទោះបីមានករណីខុសប្លែកនៅឆ្នាំ 2003 ក៏ដោយ៖

line chart 1

✅ ពីព្រោះ Seaborn រួមបញ្ចូលទិន្នន័យជុំវិញខ្សែខាងលើ មើលឃើញ "ការវាស់វែងច្រើននៅតំលៃ x រៀងៗគ្នា ដោយបង្ហាញចំណុចមធ្យម និងចន្លោះទំនុកចិត្ត 95% រំលងចំណុចមធ្យម"។ ប្រភព។ អាកប្បកិរិយានេះដែលចំណាយពេលអាចបិទបានដោយបន្ថែម ci=None

សំណួរ៖ តើនៅឆ្នាំ 2003 ក៏អាចឃើញការកើនឡើងនៃការផ្គត់ផ្គង់ទឹកឃ្មុំផងដែរឬ? តើអ្នកមើលការផលិតសរុបជារៀងរាល់ឆ្នាំដូចម្តេច?

sns.relplot(x="year", y="totalprod", kind="line", data=honey);

line chart 2

ចម្លើយ៖ មិនមែនទេ។ ប្រសិនបើអ្នកមើលការផលិតសរុប វាត្រូវបានគេចាត់ទុកថាបានកើនឡើងនៅឆ្នាំនោះប៉ុន្តែលើកលែងតែមួយ បើប្រៀបធៀបទៅតាមទូទៅបរិមាណទឹកឃ្មុំដែលបានផលិតកំពុងធ្លាក់ចុះក្នុងរយៈពេលនេះ។

សំណួរ៖ ក្នុងករណីនេះ តើអ្វីដែលអាចបណ្តាលឲ្យមានការកើនឡើងតម្លៃទឹកឃ្មុំនៅឆ្នាំ 2003?

ដើម្បីស្វែងរកវា អ្នកអាចស្វែងយល់ពី grid បង្ហាញផ្នែក។

ផ្នែក grid

ផ្នែក grid ស្ទួនគ្នាផ្នែកមួយនៃទិន្នន័យរបស់អ្នក (ក្នុងករណីនេះ អ្នកអាចជ្រើសរើស 'ឆ្នាំ' ដ כדיចៀសវាងការបង្កើតផ្នែក grid ច្រើនពេក)។ Seaborn អាចបង្កើតផ្ទាំងចងក្រងសម្រាប់ផ្នែកនីមួយៗនៃបន្ទាត់គូ x និង y ដែលបានជ្រើសរើសសម្រាប់កាត់បៀបកំណត់ផ្ទាំងភាគរយប្រសើរឡើង។ តើឆ្នាំ 2003 មានcl គឺមានភាពច្បាស់លាស់ក្នុងការប្រៀបធៀបប្រភេទនេះឬ?

បង្កើតផ្នែក grid ដោយបន្តប្រើ relplot ដូចដែលបានផ្តល់អនុសាសន៍ដោយ ឯកសាររបស់ Seaborn

sns.relplot(
    data=honey, 
    x="yieldpercol", y="numcol",
    col="year", 
    col_wrap=3,
    kind="line"
    )

នៅក្នុងការមើលឃើញនេះ អ្នកអាចប្រៀបធៀបផលចំណេញក្នុងមួយប្រូនសត្វមេឃ្មុំ និងចំនួនប្រូនសត្វមេឃ្មុំ ជារៀងរាល់ឆ្នាំ នៅជាប់ជាមួយការតម្រៀបប៉ះពាល់នៅជួរឈរ 3៖

facet grid

សម្រាប់ទិន្នន័យនេះ មិនមានអ្វីបង្ហាញឲ្យដឹងជាក់ស្តែងទាក់ទងនឹងចំនួនប្រូនសត្វមេឃ្មុំ និងផលចំណេញរបស់ពួកវា ជារៀងរាល់ឆ្នាំ និងសម្រាប់រាជរដ្ឋានីយ៍នីមួយៗទេ។ តើមានវិធីផ្សេងទៀតដើម្បីស្វែងរកការតភ្ជាប់រវាងអថេរទាំងពីរទេ?

ផ្ទាំងខ្សែពីរជាប់គ្នា (Dual-line Plots)

សាកល្បងបង្កើតផ្ទាំងខ្សែច្រើនជាមួយការវាស់វែងពីរដែលរំលេចលើគ្នា ប្រើ 'despine' របស់ Seaborn ដើម្បីដករាំងខ្សែចងក្រងខាងលើ និង ខាងស្ដាំ និងប្រើ ax.twinx ដែលបានយកចេញពី Matplotlib។ Twinx អនុញ្ញាតឲ្យផ្ទាំងបង្ហាញចែករំលែកតំបន់ x ហើយបង្ហាញតំបន់ y ប្ដូរពីរប្រភេទ។ ដូច្នេះ បង្ហាញផលចំណេញក្នុងមួយប្រូនសត្វមេឃ្មុំ និងចំនួនប្រូនសត្វមេឃ្មុំ រំលេចលើគ្នា៖

fig, ax = plt.subplots(figsize=(12,6))
lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey, 
                        label = 'Number of bee colonies', legend=False)
sns.despine()
plt.ylabel('# colonies')
plt.title('Honey Production Year over Year');

ax2 = ax.twinx()
lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r", 
                         label ='Yield per colony', legend=False) 
sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();

superimposed plots

ទោះបីជាមិនមានអ្វីដែលមើលទៅបំភ្លឺច្បាស់នៅឆ្នាំ 2003 ក៏ដោយ វាក៏អនុញ្ញាតឲ្យយើងបញ្ចប់មេរៀននេះជាមួយពាក្យប្លែកៗថា ទោះបីជាចំនួនប្រូនសត្វមេឃ្មុំកំពុងធ្លាក់ចុះទូទៅ ក៏ប៉ុន្តែចំនួនប្រូនសត្វមេឃ្មុំបានមានស្ថេរភាព ទោះបីជាផលចំណេញក្នុងមួយប្រូនសត្វមេឃ្មុំកំពុងធ្លាក់ចុះ។

ចូរចេញដំណើរ តាតាតា!

🐝❤️

🚀 챌린지

ក្នុងមេរៀននេះ អ្នកបានរៀនអំពីការប្រើប្រាស់ផ្ទាំងចុចសារ និង grid ខ្សែជាច្រើនរួមទាំង grid ផ្នែកផងដែរ។ តេស្តខ្លួនឯង ដោយបង្កើត grid ផ្នែកតាមការប្រើប្រាស់ទិន្នន័យផ្សេងទៀត ខាងលើបើត្រូវ តើគួរឲ្យប្រសើរឬ? ចំណាំវេលានិងការប៉ះពាល់ពេលបង្កើតវាប្រើបច្ចេកទេសទាំងនេះ។

ការពិនិត្យឡើងវិញ និងរៀនដោយខ្លួនឯង

ផ្ទាំងខ្សែអាចមានភាពសាមញ្ញ ឬស្មុគស្មាញកម្រិតខ្ពស់។ សូមអានបន្ថែមក្នុង ឯកសាររបស់ Seaborn អំពីវិធីផ្សេងៗក្នុងការបង្កើតវា។ ព្យាយាមបន្ថែមលទ្ធផលទាំងនេះខាងលើដោយរបៀបផ្សេងទៀតដែលមានក្នុងឯកសារ។

ការចាត់ការងារ

ចូលទៅក្នុងគំនរមែកោះ


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