ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်
Missing Value ကို ကိုင်တွယ်ရာမှာ နည်းလမ်းများစွာ ရှိပါတယ် — row/column ကို drop လုပ်ခြင်း (data အများကြီး ဆုံးရှုံးနိုင်), mean/median value နဲ့ fill လုပ်ခြင်း (imputation) — data ရဲ့ characteristic အလိုက် ရွေးချယ်ရပါတယ်။ Feature Scaling ကတော့ column (feature) တွေရဲ့ value range ကို standardize လုပ်ခြင်းပါ — ဥပမာ 'age' (0-100) နဲ့ 'income' (0-1,000,000) ကို scale မတူဘဲ model ထဲ တိုက်ရိုက် ထည့်ရင်, income column က weight ပိုများသွားနိုင်ပါတယ် (algorithm အချို့မှာ) — StandardScaler/MinMaxScaler ကို သုံးပြီး feature အားလုံးကို comparable scale ဆီ ပြောင်းလဲပေးရပါတယ်.
လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
Pandas DataFrame ထဲမှာ `df.isnull().sum()` နဲ့ missing value column တစ်ခုချင်းစီ ဘယ်နှစ်ခု ရှိလဲ ကြည့်နိုင်ပါတယ် — `df['age'].fillna(df['age'].mean())` လို့ ရေးရင် missing age value ကို average age နဲ့ fill လုပ်ပေးပါတယ်။ `from sklearn.preprocessing import StandardScaler; scaler = StandardScaler(); X_scaled = scaler.fit_transform(X)` လို့ ရေးရင် feature column အားလုံးကို mean=0, std=1 ဆီ scale လုပ်ပေးပါတယ်.
အတူတူ ကြည့်မယ်
import pandas as pd
from sklearn.preprocessing import StandardScaler
df = pd.read_csv("houses.csv")
# Check for missing values
print(df.isnull().sum())
# Fill missing values with the column mean
df['age'] = df['age'].fillna(df['age'].mean())
# Scale numeric features
scaler = StandardScaler()
X_scaled = scaler.fit_transform(df[['age', 'income']])age 3
income 0
price 0
dtype: int64၅ မိနစ် စမ်းကြည့်
CSV file (sample data, missing value အနည်းငယ်ပါတဲ့) ကို Pandas ဖြင့် load လုပ်ပြီး, `isnull().sum()` နဲ့ missing value ကြည့်ကာ, `fillna()` ဖြင့် fill လုပ်ကြည့်ပါ။
သတိလေးတစ်ချက်
Feature Scaling ကို tree-based algorithm (Decision Tree, Random Forest) တွေအတွက် လိုအပ်ချေ နည်းပါတယ် (scale-invariant) — Linear Regression, KNN, SVM (Advanced chapter) တွေအတွက်တော့ scaling က performance ကို သိသိသာသာ ထိခိုက်နိုင်ပါတယ်.