ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်
K-Fold Cross-Validation ဆိုတာ data ကို K ပိုင်း (fold) ခွဲပြီး, iteration K ကြိမ် run ခြင်းပါ — round တစ်ခုစီမှာ fold တစ်ခုကို test set အဖြစ် ထား, ကျန် fold (K-1) ကို training data အဖြစ် သုံးပါတယ် — ဒီလို K ကြိမ် ထပ်ခါထပ်ခါ run ပြီး, average performance ကို final result အဖြစ် ယူပါတယ် — single train/test split ထက် reliable ဖြစ်ပါတယ် (data အားလုံးက training/test ၂ ခုစလုံးမှာ တစ်ကြိမ်စီ ပါဝင်ရလို့).
လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
`from sklearn.model_selection import cross_val_score; scores = cross_val_score(model, X, y, cv=5)` လို့ ရေးရင် — data ကို 5-fold ခွဲပြီး, model ကို ၅ ကြိမ် train/test run ကာ, `scores` array ထဲမှာ accuracy result ၅ ခု ရနိုင်ပါတယ် — `scores.mean()` (average performance) နဲ့ `scores.std()` (result ဘယ်လောက် consistent လဲ, standard deviation) ကို ကြည့်ရင် model ရဲ့ real-world reliability ကို ပိုနားလည်နိုင်ပါတယ်.
အတူတူ ကြည့်မယ်
from sklearn.model_selection import cross_val_score
scores = cross_val_score(model, X, y, cv=5)
print(f"Scores per fold: {scores}")
print(f"Mean accuracy: {scores.mean():.2f} (+/- {scores.std():.2f})")Scores per fold: [0.84 0.87 0.82 0.86 0.85]
Mean accuracy: 0.85 (+/- 0.02)၅ မိနစ် စမ်းကြည့်
Model (Intermediate lesson ကနေ ရွေးချယ်ပါ) ကို `cross_val_score(cv=5)` ဖြင့် evaluate ကြည့်ပြီး, single train/test split ရဲ့ result နဲ့ cross-validation ရဲ့ average result ကို compare ကြည့်ပါ။
သတိလေးတစ်ချက်
Cross-Validation result ရဲ့ standard deviation ကြီးမားနေရင် (fold တစ်ခုနဲ့တစ်ခု accuracy ကွာခြားချက် ကြီးနေရင်) — model က unstable/inconsistent ဖြစ်နေတယ်ဆိုတဲ့ signal ဖြစ်ပါတယ်, data quality ဒါမှမဟုတ် model complexity ကို ပြန်စစ်ဆေးသင့်ပါတယ်.