Python တွင် confusion matrix ဖန်တီးနည်း


Logistic regression သည် တုံ့ပြန်မှု variable binary ဖြစ်သောအခါ ကျွန်ုပ်တို့အသုံးပြုနိုင်သည့် ဆုတ်ယုတ်မှုအမျိုးအစားတစ်ခုဖြစ်သည်။

ထောက်ပံ့ပို့ဆောင်ရေး ဆုတ်ယုတ်မှုပုံစံ၏ အရည်အသွေးကို အကဲဖြတ်ရန် ဘုံနည်းလမ်းမှာ စမ်းသပ်ဒေတာအတွဲ၏ အမှန်တကယ်တန်ဖိုးများနှင့် မော်ဒယ်၏ ခန့်မှန်းတန်ဖိုးများကို ပြသသည့် 2×2 ဇယားဖြစ်သည့် ရှုပ်ထွေးသောမက်ထရစ် ကို ဖန်တီးရန်ဖြစ်သည်။

Python ရှိ logistic regression model အတွက် ရှုပ်ထွေးသော matrix တစ်ခုကို ဖန်တီးရန်၊ sklearn package မှ confusion_matrix() function ကို အသုံးပြုနိုင်ပါသည်။

 from sklearn import metrics
metrics.metrics. confusion_matrix (y_actual, y_predicted)

အောက်ပါဥပမာသည် Python ရှိ ထောက်ပံ့ပို့ဆောင်ရေးဆိုင်ရာ ဆုတ်ယုတ်မှုပုံစံအတွက် ရှုပ်ထွေးမှုမက်ထရစ်ကိုဖန်တီးရန် ဤလုပ်ဆောင်ချက်ကို မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။

ဥပမာ- Python တွင် Confusion Matrix ဖန်တီးခြင်း။

ကျွန်ုပ်တို့တွင် တုံ့ပြန်မှုကိန်းရှင်၏ အမှန်တကယ်တန်ဖိုးများအပြင် ထောက်ပံ့ပို့ဆောင်မှု ဆုတ်ယုတ်မှုပုံစံဖြင့် ခန့်မှန်းထားသော တန်ဖိုးများပါရှိသော အောက်ပါဇယားနှစ်ခုရှိသည်ဆိုပါစို့။

 #define array of actual values
y_actual = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

#define array of predicted values
y_predicted = [0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]

ဤဒေတာအတွက် ရှုပ်ထွေးမှုမက်ထရစ်ကို ဖန်တီးရန် sklearn ၏ confusion_matrix() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။

 from sklearn import metrics

#create confusion matrix
c_matrix = metrics. confusion_matrix (y_actual, y_predicted)

#print confusion matrix
print (c_matrix)

[[6 4]
 [2 8]]

ကျွန်ုပ်တို့လိုချင်ပါက၊ ကျွန်ုပ်တို့သည် ပိုမိုမြင်သာထင်သာသော ရှုပ်ထွေးမှုမက်ထရစ်ကို ဖန်တီးရန်အတွက် ပန်ဒါ၏ crosstab() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။

 import pandas as pd

y_actual = pd. Series (y_actual, name=' Actual ')
y_predicted = pd. Series (y_predicted, name=' Predicted ')

#create confusion matrix
print (pd. crosstab (y_actual, y_predicted))

Predicted 0 1
Current         
0 6 4
1 2 8

ကော်လံများသည် တုံ့ပြန်မှုကိန်းရှင်အတွက် ခန့်မှန်းတန်ဖိုးများကိုပြသပြီး အတန်းများသည် အမှန်တကယ်တန်ဖိုးများကိုပြသသည်။

sklearn ပက်ကေ့ခ်ျရှိ လုပ်ဆောင်ချက်များကို အသုံးပြု၍ တိကျမှု၊ တိကျမှုနှင့် ပြန်လည်ခေါ်ယူမှုကိုလည်း တွက်ချက်နိုင်သည်-

 #print accuracy of model
print ( metrics.accuracy_score (y_actual, y_predicted))

0.7

#print precision value of model
print ( metrics.precision_score (y_actual, y_predicted))

0.667

#print recall value of model
print (metrics. recall_score (y_actual, y_predicted))

0.8

ဤသည်မှာ တိကျမှု၊ တိကျမှုနှင့် ပြန်လည်သိမ်းဆည်းခြင်းဆိုင်ရာ အမြန်ပြန်လည်ဆန်းသစ်မှုတစ်ခုဖြစ်သည်။

  • တိကျမှု – မှန်ကန်သော ခန့်မှန်းချက်များ၏ ရာခိုင်နှုန်း
  • တိကျမှု – စုစုပေါင်း အပြုသဘောဆောင်သော ခန့်မှန်းချက်များနှင့် ဆက်စပ်သော အပြုသဘောဆောင်သော ခန့်မှန်းချက်များကို မှန်ကန်စွာ ပြင်ပါ။
  • သတိပေးချက် – စုစုပေါင်းအမှန်တကယ် အပြုသဘောဆောင်သည့် အပြုသဘောဆောင်သော ခန့်မှန်းချက်များကို ပြုပြင်ခြင်း။

ကျွန်ုပ်တို့၏ဥပမာတွင် ဤမက်ထရစ်တစ်ခုစီကို အမှန်တကယ်တွက်ချက်ပုံမှာ ဤအတိုင်းဖြစ်သည်-

  • တိကျမှု : (6+8) / (6+4+2+8) = 0.7
  • တိကျမှု : 8 / (8+4) = 0.667
  • သတိပေးချက် : 8 / (2+8) = 0.8

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

Logistic Regression နိဒါန်း
logistic regression အမျိုးအစား ၃ မျိုး
ကုန်စည်ပို့ဆောင်မှု ဆုတ်ယုတ်မှုနှင့် မျဉ်းကြောင်း ဆုတ်ယုတ်မှု

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

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