Thuta Learning
ရှာဖွေရန်
AdvancedData & Databasesintermediate

Clustering (K-Means)

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

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Clustering (K-Means) ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • ကိုယ်တိုင် scikit-learn code ကို run ကြည့်တတ်မယ်
  • Real project ထဲမှာ ဒီ concept ကို ချက်ချင်း အသုံးချတတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

Clustering ဆိုတာ label မပါတဲ့ data ကို similar characteristic ရှိတဲ့ group (cluster) များအဖြစ် ကိုယ်တိုင် ခွဲခြားပေးတဲ့ Unsupervised Learning technique ပါ — 'correct answer' (label) ကို model ကို ပြင်ပက ပေးထားစရာ မလိုပါ, data ကိုယ်တိုင် pattern ကို ရှာဖွေပေးပါတယ်။ K-Means က Clustering algorithm ရဲ့ အသုံးအများဆုံးထဲက တစ်ခုပါ — 'K' (cluster အရေအတွက်) ကို ကြိုတင် သတ်မှတ်ပေးရပါတယ်, algorithm က data point တစ်ခုချင်းစီကို 'အနီးဆုံး cluster center' ဆီ assign လုပ်ပြီး, cluster center ကို data average အလိုက် iteratively ပြင်ဆင်ပါတယ် (convergence ရောက်တဲ့အထိ).

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

E-commerce customer data (purchase amount, frequency) ကို label မပါဘဲ K-Means ဖြင့် cluster လုပ်ရင် — 'high-value frequent buyer', 'occasional buyer', 'one-time buyer' ဆိုတဲ့ customer segment ကို data ကနေ ကိုယ်တိုင် ရှာဖွေတွေ့ရှိနိုင်ပါတယ် (marketing team က ဒီ segment result ကို personalized campaign အတွက် အသုံးချနိုင်ပါတယ်) — `from sklearn.cluster import KMeans; model = KMeans(n_clusters=3); model.fit(X)` လို့ ရေးရင် customer တစ်ယောက်ချင်းစီကို cluster 0/1/2 ထဲ assign လုပ်ပေးပါတယ်.

အတူတူ ကြည့်မယ်

python
from sklearn.cluster import KMeans

# X here has no labels — just features like [purchase_amount, frequency]
model = KMeans(n_clusters=3, random_state=42)
model.fit(X)

clusters = model.labels_
print(clusters[:10])  # which cluster (0, 1, or 2) each customer belongs to
print(model.cluster_centers_)  # the "average" customer per cluster
You should see
[0 2 1 0 0 2 1 1 0 2]
[[ 150.2   3.1]
 [ 800.5  12.4]
 [  45.8   1.2]]

၅ မိနစ် စမ်းကြည့်

Customer sample dataset (purchase amount, frequency ၂ column) ကို ကိုယ်တိုင် create ပြီး, K-Means (K=3) ဖြင့် cluster ကြည့်ပါ — cluster center ရလဒ်ကို ဖတ်ပြီး customer segment ၃ မျိုးကို describe ရေးကြည့်ပါ။

သတိလေးတစ်ချက်

K-Means ရလဒ်ကို 'ground truth' (correct answer) အဖြစ် blindly မယုံပါနှင့် — Unsupervised Learning မှာ 'correct' cluster ဆိုတာ မရှိပါ, domain expert ရဲ့ interpretation/validation ကို လိုအပ်ပါတယ်.

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • K value ကို ကျပန်း/guess ချထားခြင်း — Elbow Method (K အမျိုးမျိုးနဲ့ run ပြီး optimal K ကို graph ကနေ ရှာဖွေခြင်း) ကဲ့သို့ systematic approach ကို သုံးသင့်ပါတယ်
  • Feature Scaling မလုပ်ဘဲ K-Means ကို သုံးခြင်း — K-Means က distance-based ဖြစ်လို့ (KNN/SVM လို), scaling မလုပ်ရင် result skew ဖြစ်နိုင်ပါတယ်

အခု ကိုယ်တိုင် စမ်းကြည့်

Customer sample dataset (purchase amount, frequency ၂ column) ကို ကိုယ်တိုင် create ပြီး, K-Means (K=3) ဖြင့် cluster ကြည့်ပါ — cluster center ရလဒ်ကို ဖတ်ပြီး customer segment ၃ မျိုးကို describe ရေးကြည့်ပါ။

You'll know it worked when: [0 2 1 0 0 2 1 1 0 2] [[ 150.2 3.1] [ 800.5 12.4] [ 45.8 1.2]]

Clustering (K-Means) | Thuta Learning