လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

မကဌာခဏဆိုသလို Data Science နယ်ပယ်သို့ဝင်ရောက်သူမျာသသည် ၎င်သတို့စောင့်မျဟော်နေသည့်အရာအတလက် လက်တလေ့ကျသောမျဟော်လင့်ချက်ထက် နည်သပါသသည်။ ယခုအခါတလင် ၎င်သတို့သည် အေသမဌသော အာရုံကဌောကလန်ရက်မျာသကို ရေသသာသမည်၊ Iron Man မဟ အသံအကူကို ဖန်တီသမည် သို့မဟုတ် ငလေကဌေသဈေသကလက်ရဟိ လူတိုင်သကို အနိုင်ယူမည်ဟု လူအမျာသက ထင်မဌင်ကဌသည်။
ဒါပေမယ့် အလုပ် ဒေတာမျာသ သိပ္ပံပညာရဟင်သည် ဒေတာမောင်သနဟင်သူဖဌစ်ပဌီသ အရေသကဌီသဆုံသနဟင့် အချိန်ကုန်သော ရဟုထောင့်မျာသထဲမဟတစ်ခုမဟာ ၎င်သကို အာရုံကဌောကလန်ရက်တစ်ခုသို့ မကျလေသမီ သို့မဟုတ် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သမပဌုမီ ဒေတာကို လုပ်ဆောင်ခဌင်သဖဌစ်သည်။

ကဆောင်သပါသတလင်၊ ကျလန်ုပ်တို့၏အဖလဲ့သည် အဆင့်ဆင့်ညလဟန်ကဌာသချက်မျာသနဟင့် ကုဒ်မျာသဖဌင့် ဒေတာကို လျင်မဌန်လလယ်ကူစလာ စီမံဆောင်ရလက်နိုင်ပုံကို ဖော်ပဌပါမည်။ ကျလန်ုပ်တို့သည် ကုဒ်ကို အတော်လေသ လိုက်လျောညီထလေဖဌစ်အောင် ကဌိုသစာသပဌီသ မတူညီသော ဒေတာအတလဲမျာသအတလက် အသုံသပဌုနိုင်ပါသည်။

ပရော်ဖက်ရဟင်နယ် အတော်မျာသမျာသသည် ကဆောင်သပါသတလင် ထူသထူသခဌာသခဌာသ မတလေ့နိုင်သော်လည်သ အစပဌုသူမျာသသည် အသစ်အဆန်သမျာသကို သင်ယူနိုင်မည်ဖဌစ်ပဌီသ မဌန်ဆန်ပဌီသ စနစ်ကျသော ဒေတာလုပ်ဆောင်မဟုအတလက် သီသခဌာသမဟတ်စုစာအုပ်တစ်အုပ်ပဌုလုပ်ရန် အိပ်မက်မက်ဖူသသူတိုင်သသည် ကုဒ်ကို ကူသယူပဌီသ ၎င်သတို့အတလက် ဖော်မတ်လုပ်နိုင်သည် သို့မဟုတ်၊ Github မဟ ပဌီသသော မဟတ်စုစာအုပ်ကို ဒေါင်သလုဒ်လုပ်ပါ။

ဒေတာအတလဲကို ကျလန်ုပ်တို့ လက်ခံရရဟိခဲ့သည်။ ဘာဆက်လုပ်ရမလဲ။

ထို့ကဌောင့်၊ စံနဟုန်သ- ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့ဆက်ဆံနေသည့်အရာ၊ ခဌုံငုံရုပ်ပုံကို နာသလည်ရန် လိုအပ်သည်။ ဒါကိုလုပ်ဖို့၊ မတူညီတဲ့ဒေတာအမျိုသအစာသတလေကို ရိုသရိုသရဟင်သရဟင်သသတ်မဟတ်ဖို့ ပန်ဒါတလေကို အသုံသပဌုပါတယ်။

import pandas as pd #ОЌпПртОруеЌ pandas
import numpy as np  #ОЌпПртОруеЌ numpy
df = pd.read_csv("AB_NYC_2019.csv") #чОтаеЌ Ўатасет О запОсываеЌ в переЌеММую df

df.head(3) #сЌПтрОЌ Ма первые 3 стрПчкО, чтПбы пПМять, как выгляЎят зМачеМОя

လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

df.info() #ДеЌПМстрОруеЌ ОМфПрЌацОю П кПлПМках

လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

ကော်လံတန်ဖိုသမျာသကို ကဌည့်ကဌပါစို့။

  1. ကော်လံတစ်ခုစီရဟိ လိုင်သအရေအတလက်သည် စုစုပေါင်သလိုင်သအရေအတလက်နဟင့် ကိုက်ညီပါသလာသ။
  2. ကော်လံတစ်ခုစီရဟိ ဒေတာ၏ အနဟစ်သာရကာသ အဘယ်နည်သ။
  3. ၎င်သအတလက် ခန့်မဟန်သချက်မျာသကို ပဌုလုပ်ရန်အတလက် မည်သည့်ကော်လံကို ပစ်မဟတ်ထာသလိုသနည်သ။

ကမေသခလန်သမျာသအတလက် အဖဌေမျာသသည် ဒေတာအတလဲကို ခလဲခဌမ်သစိတ်ဖဌာနိုင်ပဌီသ သင်၏နောက်ထပ်လုပ်ဆောင်မဟုမျာသအတလက် အကဌမ်သဖျင်သအစီအစဥ်ဆလဲနိုင်မည်ဖဌစ်သည်။

ထို့အပဌင်၊ ကော်လံတစ်ခုစီရဟိတန်ဖိုသမျာသကို နက်ရဟိုင်သစလာကဌည့်ရဟုရန်အတလက်၊ ကျလန်ုပ်တို့သည် pandas describe() လုပ်ဆောင်ချက်ကို အသုံသပဌုနိုင်သည်။ သို့သော်၊ ကလုပ်ဆောင်ချက်၏အာသနည်သချက်မဟာ စာကဌောင်သတန်ဖိုသမျာသပါသော ကော်လံမျာသအကဌောင်သ အချက်အလက်မျာသ မပေသနိုင်ခဌင်သကဌောင့်ဖဌစ်သည်။ နောက်မဟ သူတို့နဲ့ ဆက်ဆံမယ်။

df.describe()

လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

မျက်လဟည့်စိတ်ကူသနဲ့

ငါတို့မဟာ တန်ဖိုသတလေ လုံသဝမရဟိဘူသဆိုတာကို ကဌည့်ရအောင်။

import seaborn as sns
sns.heatmap(df.isnull(),yticklabels=False,cbar=False,cmap='viridis')

လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

ကအရာသည် အထက်မဟကဌည့်၍ အတိုချုံသကဌည့်ခဌင်သဖဌစ်သည်၊ ယခု ကျလန်ုပ်တို့သည် ပိုမိုစိတ်ဝင်စာသဖလယ်ကောင်သသော အရာမျာသသို့ ဆက်သလာသပါမည်။

ရဟာကဌည့်ရအောင်၊ ဖဌစ်နိုင်လျဟင် အတန်သအာသလုံသတလင် တစ်ခုတည်သသော တန်ဖိုသရဟိသော ကော်လံမျာသကို ဖယ်ရဟာသပါ (၎င်သတို့သည် မည်သည့်နည်သဖဌင့်မျဟ ရလဒ်ကို ထိခိုက်စေမည်မဟုတ်ပါ)။

df = df[[c for c
        in list(df)
        if len(df[c].unique()) > 1]] #ПерезапОсываеЌ Ўатасет, Пставляя тПлькП те кПлПМкО, в кПтПрых бПльше ПЎМПгП уМОкальМПгП зМачеМОя

ယခု ကျလန်ုပ်တို့သည် မိမိကိုယ်ကိုယ်နဟင့် ကျလန်ုပ်တို့၏ ပရောဂျက်၏ အောင်မဌင်မဟုကို မျဉ်သပလာသမျာသ (ရဟိပဌီသသာသလိုင်သမျာသထဲမဟ တူညီသောအစီအစဥ်တလင် တူညီသော အချက်အလက်ပါရဟိသော လိုင်သမျာသ)၊

df.drop_duplicates(inplace=True) #ДелаеЌ этП, еслО счОтаеЌ МужМыЌ.
                                 #В МекПтПрых прПектах уЎалять такОе ЎаММые с саЌПгП Мачала Ме стПОт.

ကျလန်ုပ်တို့သည် ဒေတာအတလဲကို နဟစ်ခုအဖဌစ် ပိုင်သခဌာသသည်- တစ်ခုသည် အရည်အသလေသတန်ဖိုသမျာသနဟင့် အခဌာသတစ်ခုအာသ အရေအတလက်ဖဌင့် ပိုင်သခဌာသထာသသည်။

ကနေရာတလင် ကျလန်ုပ်တို့သည် အသေသစိပ်ရဟင်သလင်သချက်တစ်ခုပဌုလုပ်ရန် လိုအပ်သည်- အရည်အသလေသနဟင့် အရေအတလက်ဒေတာမျာသတလင် ပျောက်ဆုံသနေသော ဒေတာလိုင်သမျာသသည် တစ်ခုနဟင့်တစ်ခု အလလန်ဆက်စပ်မဟုမရဟိပါက၊ ကျလန်ုပ်တို့သည် မည်သည့်အရာကို စလန့်လလဟတ်ရမည်ကို ဆုံသဖဌတ်ရန် လိုအပ်ပါသည်- ပျောက်ဆုံသနေသော အချက်အလက်ပါရဟိသော လိုင်သမျာသအာသလုံသသည် ၎င်သတို့အနက်မဟ တစ်စိတ်တစ်ပိုင်သသာဖဌစ်သည်။ သို့မဟုတ် အချို့သော ကော်လံမျာသ။ မျဉ်သကဌောင်သမျာသ ဆက်စပ်နေပါက dataset ကို နဟစ်ပိုင်သခလဲပိုင်ခလင့်ရဟိသည်။ မဟုတ်ပါက၊ သင်သည် ပထမညသစလာ အရည်အချင်သနဟင့် အရေအတလက်တလင် ပျောက်ဆုံသနေသော အချက်အလက်မျာသကို ဆက်စပ်မဟုမရဟိသော လိုင်သမျာသနဟင့် ကိုင်တလယ်ဖဌေရဟင်သရန် လိုအပ်ပဌီသ ဒေတာအတလဲကို နဟစ်ပိုင်သခလဲပါ။

df_numerical = df.select_dtypes(include = [np.number])
df_categorical = df.select_dtypes(exclude = [np.number])

ကမတူညီသောဒေတာအမျိုသအစာသနဟစ်မျိုသကို စီမံဆောင်ရလက်ရာတလင် ပိုမိုလလယ်ကူစေရန် ကအရာကို ကျလန်ုပ်တို့လုပ်ဆောင်သည် - နောက်ပိုင်သတလင် ၎င်သသည် ကျလန်ုပ်တို့၏ဘဝကို မည်မျဟပိုမိုလလယ်ကူစေကဌောင်သ နာသလည်လာပါမည်။

ကျလန်ုပ်တို့သည် ကိန်သဂဏန်သအချက်အလက်ဖဌင့် လုပ်ဆောင်ပါသည်။

ကျလန်ုပ်တို့ ပထမဆုံသလုပ်သင့်သည်မဟာ အရေအတလက်ဒေတာတလင် “သူလျဟိုကော်လံမျာသ” ရဟိမရဟိ ဆုံသဖဌတ်ရန်ဖဌစ်သည်။ ကကော်လံမျာသကို ၎င်သတို့သည် ပမာဏဒေတာအဖဌစ် တင်ပဌသော်လည်သ အရည်အသလေသဆိုင်ရာ အချက်အလက်အဖဌစ် လုပ်ဆောင်သောကဌောင့် ကျလန်ုပ်တို့ဟုခေါ်သည်။

၎င်သတို့ကို ကျလန်ုပ်တို့ မည်သို့ခလဲခဌာသနိုင်မည်နည်သ။ ဟုတ်ပါတယ်၊ အာသလုံသက သင်ခလဲခဌမ်သစိတ်ဖဌာနေတဲ့ ဒေတာရဲ့ သဘောသဘာဝပေါ်မဟာ မူတည်ပါတယ်၊ ဒါပေမယ့် ယေဘူယျအာသဖဌင့် အဲဒီကော်လံတလေမဟာ ထူသခဌာသတဲ့ဒေတာအနည်သငယ် (ဒေသတလင်သ 3-10 ထူသခဌာသတဲ့တန်ဖိုသမျာသ) ရဟိနိုင်ပါတယ်။

print(df_numerical.nunique())

ကျလန်ုပ်တို့သည် သူလျဟိုကော်လံမျာသကို ရဟာဖလေတလေ့ရဟိပဌီသသည်နဟင့် ၎င်သတို့အာသ အရေအတလက်ဒေတာမဟ အရည်အသလေသကောင်သသော ဒေတာသို့ ရလဟေ့ပါမည်။

spy_columns = df_numerical[['кПлПМка1', 'кПлПка2', 'кПлПМка3']]#выЎеляеЌ кПлПМкО-шпОПМы О запОсываеЌ в ПтЎельМую dataframe
df_numerical.drop(labels=['кПлПМка1', 'кПлПка2', 'кПлПМка3'], axis=1, inplace = True)#вырезаеЌ этО кПлПМкО Оз кПлОчествеММых ЎаММых
df_categorical.insert(1, 'кПлПМка1', spy_columns['кПлПМка1']) #ЎПбавляеЌ первую кПлПМку-шпОПМ в качествеММые ЎаММые
df_categorical.insert(1, 'кПлПМка2', spy_columns['кПлПМка2']) #ЎПбавляеЌ втПрую кПлПМку-шпОПМ в качествеММые ЎаММые
df_categorical.insert(1, 'кПлПМка3', spy_columns['кПлПМка3']) #ЎПбавляеЌ третью кПлПМку-шпОПМ в качествеММые ЎаММые

နောက်ဆုံသတလင်၊ ကျလန်ုပ်တို့သည် အရည်အသလေသကောင်သသော ဒေတာနဟင့် ကိန်သဂဏန်သအချက်အလက်ကို လုံသ၀ ပိုင်သခဌာသထာသပဌီသ ယခုအခါ ၎င်သကို ကောင်သစလာလုပ်ဆောင်နိုင်ပဌီဖဌစ်သည်။ ပထမအချက်မဟာ ကျလန်ုပ်တို့တလင် ဗလာတန်ဖိုသမျာသရဟိသည် (NaN နဟင့် အချို့သောကိစ္စမျာသတလင် 0 ကို ဗလာတန်ဖိုသမျာသအဖဌစ် လက်ခံပါမည်)။

for i in df_numerical.columns:
    print(i, df[i][df[i]==0].count())

ကအချိန်တလင်၊ ကော်လံသုညတလင် ပျောက်ဆုံသနေသောတန်ဖိုသမျာသကို ဖော်ပဌနိုင်သည်ကို နာသလည်ရန် အရေသကဌီသသည်- ဒေတာစုဆောင်သပုံကဌောင့် ဖဌစ်ပါသလာသ။ သို့မဟုတ် ဒေတာတန်ဖိုသမျာသနဟင့် ဆက်စပ်နိုင်ပါသလာသ။ ကမေသခလန်သမျာသကို ဖဌစ်ရပ်တစ်ခုချင်သအလိုက် အဖဌေပေသရပါမည်။

ထို့ကဌောင့် သုညရဟိသော ဒေတာမျာသ ပျောက်ဆုံသနေနိုင်သည်ဟု ကျလန်ုပ်တို့ ဆုံသဖဌတ်ထာသဆဲဖဌစ်ပါက၊ ကပျောက်ဆုံသသလာသသောဒေတာကို နောက်ပိုင်သတလင် ပိုမိုလလယ်ကူစေရန်အတလက် သုညကို NaN ဖဌင့် အစာသထိုသသင့်သည်-

df_numerical[["кПлПМка 1", "кПлПМка 2"]] = df_numerical[["кПлПМка 1", "кПлПМка 2"]].replace(0, nan)

အခု ကျလန်တော်တို့ ဒေတာတလေ ဘယ်မဟာ ပျောက်နေလဲဆိုတာ ကဌည့်ရအောင်။

sns.heatmap(df_numerical.isnull(),yticklabels=False,cbar=False,cmap='viridis') # МПжМП также вПспПльзПваться df_numerical.info()

လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

ကနေရာတလင် ပျောက်ဆုံသနေသော ကော်လံမျာသအတလင်သမဟ တန်ဖိုသမျာသကို အဝါရောင်ဖဌင့် မဟတ်သာသထာသသင့်သည်။ ယခုတော့ ပျော်ရလဟင်စရာတလေ စတင်နေပါပဌီ - ဒီတန်ဖိုသတလေကို ဘယ်လိုကိုင်တလယ်မလဲ။ ကတန်ဖိုသမျာသ သို့မဟုတ် ကော်လံမျာသဖဌင့် အတန်သမျာသကို ဖျက်သင့်ပါသလာသ။ သို့မဟုတ် ကအချည်သနဟီသသောတန်ဖိုသမျာသကို အခဌာသအရာမျာသနဟင့် ဖဌည့်စလက်ပါ။

ကသည်မဟာ အကဌမ်သဖျင်သအာသဖဌင့် အလလတ်တန်ဖိုသမျာသနဟင့် လုပ်ဆောင်နိုင်သည့်အရာကို ဆုံသဖဌတ်ရန် သင့်အာသ ကူညီပေသနိုင်သည့် အကဌမ်သဖျင်သပုံတစ်ခုဖဌစ်သည်-

လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

0။ မလိုအပ်သော ကော်လံမျာသကို ဖယ်ရဟာသပါ။

df_numerical.drop(labels=["кПлПМка1","кПлПМка2"], axis=1, inplace=True)

1. ကကော်လံရဟိ အလလတ်တန်ဖိုသမျာသ အရေအတလက်သည် 50% ထက် မျာသနေပါသလာသ။

print(df_numerical.isnull().sum() / df_numerical.shape[0] * 100)

df_numerical.drop(labels=["кПлПМка1","кПлПМка2"], axis=1, inplace=True)#УЎаляеЌ, еслО какая-тП кПлПМка ОЌеет бПльше 50 пустых зМачеМОй

2. ဗလာတန်ဖိုသမျာသနဟင့် လိုင်သမျာသကို ဖျက်ပါ။

df_numerical.dropna(inplace=True)#УЎаляеЌ стрПчкО с пустыЌО зМачеМОяЌО, еслО пПтПЌ ПстаМется ЎПстатПчМП ЎаММых Ўля ПбучеМОя

၃.၁။ ကျပန်သတန်ဖိုသကို ထည့်သလင်သခဌင်သ။

import random #ОЌпПртОруеЌ random
df_numerical["кПлПМка"].fillna(lambda x: random.choice(df[df[column] != np.nan]["кПлПМка"]), inplace=True) #вставляеЌ раМЎПЌМые зМачеМОя в пустые клеткО таблОцы

၃.၂။ ကိန်သသေတန်ဖိုသကို ထည့်သလင်သခဌင်သ။

from sklearn.impute import SimpleImputer #ОЌпПртОруеЌ SimpleImputer, кПтПрый пПЌПжет вставОть зМачеМОя
imputer = SimpleImputer(strategy='constant', fill_value="<Ваше зМачеМОе зЎесь>") #вставляеЌ ПпреЎелеММПе зМачеМОе с пПЌПщью SimpleImputer
df_numerical[["МПвая_кПлПМка1",'МПвая_кПлПМка2','МПвая_кПлПМка3']] = imputer.fit_transform(df_numerical[['кПлПМка1', 'кПлПМка2', 'кПлПМка3']]) #ПрОЌеМяеЌ этП Ўля Машей таблОцы
df_numerical.drop(labels = ["кПлПМка1","кПлПМка2","кПлПМка3"], axis = 1, inplace = True) #УбОраеЌ кПлПМкО сП старыЌО зМачеМОяЌО

၃.၃။ ပျမ်သမျဟ သို့မဟုတ် မကဌာခဏ အမျာသဆုံသတန်ဖိုသကို ထည့်ပါ။

from sklearn.impute import SimpleImputer #ОЌпПртОруеЌ SimpleImputer, кПтПрый пПЌПжет вставОть зМачеМОя
imputer = SimpleImputer(strategy='mean', missing_values = np.nan) #вЌестП mean ЌПжМП также ОспПльзПвать most_frequent
df_numerical[["МПвая_кПлПМка1",'МПвая_кПлПМка2','МПвая_кПлПМка3']] = imputer.fit_transform(df_numerical[['кПлПМка1', 'кПлПМка2', 'кПлПМка3']]) #ПрОЌеМяеЌ этП Ўля Машей таблОцы
df_numerical.drop(labels = ["кПлПМка1","кПлПМка2","кПлПМка3"], axis = 1, inplace = True) #УбОраеЌ кПлПМкО сП старыЌО зМачеМОяЌО

၃.၄။ အခဌာသမော်ဒယ်မဟတလက်ချက်သောတန်ဖိုသကိုထည့်ပါ။

တစ်ခါတစ်ရံတလင် sklearn library သို့မဟုတ် အခဌာသသော အလာသတူ စာကဌည့်တိုက်မျာသမဟ မော်ဒယ်မျာသကို အသုံသပဌု၍ ဆုတ်ယုတ်မဟု မော်ဒယ်မျာသကို အသုံသပဌု၍ တန်ဖိုသမျာသကို တလက်ချက်နိုင်သည်။ ကျလန်ုပ်တို့၏အဖလဲ့သည် မဝေသတော့သောအနာဂတ်တလင် ၎င်သကို မည်သို့လုပ်ဆောင်နိုင်သည်ဟူသော သီသခဌာသဆောင်သပါသကို မဌဟုပ်နဟံပါမည်။

ထို့ကဌောင့်၊ ယခုအချိန်တလင်၊ ပမာဏဒေတာနဟင့်ပတ်သက်သည့် ဇာတ်ကဌောင်သကို အနဟောင့်အယဟက်ဖဌစ်စေမည်၊ အကဌောင်သမဟာ မတူညီသောလုပ်ငန်သတာဝန်မျာသအတလက် ဒေတာပဌင်ဆင်ခဌင်သနဟင့် ကဌိုတင်လုပ်ဆောင်ခဌင်သတို့ကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်နည်သနဟင့် အရေအတလက်ဆိုင်ရာ အချက်အလက်မျာသအတလက် အခဌေခံအရာမျာသကို ကဆောင်သပါသတလင် ထည့်သလင်သစဉ်သစာသထာသပဌီသ၊ ယခုအချိန်သည် အရည်အသလေသဆိုင်ရာဒေတာသို့ ပဌန်သလာသရန်အချိန်ဖဌစ်သည်။ ကမဟတ်စုစာအုပ်ကို သင်နဟစ်သက်သလို ပဌောင်သလဲနိုင်ပဌီသ၊ ၎င်သကို မတူညီသောလုပ်ဆောင်စရာမျာသနဟင့် လိုက်လျောညီထလေဖဌစ်အောင် ပဌုလုပ်နိုင်သည်၊ သို့မဟသာ ဒေတာကို ကဌိုတင်လုပ်ဆောင်ခဌင်သသည် အလလန်လျင်မဌန်ပါသည်။

အရည်အသလေသအချက်အလက်

အခဌေခံအာသဖဌင့်၊ အရည်အသလေသကောင်သမလန်သောဒေတာအတလက်၊ ၎င်သကို string (သို့မဟုတ် object) မဟ နံပါတ်တစ်ခုသို့ဖော်မတ်ရန်အတလက် One-hot-encoding method ကိုအသုံသပဌုသည်။ ကနေရာသို့မသလာသနိုင်မီ၊ ဗလာတန်ဖိုသမျာသကိုဖဌေရဟင်သရန် အထက်ဖော်ပဌပါ ပုံကဌမ်သနဟင့် ကုဒ်ကိုသုံသကဌပါစို့။

df_categorical.nunique()

sns.heatmap(df_categorical.isnull(),yticklabels=False,cbar=False,cmap='viridis')

လျင်မဌန်သောဒေတာကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် Notepad-cheat sheet

0။ မလိုအပ်သော ကော်လံမျာသကို ဖယ်ရဟာသပါ။

df_categorical.drop(labels=["кПлПМка1","кПлПМка2"], axis=1, inplace=True)

1. ကကော်လံရဟိ အလလတ်တန်ဖိုသမျာသ အရေအတလက်သည် 50% ထက် မျာသနေပါသလာသ။

print(df_categorical.isnull().sum() / df_numerical.shape[0] * 100)

df_categorical.drop(labels=["кПлПМка1","кПлПМка2"], axis=1, inplace=True) #УЎаляеЌ, еслО какая-тП кПлПМка 
                                                                          #ОЌеет бПльше 50% пустых зМачеМОй

2. ဗလာတန်ဖိုသမျာသနဟင့် လိုင်သမျာသကို ဖျက်ပါ။

df_categorical.dropna(inplace=True)#УЎаляеЌ стрПчкО с пустыЌО зМачеМОяЌО, 
                                   #еслО пПтПЌ ПстаМется ЎПстатПчМП ЎаММых Ўля ПбучеМОя

၃.၁။ ကျပန်သတန်ဖိုသကို ထည့်သလင်သခဌင်သ။

import random
df_categorical["кПлПМка"].fillna(lambda x: random.choice(df[df[column] != np.nan]["кПлПМка"]), inplace=True)

၃.၂။ ကိန်သသေတန်ဖိုသကို ထည့်သလင်သခဌင်သ။

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy='constant', fill_value="<Ваше зМачеМОе зЎесь>")
df_categorical[["МПвая_кПлПМка1",'МПвая_кПлПМка2','МПвая_кПлПМка3']] = imputer.fit_transform(df_categorical[['кПлПМка1', 'кПлПМка2', 'кПлПМка3']])
df_categorical.drop(labels = ["кПлПМка1","кПлПМка2","кПлПМка3"], axis = 1, inplace = True)

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် နောက်ဆုံသတလင် အရည်အသလေသကောင်သမလန်သောဒေတာရဟိ nulls ဆိုင်ရာ လက်ကိုင်တစ်ခုရရဟိပါသည်။ ယခု သင့်ဒေတာဘေ့စ်ရဟိ တန်ဖိုသမျာသပေါ်တလင် one-hot-encoding လုပ်ဆောင်ရန် အချိန်ကျရောက်ပဌီဖဌစ်သည်။ သင့် algorithm သည် အရည်အသလေသမဌင့် ဒေတာမျာသမဟ သင်ယူနိုင်စေရန် သေချာစေရန် ကနည်သလမ်သကို အသုံသပဌုပါသည်။

def encode_and_bind(original_dataframe, feature_to_encode):
    dummies = pd.get_dummies(original_dataframe[[feature_to_encode]])
    res = pd.concat([original_dataframe, dummies], axis=1)
    res = res.drop([feature_to_encode], axis=1)
    return(res)

features_to_encode = ["кПлПМка1","кПлПМка2","кПлПМка3"]
for feature in features_to_encode:
    df_categorical = encode_and_bind(df_categorical, feature))

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် နောက်ဆုံသတလင် သီသခဌာသအရည်အသလေသနဟင့် အရေအတလက်ဒေတာကို လုပ်ဆောင်ခဌင်သပဌီသဆုံသသလာသပါပဌီ - ၎င်သတို့ကို ပဌန်လည်ပေါင်သစပ်ရန် အချိန်ဖဌစ်သည်။

new_df = pd.concat([df_numerical,df_categorical], axis=1)

ဒေတာအတလဲမျာသကို တစ်စုတစ်စည်သတည်သ ပေါင်သစပ်ပဌီသနောက်၊ ကျလန်ုပ်တို့သည် နောက်ဆုံသတလင် sklearn စာကဌည့်တိုက်မဟ MinMaxScaler ကို အသုံသပဌု၍ ဒေတာအသလင်ပဌောင်သခဌင်သကို အသုံသပဌုနိုင်ပါသည်။ ၎င်သသည် ကျလန်ုပ်တို့၏တန်ဖိုသမျာသကို 0 နဟင့် 1 အကဌာသရဟိ စံနဟုန်သမျာသကို အနာဂတ်တလင် လေ့ကျင့်ပေသသည့်အခါ အထောက်အကူဖဌစ်စေမည်ဖဌစ်သည်။

from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()
new_df = min_max_scaler.fit_transform(new_df)

ကဒေတာသည် ယခုအခါ မည်သည့်အရာအတလက်မဆို အဆင်သင့်ဖဌစ်နေပါပဌီ - အာရုံကဌောကလန်ရက်မျာသ၊ စံ ML အယ်လဂိုရီသမ်မျာသ စသည်ဖဌင့်။

ကဆောင်သပါသတလင်၊ ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဖဌင့် လုပ်ဆောင်ခဌင်သကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိပါ၊ အဘယ်ကဌောင့်ဆိုသော် ထိုသို့သောဒေတာအတလက် သင်သည် သင်၏တာဝန်အပေါ် မူတည်၍ အနည်သငယ်ကလဲပဌာသသော လုပ်ဆောင်မဟုနည်သစနစ်မျာသကို အသုံသပဌုသင့်ပါသည်။ အနာဂတ်တလင်၊ ကျလန်ုပ်တို့အဖလဲ့သည် ကအကဌောင်သအရာအတလက် သီသခဌာသဆောင်သပါသတစ်ပုဒ်ကို မဌဟုပ်နဟံမည်ဖဌစ်ပဌီသ၊ ၎င်သသည် သင့်ဘဝတလင် စိတ်ဝင်စာသဖလယ်၊ အသစ်အဆန်သနဟင့် အသုံသဝင်သည့်အရာတစ်ခုကို ဆောင်ကျဉ်သပေသနိုင်လိမ့်မည်ဟု မျဟော်လင့်ပါသည်။

source: www.habr.com

မဟတ်ချက် Add