Data Science Methodology

Data Science လုပ်ငန်းများဆောင်ရွက်ရာမှာ Methodology က မလိုအပ်ဘူးလို့ အတော်များများထင်တက်ကြပေမယ့် တကယ့်ပညာရှင်များကတော့ data တွေကို စနစ်တကျ ကိုင်တွယ်နိုင်ဖို့ Methodology အမှန်တကယ်လိုအပ်တယ်လို့ ပြောပါတယ်။ Methodology မကောင်းရင် အောင်မြင်တာတောင် အောင်မြင်သင့်သလောက်မအောင်မြင် ဖြစ်တက်ပါတယ်။ Marketing, producing, software developing စတဲ့ အခြားနယ်ပယ် တွေမှာလည်း လုပ်ငန်းအောင်မြင်ဖို့ အသုံးပြုတဲ့ Methodology တွေရှိတက်ပါတယ်။ အလားတူ Data Science နယ်ပယ်မှာလည်း အသုံးပြုစရာ Methodology အများအပြားရှိပြီး အဲဒီထဲကမှ Foundational Methodology (foundational methodology for data science) ဟာ အသုံးများတဲ့ Methodology တစ်ခုဖြစ်ပါတယ်။



ဒီ Methodology မှာ အောက်ပါအတိုင်း အဆင့်(၁၀) ဆင့်ပါဝင်ပါတယ်-

  • Stage 1: Business understanding
  • Stage 2: Analytic approach
  • Stage 3: Data requirements
  • Stage 4: Data collection
  • Stage 5: Data understanding
  • Stage 6: Data preparation
  • Stage 7: Modeling
  • Stage 8: Evaluation
  • Stage 9: Deployment
  • Stage 10: Feedback

Stage 1: Business understanding

Data science အလုပ်လုပ်ကိုင်နေသူတွေဟာ သက်ဆိုင်ရာနယ်ပယ် project အလိုက် business domain knowledge ရှိဖို့ လုပ်ငန်းကျွမ်းကျင်မှုရှိဖို့ လိုအပ်ပါတယ်။ business domain knowledge မရှိရင် ရှိအောင်အရင်ဆုံး လေ့လာရပါမယ်။ မြန်မြန်လေ့လာနိုင်လေ ကောင်းလေပါ။ လုပ်ငန်းပမာဏ ကြီးကြီး သေးသေး domain knowledge ရှိဖို့လိုအပ်ပါတယ်။ domain knowledge များလေ လုပ်ငန်းအောင်မြင်ဖို့ ပိုသေချာလေဖြစ်ပါတယ်။ နောက်ပြီး ဒီအဆင့်မှာ ပဲ အောက်ပါမေးခွန်းများကို ဖြေဆိုနိုင်ရပါမယ်-

·                 problems?

·                 objectives?

·                 solution?

 

problems?

(ပြဿနာကဘာလဲဆိုတာ သိရပါမယ်။ ဘာကြောင့်ဒီ project ကိုလုပ်ရတာလဲ။ အရောင်းမြှင့်တင်ဖို့လား၊ ဝယ်သူတွေရဲ့ စိတ်ဝင်စားမှုကို လေ့လာမှာလား၊ စျေးကွက် ထိုးဖောက်ဖို့လား စသဖြင့်)

objectives?

(မိမိရည်မှန်းချက်ကို သိရပါမယ်။ အရောင်းမြှင့်တင်ဖို့ဆိုရင် ဘယ်လောက်ပမာဏလဲ၊ ဘယ် customer တွေကိုလဲ၊ ပြိုင်ဘက် ကုန်ပစ္စည်းတွေနဲ့ ယှဉ်ပြိုင်ဖို့လား စသဖြင့်)

solution?

(ဘယ်လိုအကောင်အထည်ဖော်မှာလဲ။ ဘယ်လိုနည်းလမ်းတွေနဲ့ဆောင်ရွက်မှာလဲ။)

Stage 2: Analytic approach

ဒီလို ပြဿနာတွေကို နားလည် သဘောပေါက်ပြီဆိုရင် ဒုတိယအဆင့်အနေနဲ့ ဘယ်လို နည်းလမ်းတွေနဲ့ ချဉ်းကပ်ရမလဲစဉ်းစားရပါမယ်။ ဒီလိုစဉ်းစားရာမှာ စီးပွားရေးလိုအပ်ချက် / လုပ်ငန်း လိုအပ်ချက်တွေကို အဓိကထားရမှာဖြစ်ပြီး မိမိတို့ဆောင်ရွက်တဲ့နည်းလမ်းဟာ ထိရောက်မှုရှိမရှိလည်း ပြန်ဆန်းစစ် နေဖို့လိုပါတယ်။ စီးပွားရေးလိုအပ်ချက် / လုပ်ငန်းလိုအပ်ချက် တွေဟာ ပြဿနာတွေကို အဖြေရှာခိုင်းတာလား၊ ဖြစ်လာမယ့်အလားအလာတွေကို တင်ကြို ခန့်မှန်းခိုင်းတာလား ဆိုတာ ကွဲပြားဖို့လိုပါတယ်။

ဆောင်ရွက်မယ့် နည်းလမ်းတွေအနေနဲ့ စာရင်းအင်းပညာရပ်တွေ၊ ကွန်ပျူတာပရိုဂရမ်တွေ၊ သင်္ချာသီအိုရီတွေ စသဖြင့် လိုအပ်သလို တွဲဘက်အသုံးပြုရမှာဖြစ်ပါတယ်။ အဲဒီမှာ ကွန်ပျူတာကျွမ်းကျင်မှုတွေ၊ ပေါင်းသင်းဆက်ဆံရေးကောင်းမွန်မှု၊ အသင်းအဖွဲ့လိုက် ဆောင်ရွက်တက်မှု စတဲ့ စကေးတွေလည်း ပါဝင်လာမှာဖြစ်ပါတယ်။

3.data requirements


တတိယအဆင့်မှာ Data Requirement အနေနဲ့ ပါဝင်ပါတယ်။ ဒီအဆင့်မှာ အသုံးဝင်တဲ့ Data တွေနဲ့ အသုံးမဝင်တဲ့ Data တွေကို ခွဲထုတ်ရပါမယ်။ Data လိုအပ်ချက်ဟာ ကိုယ်ဆောင်ရွက်မယ် Project ပေါ်မှာမူတည်ပြီး အပြောင်းအလဲရှိနိုင်ပါတယ်။ ဘယ်လိုဒေတာတွေ လိုအပ်သလဲ ဆိုတာအပြင် လိုအပ်တဲ့ data တွေရဲ့ Format ကိုပါထည့်သွင်း စဉ်းစားသတ်မှတ်ဖို့ လိုပါတယ်။

ဥပမာ။ မြို့တွေရဲ့အမည်ကို ကောက်ယူမယ်ဆိုရင် format နဲ့ရေးသားမှာလဲ။ မြန်မာလိုလား ၊ English လိုလား၊ အတိုကောက်လား၊ အရှည်လား၊ စသည်ဖြင့် တိတိကျကျသတ်မှတ်ရပါမယ်။ ဒါအပြင် file format က ဘာလဲ။ sql လား excel လားစသည်ဖြင့်၊

ဒါမှသာ နောက်လာမယ် data collection ပိုင်းနဲ့ Data cleaning ပိုင်းတွေမှာ ပိုမိုထိရောက်စွာ ဆောင်ရွက်နိုင်မှာဖြစ်ပါတယ်/ နောက်ပြီး အချို့Data တွေဟာ ကောက်ယူရ ခက်ခဲနိုင်ပြီး အချို့ Data တွေဟာ လိုချင်တဲ့ format ပုံစံနဲ့ရရှိမလာခဲ့ရရင် ကိုင်တွယ်မယ့် နည်းလမ်းတွေကိုလည်း တပါတည်း စဉ်းစားထားရပါမယ်။ ဒီလိုနည်းလမ်းတွေကိုလည်း data cleansing /data processing အဆင့်မှာ ထပ်မံရှင်းပြသွားပါမယ်။

4.data collection

နောက် data collection အဆင့်မှာ မိမိတို့လိုအပ်သည့် data တွေကို ဘယ်ကရမှာလဲ ၊ ဘယ်လိုရမှာလဲ၊ တစ်နေရာတည်းကပဲ ရမှာလား ၊ လိုက်လံစုဆောင်းရမှာလား ၊ data တွေက ဘယ်လို format တွေနဲ့ ရမှာလဲဆိုတာ အရင်ဆုံး စဉ်းစားဖို့လိုပါတယ်။ လုပ်ငန်းအတော်များများမှာ မိမိတို့လိုအပ်တဲ့ data တွေကို data source ကနေ အကုန်တယ်လို့ အမြဲတမ်းမရှိပါဘူး။ ဒီလိုဆို Data cleaning / Data preparation အဆင့်မှာ ဘယ်လိုဆောင်ရွက်မလဲဆိုတာကို နည်းလမ်းတွေ စဉ်းစားတာဖြစ်ဖြစ် Data requirement အဆင့်ကိုပြန်သွားပြီး ပြင်ဆင်ဖို့လိုပါတယ်။ ဒါကြောင့် အဆင့်တွေဟာ အချင်းချင်းချိတ်ဆက်နေတယ်ဆိုတာ သိနိုင်ပါတယ်။

Data တွေရလာပြီးဆိုရင် Descriptive statistics နည်းလမ်း တွေနဲ့ အကြိုစမ်းစစ်မှု ပြုလုပ်နိုင်ပါတယ်။ အချို့ လုပ်ငန်းအပ်နှံသူတွေဟာ သူတို့ ဘာဖြစ်ချင်လဲဆိုတာပဲ သိပြီး သူတို့ ဘယ်အချက်အလက်တွေကို ပေးရမလဲဆိုတာ မသိဘူးဖြစ်နေတက်ပါတယ်။ ဒါအပြင် ပေးစရာအချက်အလက်မရှိတာမျိုးနဲ့လည်း တွေ့နိုင်ပါတယ်။ နောက်ပြီး အချို့လုပ်ငန်းတွေမှာ အချက်အလက်တွေကို အရင်ကတည်းက ကောက်ယူထားခဲ့ပေမယ့် အရေးမကြီးဘူးထင်ပြီး Analysis လုပ်ဖို့ လိုအပ်လို့ ပြန်ရှာရမှ ခက်ခက်ခဲခဲပြန်ရှာရတာမျိုးတွေလည်း ရှိနိုင်ပါတယ်။

5.Data understanding

Data တွေရရှိပြီဆိုရင် ရရှိလာတဲ့ အချက်အလက်တွေကို ပြန်လည်စစ်ဆေးဖို့အတွက် Data understanding အဆင့်ကို ဆက်လက်လုပ်ဆောင်ရပါမယ်။ ဒါကြောင့် Descriptive statistics နည်းလမ်းတွေနဲ့ တွက်ချက်တာတွေ၊ ဂရပ်တွေ၊ Chart တွေ ဇယားတွေ မြေပုံတွေ တွေထုတ်ပြီး data visualization လုပ်တာတွေ လုပ်ပြီး အချက်အလက်တွေကို ပိုမို မြင်သာအောင်ဆောင်ရွက်ဖို့ လိုအပ်ပါတယ်။ ဒီလိုလုပ်ပြီး data တွေကို နားလည် ရာကနေ ရရှိလာတဲ့ အချက်အလက်တွေဟာ တွက်ချက်လို့ရရဲ့လား၊ အချက်အလက်အစုံအလင်ရရှိရဲ့လား၊ ကိုယ်လိုချင်တဲ့ format နဲ့ကိုက်ညီပြီး စနစ်တကျရှိရဲ့လား ဆိုတာတွေကို စစ်ဆေးရမှာဖြစ်ပါတယ်။ လိုအပ်တာတွေ မစုံလင်တာတွေ မကိုက်ညီတာတွေဖြစ်လာခဲ့ရင် တစ်ခါတစ်လေ data collection အဆင့်ကို ပြန်လည်ဆောင်ရွက်ရတာမျိုးရှိနိုင်ပါတယ်။

6.data preparation

ရရှိလာတဲ့ အချက်အလက်အချို့က ချက်ချင်းသုံးလို့မရတာမျိုးတွေရှိတက်ပါတယ်။ format မှားနေတာမျိုး၊ အချက်အလက် ကျန်ခဲ့တာမျိုး၊ မှားယွင်းနေတာမျိုး စသည်ဖြင့် ချက်ချင်း သုံးလုံးမရတဲ့ dirty data တွေရလာပြီဆိုရင် နည်းလမ်း အမျိုးမျိုးနဲ့ clean လုပ်ကြရပါတယ်။ ဥပမာ Gender အချက်အလက်ကောက်တာမှာ ကျား/မ ဖြည့်ရမယ့် အစား male /female ၊ M/F စသည်ဖြင့်ပုံစံအမျိုးမျိုးနဲ့ ဖြည့်သွင်းလာတာမျိုးတွေကို ကျွန်တော်တို့အနေနဲ့ ပုံစံတစ်မျိုးတည်း ဖြစ်အောင်ပြန်လည် ပြင်ဆင်ပေးဖို့လိုအပ်ပါတယ်။ ဒါမှသာ တွက်ချက်တဲ့အခါ အဆင်ပြေမှာပါ။

ဒါကို data cleansing လုပ်တယ် data processing လုပ်တယ်လို့လည်း ခေါ်ပါတယ်။ dirty data ပုံစံအမျိုးမျိုးရှိနေနိုင်ပါတယ်။ ရက်စွဲတွေ ပုံစံအမျိုးမျိုးဖြည့်ထားတာ။ ဖုန်းနံပါတ် ဖြည့်ရမယ့်နေရာမှာ လိပ်စာတွေမှားဖြည့်ထားတာ စသည်ဖြင့် dirty data တွေရှိနေနိုင်ပါတယ်။ လိုအပ်ရင် data တွေကို ပြန်လည်ပြင်ဆင်တာမျိုး (ETL process - Extract, Transform, Load) Transform လုပ်ပေးရပါတယ်။ ဒီလိုလုပ်လို့မှမရရင်တော့ ဒေတာပြန်ကောက် ယူတာမျိုး ပြန်လုပ်ရမှာ ဖြစ်ပါတယ်။

 

7.Modeling

Modeling ဆိုတာ ကိုယ့်မှာရှိတဲ့အချက်အလက်ပေါ်အခြေခံပြီး ပြသနာတွေကို ရှင်းလင်းအဖြေ ထုတ်ရတာဖြစ်ပါတယ်။ အဆင့် (၂) Analytic approach မှာ ပြောခဲ့တဲ့ ပြသနာတွေကို ဘယ်လိုချဉ်းကပ်ဖြေရှင်းမလဲ ဆိုတဲ့ ဆုံးဖြတ်ချက်အပေါ်မှာ မူတည်နေပါတယ်။ data အချက်အလက်တွေတစ်ခုနဲ့တစ်ခု ဆက်စပ်မှုကို ရှာဖွေတာ၊ ဒါဖြစ်ရင်ဒီလိုလည်း ဖြစ်နိုင်တယ်ဆိုတဲ့ Data တွေရဲ့ သဘောသဘာဝ အပြုအမူတွေကို ရှာဖွေတာ စတဲ့ descriptive model နဲ့ ကုန်စျေးနှုန်းအတက်အကျ၊ စျေးကွက်အခြေအနေစတာတွေကို ကြိုတင်ခန့်မှန်းတာတွေ လုပ်ဖို့ လက်ရှိဒေတာတွေပေါ်အခြေခံပြီး ဘာတွေဖြစ်လာနိုင်တယ် ဆိုတာမျိုးဟောကိန်းထုတ်တဲ့ Predictive model ဆိုပြီး နှစ်မျိုးဖြစ်နိုင်ပါတယ်။

8.evaluation

evaluation ဆိုတာ model တွေ ဘယ်လောက်ထိရောက်မှုရှိလဲ မှတ်ကျောက်တင်ကြည့်ရတဲ့ အဆင့်ဖြစ်ပါတယ်။ ဒီလိုမှတ်ကျောက်တင်တဲ့နည်းအမျိုးမျိုးရှိနိုင်ပြီး training လုပ်တာတွေ၊ testing လုပ်တာတွေ ဆိုတဲ့ လုပ်ငန်းစဉ်တွေပါဝင်လာပါတယ်။

training

model တွေကို training data တွေနဲ့ လေ့ကျင့်ရေးဆွဲ (train) ရပါတယ်။

testing

လိုချင်တဲ့ အခြေအနေရောက်ပြီဆိုရင် model ဟာ ထိရောက်မှု မှန်ကန်မှုရှိမရှိ စမ်းသပ်ဖို့ testing data တွေထည့်သွင်း ပြီး testing ဆန်းစစ်မှုတွေ ပြုလုပ်ဖို့လိုပါတယ်။

testing data တွေထည့်သွင်းပြီး အမှန်တကယ်ရလဒ်နဲ့ ဘယ်လောက်နီးစပ်သလဲ စစ်ဆေးခြင်း evaluation ပြုလုပ်ရပါတယ်။ evaluation လုပ်လို့ ကွာဟမှုအရမ်းများနေရင် model တွေကို ပြန်ပြီး (အဆင့်-၇) modeling လုပ်ပေးရပါတယ်။

9.deployment

 

evaluation လုပ်ပြီးတဲ့ model ကို ကျေနပ်တဲ့အဆင့်ရောက်ရင် အများအသုံးပြုနိုင်အောင် deploye လုပ်ရပါတယ်။ deploye တဲ့ပုံစံအမျိုးမျိုးရှိပါတယ်။ server ပေါ်မှာ live တင်ပြီး လုပ်တာမျိုးကနေ အချင်းချင်း social network ကနေဝေမျှပြီး လုပ်တာမျိုးတွေလည်းရှိပါတယ်။ လုပ်ပြီးတဲ့ model ကို ဒီလို deployment လုပ်ဖို့ server သမားတွေ network သမားတွေစတဲ့ အခြားနယ်ပယ်က ပညာရှင်တွေနဲ့ပါပူးပေါင်းလုပ်ဆောင် ရတာမျိုးတွေရှိနိုင်ပါတယ်။ အချို့ အဖွဲ့အစည်းတွေအနေနဲ့ ကိုယ့်ရဲ့ model ကို publice ကို deployment မလုပ်ခင် ကိုယ့် private မှာ အရင် deployment လုပ်ပြီး စမ်းသပ်ကြတက်ပါသေးတယ်။ အချို့ အဖွဲ့အစည်းတွေအနေနဲ့ ကိုယ့်ရဲ့ publice မှာပဲ demo အနေနဲ့ အရင် deployment လုပ်လိုက်တာမျိုးတွေ ရှိနိုင်ပါတယ်။ အချိန်ကာလ တစ်ခုအထိ demo ဗားရှင်းနဲ့ အစမ်းလွှင့်တင်ပြီးမှ အတည်ထုတ်ကြတာမျိုးက ကိုယ့်အတွက် ပြင်ဆင်ချိန် ပိုရပါတယ်။

10.Feedback

deployment လုပ်ပြီး အသုံးပြုသူတွေဆီက feedback ကို ပြန်လည်ကောက်ယူဖို့ လိုပါတယ်။ ဒါမှသာ ပိုကောင်းမွန်အောင် ပြင်ဆင်နိုင်မှာဖြစ်ပါတယ်။ feedback တိုင်းကို လိုက်လုပ်ပေးဖို့ မလိုပေမယ့် ရရှိလာတဲ့ feedback တိုင်းကို သင့်ပါတယ်။ ဒါမှသာ ကိုယ့်မမြင်လိုက်တဲ့ အချက်တွေ ကို ပြန်လည်ပြင်ဆင်ပြီး ပိုမိုကောင်းမွန်တဲ့ data anylatic result ကို ရရှိနိုင်မှာပါ။ တကယ်တော feedback လုပ်ငန်းစဉ်ဟာ အဆင့်တစ်ခုဆိုတာထက် process တစ်ခုအနေနဲ့ကိုဖြစ်နေနိုင်ပါတယ်။ feedback တွေကို အခြေခံပြီး ပိုမိုကောင်းမွန်တဲ့ အဆင့်ထိရောက်အောင် ကျွန်တော်တို့ product ကို ပြင်ဆင်သွားရမှာပါ။ feedback တွေရလာလိုက် ပြင်လိုက် ၊ အဲဒီပြင်ဆင်ချက်အပေါ်မှာ feedback တွေထပ်ရလာရင်လဲ ထပ်ပြင်နေရဦးမှာပါပဲ။ ဒါကြောင့် process တစ်ခုဖြစ်နေတယ် လို့ပြောတာပါ။


Conclusion

ဆိုခဲ့ပါ အဆင့်ဆယ်ဆင့်မှာ before modeling ဟာ After modeling ထက်အချိန် ပိုပေးရပါတယ်။ before modeling မှာ project timeline စုစုပေါင်းရဲ့ 70% လောက်အသုံးပြုရကြောင်း ပြောကြတာသိရပါတယ်။ ကျန်တဲ့ 30% က modeling နဲ့ after modeling အပိုင်းကို လုပ်ဆောင်ရတာလို ဆိုကြပါတယ်။

ဒီ အဆင့် (၁၀) ဆင့်ပါတဲ့ methodology ဟာ IBM ကတင်ပြခဲ့တာဖြစ်ပါတယ်။ အသေးစိတ် ကိုလည်း IBM ရဲ့ official page မှာ ရှာဖွေကြည့်ရှုနိုင်ပါတယ်။

(https://www.ibm.com/downloads/cas/WKK9DX51)

Comments

Popular posts from this blog

Data Science နှင့် ပတ်သက်သည့် Terminology / အသုံးအနှုန်းများ

စောင့်ကြည့်လေ့လာသင့်သည့် အနာဂတ်နည်းပညာနယ်ပယ်များ

Artificial Intelligence (AI) Project များ တည်ဆောက် အကောင်အထည်ဖော်ရာတွင် ဒေတာလုံခြုံရေးနှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များ လုံခြုံရေး