R တွင် lm() ဖြင့် predict() function ကိုမည်သို့အသုံးပြုရမည်နည်း။


R ရှိ lm() လုပ်ဆောင်ချက်ကို linear regression မော်ဒယ်များနှင့် ကိုက်ညီရန် အသုံးပြုနိုင်သည်။

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

ဤလုပ်ဆောင်ချက်သည် အောက်ပါ syntax ကိုအသုံးပြုသည်-

ခန့်မှန်းချက်(အရာဝတ္ထု၊ ဒေတာအသစ်၊ အမျိုးအစား = “ တုံ့ပြန်မှု” )

ရွှေ-

  • အရာဝတ္ထု- glm() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ မော်ဒယ် ချိန်ညှိမှုအမည်
  • newdata- ခန့် မှန်းချက်ပြုလုပ်ရန် ဒေတာဘောင်အသစ်၏ အမည်
  • အမျိုးအစား- ခန့်မှန်းချက် အမျိုးအစား။

အောက်ဖော်ပြပါ ဥပမာသည် R တွင် linear regression model ကို အံဝင်ခွင်ကျဖြစ်အောင် lm() function ကိုအသုံးပြုပုံ၊ ထို့နောက် model ၏ တခါမှမမြင်ဖူးသော စူးစမ်းမှုအသစ်တစ်ခု၏ တုံ့ပြန်မှုတန်ဖိုးကို ခန့်မှန်းရန် predict() function ကို အသုံးပြုပုံကို ပြထားသည်။

ဥပမာ- R တွင် lm() ဖြင့် Predict() လုပ်ဆောင်ချက်ကို အသုံးပြုခြင်း။

R တွင် ဘတ်စကက်ဘောကစားသမားများအကြောင်း အချက်အလက်များစွာပါရှိသော အောက်ပါဒေတာဘောင်ရှိသည်ဆိုပါစို့။

 #create data frame
df <- data. frame (minutes=c(5, 10, 13, 14, 20, 22, 26, 34, 38, 40),
                 fouls=c(5, 5, 3, 4, 2, 1, 3, 2, 1, 1),
                 points=c(6, 8, 8, 7, 14, 10, 22, 24, 28, 30))

#view data frame
df

   minutes fouls points
1 5 5 6
2 10 5 8
3 13 3 8
4 14 4 7
5 20 2 14
6 22 1 10
7 26 3 22
8 34 2 24
9 38 1 28
10 40 1 30

ကစားသမားတစ်ဦးစီမှ ရမှတ်အရေအတွက်ကို ခန့်မှန်းရန် မိနစ်ကစားပြီး စုစုပေါင်း fouls များကို အသုံးပြု၍ အောက်ပါ multiple linear regression model ကို အသုံးပြုလိုသည်ဆိုပါစို့။

အမှတ်များ = β 0 + β 1 (မိနစ်) + β 2 (မိုက်မဲမှုများ)

ဤမော်ဒယ်ကို လိုက်လျောညီထွေဖြစ်အောင် lm() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။

 #fit multiple linear regression model
fit <- lm(points ~ minutes + fouls, data=df)

#view summary of model
summary(fit)

Call:
lm(formula = points ~ minutes + fouls, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-3.5241 -1.4782 0.5918 1.6073 2.0889 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -11.8949 4.5375 -2.621 0.0343 *  
minutes 0.9774 0.1086 9.000 4.26e-05 ***
fouls 2.1838 0.8398 2.600 0.0354 *  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.148 on 7 degrees of freedom
Multiple R-squared: 0.959, Adjusted R-squared: 0.9473 
F-statistic: 81.93 on 2 and 7 DF, p-value: 1.392e-05

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

ရမှတ် = -11.8949 + 0.9774 (မိနစ်) + 2.1838 (fouls)

ထို့နောက် 15 မိနစ်ကြာကစားပြီး စုစုပေါင်း foul 3 ခုကျူးလွန်သော ကစားသမားသည် အမှတ်မည်မျှရနိုင်သည်ကို ခန့်မှန်းရန် predict() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။

 #define new observation
newdata = data. frame (minutes=15, fouls=3)

#use model to predict points value
predict(fit, newdata)

       1 
9.317731

ဤကစားသမားသည် ရမှတ် 9.317731 ရလိမ့်မည်ဟု မော်ဒယ်က ခန့်မှန်းသည်။

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

ဥပမာအားဖြင့်၊ အောက်ပါကုဒ်သည် ကစားသမားသုံးဦး၏ အမှတ်တန်ဖိုးများကို ခန့်မှန်းရန် တပ်ဆင်ထားသော ဆုတ်ယုတ်မှုပုံစံကို မည်သို့အသုံးပြုရမည်ကို ပြသသည်-

 #define new data frame of three cars
newdata = data. frame (minutes=c(15, 20, 25),
                     fouls=c(3, 2, 1))

#view data frame
newdata

  minutes fouls
1 15 3
2 20 2
3 25 1

#use model to predict points for all three players
predict(model, newdata)

        1 2 3 
 9.317731 12.021032 14.724334 

ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-

  • 15 မိနစ်နှင့် 3 foul ရှိသောကစားသမားအတွက်မျှော်လင့်ထားသောအမှတ်အရေအတွက်သည် 9.32 ဖြစ်သည်။
  • မိနစ် 20 နှင့် 2 fouls ကစားသမားအတွက် မျှော်မှန်းထားသော အမှတ်အရေအတွက်သည် 12.02 ဖြစ်သည်။
  • 25 မိနစ်နှင့် 1 foul ရှိသောကစားသမားအတွက်မျှော်လင့်ထားသောရမှတ်များမှာ 14.72 ဖြစ်သည်။

predict() အသုံးပြုခြင်းဆိုင်ရာ မှတ်စုများ

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

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

  • မိနစ်များ
  • အမှားများ

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

  • မိနစ်များ
  • အမှားများ

ကော်လံအမည်များ မတိုက်ဆိုင်ပါက၊ သင်သည် အောက်ပါ Error message ကို လက်ခံရရှိလိမ့်မည်-

 Error in eval(predvars, data, env)

predict() လုပ်ဆောင်ချက်ကို အသုံးပြုသည့်အခါ ၎င်းကို မှတ်သားထားပါ။

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

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

R တွင် ရိုးရှင်းသော linear regression လုပ်နည်း
R တွင် linear regression အများအပြားလုပ်ဆောင်နည်း
R တွင် polynomial regression ကို မည်သို့လုပ်ဆောင်ရမည်နည်း
R တွင် ခန့်မှန်းကြားကာလတစ်ခုကို ဖန်တီးနည်း

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

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