Rand index ဆိုတာဘာလဲ။ (အဓိပ္ပါယ်နှင့် ဥပမာများ)


Rand အညွှန်းကိန်း သည် မတူညီသောအစုအဝေးနှစ်ခုကြားရှိ ရလဒ်များ၏တူညီမှုကို နှိုင်းယှဉ်ရန်နည်းလမ်းတစ်ခုဖြစ်သည်။

R ကို ရည်ညွှန်းလေ့ရှိသည်၊ Rand အညွှန်းကို အောက်ပါအတိုင်း တွက်ချက်သည်။

R = (a+b) / ( n C 2 )

ရွှေ-

  • a- ဒြပ်စင်တစ်စုံသည် အစုလိုက်ပြုလုပ်ခြင်းနည်းလမ်းနှစ်ခုအရ တူညီသောအစုအဝေးတွင်ရှိသော အကြိမ်အရေအတွက်။
  • b- ဒြပ်စင်တစ်စုံသည် အစုလိုက်ပြုလုပ်ခြင်းနည်းလမ်းနှစ်ခုအရ ကွဲပြားမှုအစုအဝေးများထံ အကြိမ်အရေအတွက်။
  • n C 2 : n ဒြပ်စင်အစုတစ်ခုရှိ အစီအစဥ်မရှိသောအတွဲအရေအတွက်။

Rand အညွှန်းကိန်းသည် 0 နှင့် 1 အကြား တန်ဖိုးတစ်ခုကို အမြဲယူသည်-

  • 0- ဒြပ်စင်တစ်စုံ၏အစုအဝေးကို အစုလိုက်ပြုလုပ်ခြင်းအပေါ် သဘောမတူကြောင်း ညွှန်ပြသည်။
  • 1- ဒြပ်စင်တစ်စုံစီ၏ အစုအဝေးတစ်ခုစီကို အစုလိုက်အပြုံလိုက်ပြုလုပ်ခြင်းအပေါ် အပြည့်အဝသဘောတူကြောင်း ညွှန်ပြသည်။

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

ဥပမာ- Rand အညွှန်းကိန်းကို ဘယ်လိုတွက်မလဲ။

ကျွန်ုပ်တို့တွင် ဒြပ်စင်ငါးခုပါ၀င်သော အောက်ပါဒေတာအစုံရှိသည်ဆိုပါစို့။

  • ဒေတာအတွဲ- {A၊ B၊ C၊ D၊ E}

ကျွန်ုပ်တို့သည် အောက်ပါအစုအဝေးများထဲသို့ ဒြပ်စင်တစ်ခုစီကို နေရာချပေးသည့် အစုလိုက်နည်းလမ်းနှစ်ခုကို အသုံးပြုသည်ဆိုပါစို့။

  • နည်းလမ်း 1 အစုအဝေးများ- {1၊ 1၊ 1၊ 2၊ 2}
  • အစုလိုက်နည်းလမ်း 2- {1၊ 1၊ 2၊ 2၊ 3}

ဤအစုအဝေးနည်းလမ်းများအကြား Rand အညွှန်းကိန်းကို တွက်ချက်ရန်၊ ကျွန်ုပ်တို့သည် ပထမအချက်ငါးချက်ပါဒေတာအတွဲတွင် ဖြစ်နိုင်ချေရှိသော အတွဲအားလုံးကို ချရေးရန် လိုအပ်သည်-

  • အဆင့်မသတ်မှတ်ထားသောအတွဲများ- {A၊ B}၊ {A၊ C}၊ {A၊ D}၊ {A၊ E}၊ {B၊ C}၊ {B၊ D}၊ {B၊ E}၊ {C၊ D } ၊ {C၊ E}၊ {D၊ E}

အတွဲ ၁၀ တွဲရှိပါတယ်။

ထို့နောက်၊ အစုလိုက်လုပ်နည်းနှစ်ခုလုံးတွင် တူညီသောအစုအဝေးမှ အတွဲလိုက်အရေအတွက်ကို ကိုယ်စားပြုသည့် အတွဲများကို တွက်ချက်ရန် လိုအပ်သည်-

  • {AB}

ဒီနေရာမှာ a = 1 ပါ။

ထို့နောက်၊ အစုလိုက်နည်းလမ်းနှစ်ခုရှိ မတူညီသော အစုအဝေးများ ပိုင်ဆိုင်သည့် အတွဲများကို ကိုယ်စားပြုသည့် b ကို တွက်ချက်ရန် လိုအပ်သည်-

  • {A၊ D}၊ {A၊ E}၊ {B၊ D}၊ {B၊ E}၊ {C၊ E}

ဒီနေရာမှာ b = 5 ပါ။

နောက်ဆုံးအနေနဲ့ Rand အညွှန်းကိန်းကို အောက်ပါအတိုင်း တွက်ချက်နိုင်ပါတယ်။

  • R = (a+b) / ( n C 2 )
  • R = (1+5)/10
  • R = 6/10

Rand အညွှန်းကိန်းသည် 0.6 ဖြစ်သည်။

R တွင် Rand အညွှန်းကိန်းကိုဘယ်လိုတွက်ရမလဲ

R တွင် အစုလိုက် နည်းလမ်းနှစ်ခုကြားရှိ Rand အညွှန်းကိန်းကို တွက်ချက်ရန် ကျွန်ုပ်တို့သည် rand.index() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။

 library (fossil)

#define clusters
method1 <- c(1, 1, 1, 2, 2)
method2 <- c(1, 1, 2, 2, 3)

#calculate Rand index between clustering methods
rand. index (method1, method2)

[1] 0.6

Rand အညွှန်းကိန်းသည် 0.6 ဖြစ်သည်။ ၎င်းသည် ကျွန်ုပ်တို့ကိုယ်တိုင်တွက်ချက်ထားသော တန်ဖိုးနှင့် ကိုက်ညီပါသည်။

Python တွင် Rand Index ကို တွက်နည်း

အစုနှစ်ခုကြားရှိ Rand အညွှန်းကိန်းကို တွက်ချက်ရန် Python တွင် အောက်ပါလုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ သတ်မှတ်နိုင်သည်-

 import numpy as np
from scipy. special import comb

#define Rand index function
def rand_index (actual, pred):

    tp_plus_fp = comb(np. bincount (actual), 2). sum ()
    tp_plus_fn = comb(np. bincount (pred), 2). sum ()
    A = np. c_ [(actual, pred)]
    tp = sum(comb( np.bincount (A[A[:, 0] == i, 1]), 2) .sum ()
             for i in set(actual))
    fp = tp_plus_fp - tp
    fn = tp_plus_fn - tp
    tn = comb(len(A), 2) - tp - fp - fn
    return (tp + tn) / (tp + fp + fn + tn)

#calculate Rand index
rand_index([1, 1, 1, 2, 2], [1, 1, 2, 2, 3])

0.6

Rand အညွှန်းကိန်းသည် 0.6 ဖြစ်လာသည်။ ၎င်းသည် ယခင်နမူနာများတွင် တွက်ချက်ထားသော တန်ဖိုးနှင့် ကိုက်ညီသည်။

ထပ်လောင်းအရင်းအမြစ်များ

K-Means Clustering နိဒါန်း
K-Medoids အစုအဝေးကို မိတ်ဆက်ခြင်း။
hierarchical clustering အကြောင်း နိဒါန်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်