R တွင် တစ်ကြိမ်-အထွက် အပြန်အလှန်အတည်ပြုချက် ချန်ထားခဲ့ပါ (ဥပမာများဖြင့်)
ဒေတာအတွဲတစ်ခုပေါ်ရှိ မော်ဒယ်တစ်ခု၏စွမ်းဆောင်ရည်ကို အကဲဖြတ်ရန်၊ ကျွန်ုပ်တို့သည် မော်ဒယ်မှပြုလုပ်သော ခန့်မှန်းချက်များသည် စောင့်ကြည့်လေ့လာထားသောဒေတာနှင့် မည်မျှကိုက်ညီကြောင်း တိုင်းတာရန် လိုအပ်ပါသည်။
ဤကဲ့သို့လုပ်ဆောင်ရန်အတွက် အသုံးများသောနည်းလမ်းကို Leave-One-Out Cross-Validation (LOOCV) ဟုခေါ်သည်၊ အောက်ပါနည်းလမ်းကိုအသုံးပြုသည်-
1. လေ့ကျင့်ရေးအစု၏ တစ်စိတ်တစ်ပိုင်းအဖြစ် မှတ်သားမှုအားလုံးကို အသုံးပြု၍ ဒေတာအစုံကို လေ့ကျင့်ရေးအစုံနှင့် စမ်းသပ်မှုတစ်ခုအဖြစ် ခွဲလိုက်ပါ။
2. လေ့ကျင့်မှုအစုံမှဒေတာကိုသာအသုံးပြု၍ မော်ဒယ်တစ်ခုဖန်တီးပါ။
3. မော်ဒယ်မှဖယ်ထုတ်ထားသော စောင့်ကြည့်မှုတန်ဖိုးကို ခန့်မှန်းရန်နှင့် ပျမ်းမျှစတုရန်းအမှား (MSE) ကို တွက်ချက်ရန် မော်ဒယ်ကို အသုံးပြုပါ။
4. ဤလုပ်ငန်းစဉ် n အကြိမ်များကို ပြန်လုပ်ပါ။ စာမေးပွဲ MSE ကို စမ်းသပ်မှု MSE အားလုံး၏ ပျမ်းမျှအဖြစ် တွက်ချက်ပါ။
R တွင် LOOCV ကို run ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ R ရှိ caret စာကြည့်တိုက်မှ trainControl() လုပ်ဆောင်ချက်ကို အသုံးပြုခြင်းဖြစ်သည်။
ဤသင်ခန်းစာသည် R တွင်ပေးထားသည့်ပုံစံအတွက် LOOCV ကိုလုပ်ဆောင်ရန် ဤလုပ်ဆောင်ချက်ကိုအသုံးပြုနည်းကို အတိုချုံး ဥပမာပေးထားသည်။
ဥပမာ- R တွင် တစ်ဖက်တည်း-အထွက် Cross-Validation
R တွင် အောက်ပါ dataset ရှိသည်ဆိုပါစို့။
#create data frame df <- data.frame(y=c(6, 8, 12, 14, 14, 15, 17, 22, 24, 23), x1=c(2, 5, 4, 3, 4, 6, 7, 5, 8, 9), x2=c(14, 12, 12, 13, 7, 8, 7, 4, 6, 5)) #view data frame df y x1 x2 6 2 14 8 5 12 12 4 12 14 3 13 14 4 7 15 6 8 17 7 7 22 5 4 24 8 6 23 9 5
အောက်ဖော်ပြပါ ကုဒ်သည် R ရှိ ဤဒေတာအတွဲအတွက် မျဉ်းကြောင်းပြန်ဆုတ်မှုပုံစံတစ်ခု အား မည်ကဲ့သို့ အံဝင်ခွင်ကျဖြစ်စေရန်နှင့် မော်ဒယ်၏စွမ်းဆောင်ရည်ကို အကဲဖြတ်ရန် LOOCV ကို လုပ်ဆောင်နိုင်သည်-
library (caret) #specify the cross-validation method ctrl <- trainControl(method = " LOOCV ") #fit a regression model and use LOOCV to evaluate performance model <- train(y ~ x1 + x2, data = df, method = " lm ", trControl = ctrl) #view summary of LOOCV print(model) Linear Regression 10 samples 2 predictors No pre-processing Resampling: Leave-One-Out Cross-Validation Summary of sample sizes: 9, 9, 9, 9, 9, 9, ... Resampling results: RMSE Rsquared MAE 3.619456 0.6186766 3.146155 Tuning parameter 'intercept' was held constant at a value of TRUE
ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-
- မော်ဒယ် ၁၀ ခု တည်ဆောက်ရန် မတူညီသော နမူနာ ၁၀ ခုကို အသုံးပြုခဲ့သည်။ မော်ဒယ်တစ်ခုစီတွင် ခန့်မှန်းသူ ကိန်းရှင် ၂ ခုကို အသုံးပြုထားသည်။
- ကြိုတင်လုပ်ဆောင်ခြင်း မရှိပါ။ ဆိုလိုသည်မှာ၊ ကျွန်ုပ်တို့သည် မော်ဒယ်များနှင့် မကိုက်ညီမီ မည်သည့်နည်းဖြင့်မ ဆို ဒေတာကို အတိုင်းအတာ မထားပါ။
- နမူနာ 10 ခုကို ထုတ်လုပ်ရန် ကျွန်ုပ်တို့အသုံးပြုခဲ့သည့် ပြန်လည်နမူနာနည်းလမ်းမှာ Leave-One-Out အပြန်အလှန်အတည်ပြုချက်ဖြစ်သည်။
- လေ့ကျင့်ခန်းတစ်ခုစီအတွက်နမူနာအရွယ်အစားမှာ 9 ဖြစ်သည်။
- RMSE- root mean square အမှား။ ၎င်းသည် မော်ဒယ်မှပြုလုပ်သော ခန့်မှန်းချက်များနှင့် အမှန်တကယ်လေ့လာတွေ့ရှိချက်များကြား ပျမ်းမျှကွာခြားချက်ကို တိုင်းတာသည်။ RMSE နိမ့်လေ၊ မော်ဒယ်တစ်ခုသည် အမှန်တကယ် လေ့လာတွေ့ရှိချက်များကို ခန့်မှန်းနိုင်လေဖြစ်သည်။
- Rsquared- ဤသည်မှာ မော်ဒယ်မှပြုလုပ်သော ခန့်မှန်းချက်များနှင့် အမှန်တကယ် လေ့လာတွေ့ရှိချက်များကြား ဆက်စပ်မှု အတိုင်းအတာတစ်ခုဖြစ်သည်။ R-squared ပိုမြင့်လေ၊ မော်ဒယ်တစ်ခုသည် အမှန်တကယ် လေ့လာတွေ့ရှိချက်များကို ခန့်မှန်းနိုင်လေဖြစ်သည်။
- MAE: ပျမ်းမျှ ပကတိ အမှား။ ၎င်းသည် မော်ဒယ်မှပြုလုပ်သော ခန့်မှန်းချက်များနှင့် အမှန်တကယ် လေ့လာတွေ့ရှိချက်များအကြား ပျမ်းမျှအကြွင်းမဲ့ ခြားနားချက်ဖြစ်သည်။ MAE နိမ့်လေ၊ မော်ဒယ်တစ်ခုသည် အမှန်တကယ် လေ့လာတွေ့ရှိချက်များကို ခန့်မှန်းနိုင်လေဖြစ်သည်။
ရလဒ်တွင် ပေးထားသော တိုင်းတာမှု သုံးခုမှ တစ်ခုစီ (RMSE၊ R-squared နှင့် MAE) သည် ထုတ်ဝေမထားသော ဒေတာပေါ်တွင် မော်ဒယ်၏ စွမ်းဆောင်ရည်ကို အကြံဥာဏ်ပေးပါသည်။
လက်တွေ့တွင်၊ ကျွန်ုပ်တို့သည် ပုံမှန်အားဖြင့် မတူညီသော မော်ဒယ်များစွာကို အံဝင်ခွင်ကျဖြစ်ပြီး ဤနေရာတွင် ဖော်ပြထားသော ရလဒ်များမှ ပေးထားသော မက်ထရစ်သုံးခုကို နှိုင်းယှဉ်ကာ မည်သည့်မော်ဒယ်သည် အနိမ့်ဆုံး စမ်းသပ်မှု အမှားအယွင်းနှုန်းများကို ထုတ်လုပ်ပေးသည်ကို ဆုံးဖြတ်ကာ ထို့ကြောင့် အသုံးပြုရန် အကောင်းဆုံး မော်ဒယ်ဖြစ်သည်။