Scikit-learn မှ ဆုတ်ယုတ်မှုပုံစံအကျဉ်းချုပ်ကို မည်သို့ရယူရမည်နည်း။


Python တွင် scikit-learn ကို အသုံးပြု၍ ဖန်တီးထားသော ဆုတ်ယုတ်မှုပုံစံ၏ အကျဉ်းချုပ်ကို မကြာခဏ ထုတ်ယူလိုပေမည်။

ကံမကောင်းစွာပဲ၊ scikit-learn သည် ဆုတ်ယုတ်မှုပုံစံ၏ အကျဉ်းချုပ်ကို ပိုင်းခြား စိတ်ဖြာရန်အတွက် ပေါင်းစပ်ထားသောလုပ်ဆောင်ချက်များစွာကို မပေးဆောင်နိုင်ပါ။

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

1. scikit-learn ၏ အကန့်အသတ်ရှိသော လုပ်ဆောင်ချက်များကို အသုံးပြုပါ။

2. အစား ကိန်းဂဏန်းပုံစံများကို အသုံးပြုပါ။

အောက်ဖော်ပြပါနမူနာများသည် အောက်ပါ pandas DataFrame ဖြင့် လက်တွေ့တွင် နည်းလမ်းတစ်ခုစီကို အသုံးပြုနည်းကို ပြသသည်-

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' x1 ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
                   ' x2 ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
                   ' y ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view first five rows of DataFrame
df. head ()

       x1 x2 y
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72

နည်းလမ်း 1- Scikit-Learn မှ Regression Model အကျဉ်းချုပ်ကို ရယူပါ။

scikit-learn ကို အသုံးပြု၍ များစွာသော linear regression model နှင့် ကိုက်ညီရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။

 from sklearn. linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
x, y = df[[' x1 ', ' x2 ']], df. y

#fit regression model
model. fit (x,y)

ထို့နောက် မော်ဒယ်မှ ဆုတ်ယုတ်မှုကိန်းများကို ထုတ်ယူရန်နှင့် မော်ဒယ်၏ R-squared တန်ဖိုးကို ထုတ်ယူရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်သည်။

 #display regression coefficients and R-squared value of model
print (model. intercept_ , model. coef_ , model. score (X, y))

70.4828205704 [5.7945 -1.1576] 0.766742556527

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

y = 70.48 + 5.79x 1 – 1.16x 2

မော်ဒယ်၏ R 2 တန်ဖိုးသည် 76.67 ဖြစ်သည်ကိုလည်း တွေ့မြင်နိုင်သည်။

ဆိုလိုသည်မှာ တုံ့ပြန်မှုကိန်းရှင်တွင် ကွဲလွဲမှု 76.67% ကို မော်ဒယ်ရှိ ကြိုတင်ခန့်မှန်းကိန်းရှင်နှစ်ခုဖြင့် ရှင်းပြနိုင်သည်။

ဤရလဒ်သည် အသုံးဝင်သော်လည်း၊ မော်ဒယ်၏ အလုံးစုံ F ကိန်းဂဏန်း ၊ တစ်ဦးချင်း စီ ဆုတ်ယုတ်မှုကိန်းဂဏန်း များ၏ p-တန်ဖိုးများနှင့် မော်ဒယ်သည် မော်ဒယ်နှင့် မည်မျှကိုက်ညီကြောင်း နားလည်ရန် ကူညီပေးနိုင်သည့် အခြားအသုံးဝင်သော အတိုင်းအတာများကို ကျွန်ုပ်တို့ မသိရှိသေးပါ။ dataset.dataset။

နည်းလမ်း 2- Statsmodels ထံမှ ဆုတ်ယုတ်မှုပုံစံအကျဉ်းချုပ်ကို ရယူပါ။

Python ရှိ ဆုတ်ယုတ်မှုပုံစံ၏ အကျဉ်းချုပ်ကို ထုတ်ယူလိုပါက၊ statsmodels ပက်ကေ့ခ်ျကို အသုံးပြုခြင်းသည် အကောင်းဆုံးဖြစ်သည်။

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

 import statsmodels. api as sm

#define response variable
y = df[' y ']

#define predictor variables
x = df[[' x1 ', ' x2 ']]

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

#view model summary
print ( model.summary ())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: y R-squared: 0.767
Model: OLS Adj. R-squared: 0.708
Method: Least Squares F-statistic: 13.15
Date: Fri, 01 Apr 2022 Prob (F-statistic): 0.00296
Time: 11:10:16 Log-Likelihood: -31.191
No. Comments: 11 AIC: 68.38
Df Residuals: 8 BIC: 69.57
Df Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 70.4828 3.749 18.803 0.000 61.839 79.127
x1 5.7945 1.132 5.120 0.001 3.185 8.404
x2 -1.1576 1.065 -1.087 0.309 -3.613 1.298
==================================================== ============================
Omnibus: 0.198 Durbin-Watson: 1.240
Prob(Omnibus): 0.906 Jarque-Bera (JB): 0.296
Skew: -0.242 Prob(JB): 0.862
Kurtosis: 2.359 Cond. No. 10.7
==================================================== ============================

regression coefficients နှင့် R-squared value သည် scikit-learn မှ တွက်ချက်ထားသည့်အရာများနှင့် ကိုက်ညီကြောင်း၊ သို့သော် regression model အတွက် အခြားသော အသုံးဝင်သော မက်ထရစ်များစွာလည်း ရှိပါသည်။

ဥပမာအားဖြင့်၊ ခန့်မှန်းသူ တစ်ဦးစီအတွက် p-တန်ဖိုးများကို ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • p-value သည် x 1 = 0.001 ဖြစ်သည်။
  • p-value သည် x 2 = 0.309 ဖြစ်သည်။

မော်ဒယ်၏ အလုံးစုံ F-ကိန်းဂဏန်း၊ ချိန်ညှိထားသော R-squared တန်ဖိုး၊ မော်ဒယ် AIC တန်ဖိုး နှင့် အခြားများစွာကိုလည်း တွေ့မြင်နိုင်သည်။

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

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

Python တွင် ရိုးရှင်းသော linear regression လုပ်နည်း
Python တွင် မျဉ်းကြောင်း ဆုတ်ယုတ်မှု အများအပြား လုပ်ဆောင်နည်း
Python ရှိ regression မော်ဒယ်များ၏ AIC တွက်ချက်နည်း

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

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