Sklearn တွင် အမျိုးအစားခွဲခြင်းအစီရင်ခံစာကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုရမည် (ဥပမာနှင့်အတူ)
စက်သင်ယူမှုတွင် အမျိုးအစားခွဲခြင်းပုံစံများကို ကျွန်ုပ်တို့အသုံးပြုသောအခါ၊ ကျွန်ုပ်တို့သည် မော်ဒယ်၏အရည်အသွေးကို အကဲဖြတ်ရန် ဘုံမက်ထရစ်သုံးခုကို အသုံးပြုသည်-
1. တိကျမှု – စုစုပေါင်း အပြုသဘောဆောင်သော ခန့်မှန်းချက်များနှင့် နှိုင်းယှဉ်ပါက မှန်ကန်သော အပြုသဘောဆောင်သော ခန့်မှန်းချက်များ ရာခိုင်နှုန်း။
2. ပြန်လည်သိမ်းဆည်းခြင်း – စုစုပေါင်းအမှန်တကယ် အပြုသဘောဆောင်သော ခန့်မှန်းချက်များနှင့် နှိုင်းယှဉ်ပါက မှန်ကန်သော အပြုသဘောဆောင်သော ခန့်မှန်းချက်များ ရာခိုင်နှုန်း။
3. F1 ရမှတ် – တိကျမှုနှင့် ပြန်လည်သိမ်းဆည်းမှု၏ အလေးချိန်ရှိသော ဟာမိုနစ်ပျမ်းမျှ။ မော်ဒယ်က 1 နဲ့ ပိုနီးစပ်လေ၊ မော်ဒယ်က ပိုကောင်းပါတယ်။
- F1 ရမှတ်- 2* (တိကျမှု * ပြန်လည်ခေါ်ယူခြင်း) / (တိကျမှု + ပြန်လည်ခေါ်ယူခြင်း)
ဤမက်ထရစ်သုံးခုကို အသုံးပြု၍ ပေးထားသော အမျိုးအစားခွဲခြားမှုပုံစံသည် အချို့သော တုံ့ပြန်မှုကိန်းရှင်များ အတွက် ရလဒ်များကို ခန့်မှန်းနိုင်ပုံကို ကျွန်ုပ်တို့ နားလည်နိုင်ပါသည်။
ကံကောင်းထောက်မစွာ၊ Python တွင် အမျိုးအစားခွဲခြင်းပုံစံတစ်ခုကို အံကိုက်လုပ်သောအခါ၊ ဤမက်ထရစ်သုံးခုကိုထုတ်လုပ်ရန်အတွက် sklearn library မှ classification_report() လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့အသုံးပြုနိုင်ပါသည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤလုပ်ဆောင်ချက်ကို လက်တွေ့အသုံးချနည်းကို ပြသထားသည်။
ဥပမာ- အမျိုးအစားခွဲခြင်းအစီရင်ခံစာကို sklearn တွင် အသုံးပြုနည်း
ဤဥပမာအတွက်၊ ကျွန်ုပ်တို့သည် မတူညီသောကောလိပ်ဘတ်စကက်ဘောကစားသမား 1,000 ကို NBA သို့ ရေးဆွဲမည်ဟုတ်-မဟုတ် ခန့်မှန်းရန် အမှတ်များနှင့် ကူညီပေးသည့် ထောက်ပံ့ပို့ဆောင်ရေးဆိုင်ရာ ဆုတ်ယုတ်မှုပုံစံကို ဖြည့်ဆည်းပေးပါမည်။
ပထမဦးစွာ၊ Python တွင် ထောက်ပံ့ပို့ဆောင်ရေးဆုတ်ယုတ်မှုကို လုပ်ဆောင်ရန် လိုအပ်သော ပက်ကေ့ဂျ်များကို တင်သွင်းပါမည်။
import pandas as pd import numpy as np from sklearn. model_selection import train_test_split from sklearn. linear_model import LogisticRegression from sklearn. metrics import classification_report
ထို့နောက်၊ ကျွန်ုပ်တို့သည် ဘတ်စကက်ဘောကစားသမား 1000 ၏ အချက်အလက်ပါရှိသော ဒေတာဘောင်ကို ဖန်တီးပါမည်။
#make this example reproducible
n.p. random . seeds (1)
#createDataFrame
df = pd. DataFrame ({' points ': np. random . randint (30, size=1000),
' assists ': np. random . randint (12, size=1000),
' drafted ': np. random . randint (2, size=1000)})
#view DataFrame
df. head ()
points assists drafted
0 5 1 1
1 11 8 0
2 12 4 1
3 8 7 0
4 9 0 0
မှတ်ချက် – 0 တန်ဖိုးသည် ကစားသမားတစ်ဦးကို ရေးဆွဲထားကြောင်း ဖော်ပြနေချိန်တွင် 1 တန်ဖိုးသည် ကစားသမားတစ်ဦးကို မူကြမ်းမရေးဆွဲထားကြောင်း ဖော်ပြသည်။
ထို့နောက်၊ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ဒေတာကို လေ့ကျင့်ရေးအစုံနှင့် စမ်းသပ်မှုအစုအဖြစ် ပိုင်းခြားပြီး ထောက်ပံ့ပို့ဆောင်ရေး ဆုတ်ယုတ်မှုပုံစံနှင့် ကိုက်ညီပါမည်-
#define the predictor variables and the response variable X = df[[' points ', ' assists ']] y = df[' drafted '] #split the dataset into training (70%) and testing (30%) sets X_train,X_test,y_train,y_test = train_test_split (X,y,test_size=0.3,random_state=0) #instantiate the model logistic_regression = LogisticRegression() #fit the model using the training data logistic_regression. fit (X_train,y_train) #use model to make predictions on test data y_pred = logistic_regression. predict (X_test)
နောက်ဆုံးတွင်၊ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏မော်ဒယ်၏ အမျိုးအစားခွဲခြားမှုမက်ထရစ်များကို ပရင့်ထုတ်ရန် classification_report() လုပ်ဆောင်ချက်ကို အသုံးပြုပါမည်။
#print classification report for model
print (classification_report(y_test, y_pred))
precision recall f1-score support
0 0.51 0.58 0.54 160
1 0.43 0.36 0.40 140
accuracy 0.48 300
macro avg 0.47 0.47 0.47 300
weighted avg 0.47 0.48 0.47 300
ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-
ရှင်းလင်းချက် – ၎င်းတို့ရေးဆွဲမည်ဟု ခန့်မှန်းထားသော မော်ဒယ်လ်ကစားသမားများအားလုံးတွင် အမှန်တကယ် 43% သာရှိခဲ့သည်။
သတိပေးချက် – အမှန်တကယ်ရေးဆွဲထားသည့် ကစားသမားများအားလုံးတွင်၊ မော်ဒယ်သည် ၎င်းတို့ထဲမှ 36% အတွက် ဤရလဒ်ကို မှန်ကန်စွာ ခန့်မှန်းပေးခဲ့ပါသည်။
F1 ရမှတ် – ဤတန်ဖိုးကို အောက်ပါအတိုင်း တွက်ချက်သည်-
- F1 ရမှတ်- 2* (တိကျမှု * ပြန်လည်ခေါ်ယူခြင်း) / (တိကျမှု + ပြန်လည်ခေါ်ယူခြင်း)
- F1 ရမှတ်- 2*.43*.36)/.43+.36)
- F1 အဆင့်သတ်မှတ်ချက်- 0.40 ။
ဤတန်ဖိုးသည် 1 နှင့် အလွန်နီးစပ်သောကြောင့်၊ ၎င်းသည် ကစားသမားများကို ရေးဆွဲမည်၊ မရေးဆွဲမည်ကို မော်ဒယ်က ခန့်မှန်းမှု ညံ့ဖျင်းကြောင်း ကျွန်ုပ်တို့ကို ပြောပြသည်။
ပံ့ပိုးမှု – ဤတန်ဖိုးများသည် စမ်းသပ်ဒေတာအတွဲတွင် အတန်းတစ်ခုစီတွင် ပါဝင်သည့် ကစားသမားအရေအတွက်ကို ရိုးရှင်းစွာပြောပြပါသည်။ စမ်းသပ်ဒေတာအတွဲတွင် ကစားသမား ၁၆၀ နှင့် ၁၄၀ မရေးဆွဲထားသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။
မှတ်ချက် – classification_report() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာဖွေနိုင်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ပါသင်ခန်းစာများသည် Python တွင် အမျိုးအစားခွဲခြင်းပုံစံများကို အသုံးပြုခြင်းဆိုင်ရာ နောက်ထပ်အချက်အလက်များကို ပေးဆောင်သည်-
Python တွင် Logistic Regression ကို မည်သို့လုပ်ဆောင်မည်နည်း။
Python တွင် Confusion Matrix ဖန်တီးနည်း
Python တွင် မျှတသောတိကျမှုကို တွက်ချက်နည်း