လျင်မြန်သောဒေတာကြိုတင်လုပ်ဆောင်ခြင်းအတွက် 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) #Делаем это, если считаем нужным.
                                 #В некоторых проектах удалять такие данные с самого начала не стоит.

ကျွန်ုပ်တို့သည် ဒေတာအတွဲကို နှစ်ပိုင်းခွဲထားသည်- တစ်ခုသည် အရည်အသွေးတန်ဖိုးများနှင့် နောက်တစ်ခုအား အရေအတွက်ဖြင့် ခွဲထားသည်။

ဤနေရာတွင် ကျွန်ုပ်တို့သည် အသေးစိပ်ရှင်းလင်းချက်တစ်ခုပြုလုပ်ရန် လိုအပ်သည်- အရည်အသွေးနှင့် ပမာဏဒေတာတွင် ပျောက်ဆုံးနေသော အတန်းများသည် တစ်ခုနှင့်တစ်ခု ခိုင်ခိုင်မာမာ မဆက်စပ်ပါက၊ ကျွန်ုပ်တို့သည် မည်သည့်အရာကို စွန့်လွှတ်ရမည်ကို ဆုံးဖြတ်ရန် လိုအပ်ပါသည်- ပျောက်ဆုံးနေသော ဒေတာရှိသော အတန်းအားလုံး၊ ၎င်းတို့ထဲမှ တစ်စိတ်တစ်ပိုင်း သို့မဟုတ် အချို့ကော်လံများသာ ဖြစ်သည်။ အတန်းများ ဆက်စပ်နေပါက ဒေတာအတွဲကို နှစ်ပိုင်းခွဲပိုင်ခွင့်ရှိသည်။ မဟုတ်ပါက၊ အရည်အသွေးနှင့် အရေအတွက်ဒေတာတွင် ပျောက်ဆုံးနေသော ဒေတာများ ဆက်စပ်မှုမရှိသည့် အတန်းများနှင့် ပတ်သက်ပြီး ဦးစွာ ကိုင်တွယ်ဖြေရှင်းရန် လိုအပ်ပြီး ဒေတာအတွဲကို နှစ်ပိုင်းခွဲပါ။

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)#Удаляем строчки с пустыми значениями, если потом останется достаточно данных для обучения

3.1 ကျပန်းတန်ဖိုးကို ထည့်သွင်းပါ။

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) #Убираем колонки со старыми значениями

3.4 အခြားပုံစံဖြင့်တွက်ချက်ထားသောတန်ဖိုးကိုထည့်သွင်းခြင်း။

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

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

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

အခြေခံအားဖြင့်၊ အရည်အသွေးပြည့်ဝသောဒေတာအတွက်၊ One-hot-encoding method ကို string (သို့မဟုတ် object) မှ နံပါတ်တစ်ခုသို့ format လုပ်ရန် အသုံးပြုသည်။ အဲဒီအချက်ကို မရောက်ခင်မှာ ဗလာတန်ဖိုးတွေကို ဖြေရှင်းဖို့ အပေါ်က ပုံနဲ့ ကုဒ်ကို သုံးကြည့်ရအောင်။

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)#Удаляем строчки с пустыми значениями, 
                                   #если потом останется достаточно данных для обучения

3.1 ကျပန်းတန်ဖိုးကို ထည့်သွင်းပါ။

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)

ထို့ကြောင့်၊ နောက်ဆုံးတွင် ကျွန်ုပ်တို့သည် ကောင်းမွန်သောဒေတာရှိ ဗလာတန်ဖိုးများကို ကိုင်တွယ်ဖြေရှင်းနိုင်ပါပြီ။ ယခုအချိန်သည် သင့်ဒေတာဘေ့စ်တွင် သင့်တွင်ရှိသော တန်ဖိုးများကို one-hot-encode လုပ်ရန် အချိန်ဖြစ်သည်။ သင့် 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

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster