R တွင် မော်ဒယ်စွမ်းဆောင်ရည်အတွက် အပြန်အလှန်အတည်ပြုနည်း


စာရင်းဇယားများတွင်၊ ကျွန်ုပ်တို့သည် အကြောင်းနှစ်ရပ်ကြောင့် မော်ဒယ်များကို မကြာခဏ တည်ဆောက်သည်-

  • တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကြိုတင်ခန့်မှန်းကိန်းရှင်များနှင့် တုံ့ပြန်မှုကိန်းရှင် ကြား ဆက်နွယ်မှုကို နားလည်ပါ
  • အနာဂတ်လေ့လာချက်များကို ခန့်မှန်းရန် မော်ဒယ်ကို အသုံးပြုပါ။

Cross-validation သည် မော်ဒယ်တစ်ခု၏ အနာဂတ်လေ့လာချက်များကို ခန့်မှန်းနိုင်မှု မည်မျှကောင်းမွန်ကြောင်း ခန့်မှန်းရန်အတွက် အသုံးဝင်ပါသည်။

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

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

ခန့်မှန်းခြေ အမှားကို ခန့်မှန်းရန် Cross-Validation ကို အသုံးပြုခြင်း။

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

1. ဒေတာအတွဲတွင် သတိပြုစရာအရေအတွက်အချို့ကို ဘေးဖယ်ထားပါ – ယေဘုယျအားဖြင့် ကြည့်ရှုမှုအားလုံး၏ 15-25%။
2. ဒေတာအတွဲတွင် ကျွန်ုပ်တို့သိမ်းဆည်းထားသည့် လေ့လာတွေ့ရှိချက်များဆိုင်ရာ မော်ဒယ် (သို့မဟုတ် “ ရထား” ) ကို အံကိုက်ပါ။
3. မော်ဒယ်ကိုလေ့ကျင့်ရန် ကျွန်ုပ်တို့အသုံးမပြုခဲ့သော စောင့်ကြည့်လေ့လာမှုများနှင့်ပတ်သက်၍ မော်ဒယ်သည် မည်မျှကောင်းမွန်သည်ကို စမ်းသပ်ပါ။

မော်ဒယ်တစ်ဦး၏အရည်အသွေးကိုတိုင်းတာ

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

Multiple R-squared- ၎င်းသည် ကြိုတင်ခန့်မှန်းကိန်းရှင်များနှင့် တုံ့ပြန်မှုကိန်းရှင် ကြားရှိ မျဉ်းကြောင်းဆက်နွယ်မှုကို တိုင်းတာသည်R-squared multiple 1 ၏ R-squared multiple သည် ပြီးပြည့်စုံသော linear ဆက်ဆံရေးကို ညွှန်ပြနေသော်လည်း 0 ၏ R-squared multiple သည် linear ဆက်နွယ်မှုမရှိကြောင်း ညွှန်ပြသည်။ R-squared multiple ပိုများလေ၊ ခန့်မှန်းသူ variable များသည် တုံ့ပြန်မှု variable ကို ခန့်မှန်းရန် အလားအလာ ပိုများလေဖြစ်သည်။

Root mean square error (RMSE)- လေ့လာမှုအသစ်တစ်ခု၏ တန်ဖိုးကို ခန့်မှန်းသည့်အခါ မော်ဒယ်မှပြုလုပ်သော ပျမ်းမျှခန့်မှန်းချက်အမှားကို တိုင်းတာသည်ဤသည်မှာ လေ့လာမှုတစ်ခု၏ စစ်မှန်သောတန်ဖိုးနှင့် မော်ဒယ်မှ ခန့်မှန်းထားသော တန်ဖိုးအကြား ပျမ်းမျှအကွာအဝေးဖြစ်သည်။ RMSE အတွက် နိမ့်သော တန်ဖိုးများသည် ပိုမိုကောင်းမွန်သော မော်ဒယ် အံဝင်ခွင်ကျဖြစ်ကြောင်း ညွှန်ပြသည်။

Mean Absolute Error (MAE)- ဤသည်မှာ စူးစမ်းမှုတစ်ခု၏ စစ်မှန်သောတန်ဖိုးနှင့် မော်ဒယ်မှ ခန့်မှန်းထားသော တန်ဖိုးအကြား ပျမ်းမျှအကြွင်းမဲ့ ကွာခြားချက်ဖြစ်သည်။ ဤမက်ထရစ်သည် ယေဘုယျအားဖြင့် RMSE ထက် အကွာအဝေးများအတွက် အထိခိုက်မခံနည်း။ MAE အတွက် နိမ့်သောတန်ဖိုးများသည် ပိုမိုကောင်းမွန်သော မော်ဒယ်လ်များကို ညွှန်ပြသည်။

R တွင် မတူညီသော အပြန်အလှန်စစ်ဆေးခြင်းနည်းပညာလေးခုကို အကောင်အထည်ဖော်ခြင်း။

ထို့နောက် R တွင် အောက်ပါ အပြန်အလှန်တရားဝင်အတည်ပြုနည်းစနစ်များကို မည်သို့အကောင်အထည်ဖော်ရမည်ကို ရှင်းပြပါမည်။

1. Validation set ရေးပါတယ်။
2. ဋ-ဖြတ်ပိုင်း-အတည်ပြုချက်ခေါက်
3. အပြန်အလှန်အတည်ပြုခြင်းကို ဘေးဖယ်ထားပါ။
4. ထပ်ခါတလဲလဲ k ခေါက်ခြင်း အပြန်အလှန်အတည်ပြုခြင်း။

ဤကွဲပြားခြားနားသောနည်းပညာများကိုအသုံးပြုပုံကိုသရုပ်ဖော်ရန်၊ ကျွန်ုပ်တို့သည် mtcars built-in R dataset ၏အပိုင်းခွဲတစ်ခုကိုအသုံးပြုပါမည်-

 #define dataset
data <- mtcars[, c("mpg", "disp", "hp", "drat")]

#view first six rows of new data
head(data)

# mpg disp hp drat
#Mazda RX4 21.0 160 110 3.90
#Mazda RX4 Wag 21.0 160 110 3.90
#Datsun 710 22.8 108 93 3.85
#Hornet 4 Drive 21.4 258 110 3.08
#Hornet Sportabout 18.7 360 175 3.15
#Valiant 18.1 225 105 2.76

ကျွန်ုပ်တို့သည် တုံ့ပြန်မှုကိန်း ရှင်အဖြစ် disphp နှင့် drat တို့ကို အသုံးပြု၍ မျဉ်းဖြော င့ ်ဆုတ်ယုတ်မှုပုံစံမျိုးစုံကို ကျွန်ုပ်တို့တည်ဆောက်ပါမည်

validation set ရေးပါတယ်။

တရားဝင်သတ်မှတ်ထားသောချဉ်းကပ်မှုမှာ အောက်ပါအတိုင်းလုပ်ဆောင်သည်-

1. ဒေတာကို နှစ်စုံအဖြစ် ပိုင်းခြားပါ- တစ်စုကို မော်ဒယ်လေ့ကျင့်ရန် (ဆိုလိုသည်မှာ မော်ဒယ်ဘောင်များကို ခန့်မှန်းရန်) နှင့် အခြားအစုံကို မော်ဒယ်စမ်းသပ်ရန် အသုံးပြုသည်။ ယေဘူယျအားဖြင့်၊ ဒေတာ၏ 70-80% ကို ကျပန်းရွေးချယ်ခြင်းဖြင့် လေ့ကျင့်ရေးအစုံကို ထုတ်ပေးပြီး ကျန်ဒေတာ 20-30% ကို စမ်းသပ်မှုအဖြစ် အသုံးပြုပါသည်။

2. လေ့ကျင့်ရေးဒေတာအတွဲကို အသုံးပြု၍ မော်ဒယ်ကို ဖန်တီးပါ။
3. စမ်းသပ်မှုအစုံဒေတာအကြောင်း ခန့်မှန်းချက်များကို ပြုလုပ်ရန် မော်ဒယ်ကို အသုံးပြုပါ။
4. R-squared၊ RMSE နှင့် MAE ကဲ့သို့သော မက်ထရစ်များကို အသုံးပြု၍ မော်ဒယ်အရည်အသွေးကို တိုင်းတာပါ။

ဥပမာ-

အောက်ဖော်ပြပါ ဥပမာသည် အထက်ဖော်ပြပါ ကျွန်ုပ်တို့သတ်မှတ်ထားသော ဒေတာအတွဲကို အသုံးပြုသည်။ ပထမဦးစွာကျွန်ုပ်တို့သည် data တွေကိုခွဲခြား
training set နှင့် test set သည် data ၏ 80% ကို training set အဖြစ်အသုံးပြုပြီး ကျန် 20% သည် test set အဖြစ် data များဖြစ်သည်။ ထို့နောက် ကျွန်ုပ်တို့သည် လေ့ကျင့်မှုအစုံကို အသုံးပြု၍ မော်ဒယ်ကို တည်ဆောက်သည်။ ထို့နောက် စမ်းသပ်မှုအစုံနှင့်ပတ်သက်၍ ခန့်မှန်းချက်များကို ပြုလုပ်ရန် မော်ဒယ်ကို အသုံးပြုသည်။ နောက်ဆုံးတွင် R-squared၊ RMSE နှင့် MAE ကိုအသုံးပြု၍ မော်ဒယ် ၏အရည်အသွေးကို တိုင်းတာပါသည်

 #load dplyr library used for data manipulation
library(dplyr)

#load caret library used for partitioning data into training and test set
library(caret)

#make this example reproducible
set.seed(0)

#define the dataset
data <- mtcars[, c("mpg", "disp", "hp", "drat")]

#split the dataset into a training set (80%) and test set (20%).
training_obs <- data$mpg %>% createDataPartition(p = 0.8, list = FALSE)

train <- data[training_obs, ]
test <- data[-training_obs, ]

# Build the linear regression model on the training set
model <- lm(mpg ~ ., data = train)

# Use the model to make predictions on the test set
predictions <- model %>% predict(test)

#Examine R-squared, RMSE, and MAE of predictions
data.frame(R_squared = R2(predictions, test$mpg),
           RMSE = RMSE(predictions, test$mpg),
           MAE = MAE(predictions, test$mpg))

#R_squared RMSE MAE
#1 0.9213066 1.876038 1.66614

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

ဤချဉ်းကပ်မှု၏ အားသာချက်များနှင့် အားနည်းချက်များ

validation set approach ၏ အားသာချက်မှာ ရိုးရှင်းပြီး တွက်ချက်မှုအရ ထိရောက်မှုရှိသည်။ အားနည်းချက် မှာ မော်ဒယ်သည် စုစုပေါင်းဒေတာ၏ တစ်စိတ်တစ်ပိုင်းကိုသာ အသုံးပြုတည်ဆောက်ထားခြင်း ဖြစ်သည်။ လေ့ကျင့်ရေးအစုမှ ကျွန်ုပ်တို့ ချန်ထားခဲ့သည့် ဒေတာများတွင် စိတ်ဝင်စားဖွယ် သို့မဟုတ် တန်ဖိုးရှိသော အချက်အလက်များ ပါဝင်နေပါက၊ မော်ဒယ်သည် ၎င်းကို ထည့်သွင်းစဉ်းစားမည်မဟုတ်ပါ။

k-fold cross-validation ရေးပါတယ်။

k-fold cross-validation နည်းလမ်းသည် အောက်ပါအတိုင်း အလုပ်လုပ်သည်-

1. အချက်အလက်များကို k “folds” သို့မဟုတ် အစုခွဲများအဖြစ် ကျပန်းခွဲပါ (ဥပမာ၊ 5 သို့မဟုတ် 10 အခွဲများ)။
2. ဒေတာအားလုံးတွင် မော်ဒယ်ကို လေ့ကျင့်ပါ၊ အပိုင်းတစ်ခုသာ ချန်ထားပါ။
3. ချန်ထားခဲ့သည့် အစုခွဲမှ ဒေတာများအကြောင်း ခန့်မှန်းချက်များကို ပြုလုပ်ရန် မော်ဒယ်ကို အသုံးပြုပါ။
4. k အပိုင်းခွဲတစ်ခုစီကို စမ်းသပ်မှုအဖြစ် အသုံးပြုပြီးသည်အထိ ဤလုပ်ငန်းစဉ်ကို ပြန်လုပ်ပါ။
။ k စမ်းသပ်မှုအမှားများကို ပျမ်းမျှအားဖြင့် မော်ဒယ်၏အရည်အသွေးကို တိုင်းတာပါ။ ဒါကို သိတယ်။
အပြန်အလှန်စစ်ဆေးခြင်းအမှားတစ်ခုအဖြစ်။

ဥပမာ

ဤဥပမာတွင်၊ ကျွန်ုပ်တို့သည် ပထမဦးစွာ ဒေတာကို အစုခွဲ 5 ခုအဖြစ် ပိုင်းခြားပါ။ ထို့နောက် ဒေတာ၏ အစုခွဲတစ်ခုမှလွဲ၍ အားလုံးအသုံးပြုသည့် မော်ဒယ်ကို အံကိုက်လုပ်ပါ။ ထို့နောက်တွင် ကျန်ခဲ့သည့် အစုခွဲအကြောင်း ခန့်မှန်းမှုများ ပြုလုပ်ရန် နှင့် စမ်းသပ်မှုအမှားကို မှတ်တမ်းတင်ရန် (R-squared၊ RMSE နှင့် MAE ကိုသုံး၍)။ အခွဲတစ်ခုစီကို စမ်းသပ်မှုအဖြစ် အသုံးပြုပြီးသည်အထိ ဤလုပ်ငန်းစဉ်ကို ထပ်လုပ်ပါသည် ထို့နောက် ကျွန်ုပ်တို့သည် စမ်းသပ်မှုအမှား 5 ခု၏ ပျမ်းမျှအား တွက်ချက်ပါသည်

 #load dplyr library used for data manipulation
library(dplyr)

#load caret library used for partitioning data into training and test set
library(caret)

#make this example reproducible
set.seed(0)

#define the dataset
data <- mtcars[, c("mpg", "disp", "hp", "drat")]

#define the number of subsets (or "folds") to use
train_control <- trainControl(method = "cv", number = 5)

#train the model
model <- train(mpg ~ ., data = data, method = "lm", trControl = train_control)

#Summarize the results
print(model)

#Linear Regression 
#
#32 samples
#3 predictor
#
#No pre-processing
#Resampling: Cross-Validated (5 fold) 
#Summary of sample sizes: 26, 25, 26, 25, 26 
#Resampling results:
#
# RMSE Rsquared MAE     
#3.095501 0.7661981 2.467427
#
#Tuning parameter 'intercept' was held constant at a value of TRUE

ဤချဉ်းကပ်မှု၏ အားသာချက်များနှင့် အားနည်းချက်များ

k-fold cross-validation ချဉ်းကပ်မှု၏ အားသာချက်မှာ validation set approach ကို အကြိမ်တိုင်းတွင် မတူညီသော data အပိုင်းများကို အသုံးပြု၍ မော်ဒယ်ကို အကြိမ်ပေါင်းများစွာ တည်ဆောက်ပေးသောကြောင့် မော်ဒယ်ကို တည်ဆောက်ရာတွင် အရေးကြီးသော data များကို ချန်လှပ်ရန် အခွင့်အလမ်း မလိုအပ်ပါ။

ဤချဉ်းကပ်မှု၏ အနှစ်သာရအပိုင်းမှာ k အတွက် အသုံးပြုရမည့်တန်ဖိုးကို ရွေးချယ်ခြင်းဖြစ်သည်၊ ဆိုလိုသည်မှာ၊ ဒေတာကို ပိုင်းခြားရန် subset အရေအတွက်များဖြစ်သည်ယေဘူယျအားဖြင့်၊ နိမ့်သော k တန်ဖိုးများသည် ပိုမိုမြင့်မားသောဘက်လိုက်မှုများသို့ ဦးတည်စေသည်၊ သို့သော် k တန်ဖိုးများသည် မြင့်မား သောဘက်လိုက်မှုသို့ ဦးတည်သော်လည်း ကွဲပြားမှုပိုမိုမြင့်မားစေသည်။

လက်တွေ့တွင်၊ k သည် ယေဘုယျအားဖြင့် 5 သို့မဟုတ် 10 နှင့် ညီမျှစေရန် ရွေးချယ်သည်၊ အကြောင်းမှာ ဤ အစုခွဲများ၏ အရေအတွက်သည် ဘက်လိုက်မှုများနှင့် အလွန်အကျွံ ကွဲပြားမှုကို တပြိုင်နက်တည်း ရှောင်ရှားနိုင်သောကြောင့် ဖြစ်သည်။

Leave One Out Cross-Validation (LOOCV) ရေးပါတယ်။

LOOCV ချဉ်းကပ်မှုသည် အောက်ပါအတိုင်း လုပ်ဆောင်သည်။

1. ဒေတာအတွဲတွင် မှတ်သားမှုတစ်ခုတည်းကို အသုံးပြု၍ မော်ဒယ်ကို တည်ဆောက်ပါ။
2. ပျောက်ဆုံးနေသော စူးစမ်းမှု၏တန်ဖိုးကို ခန့်မှန်းရန် မော်ဒယ်ကို အသုံးပြုပါ။ ဤခန့်မှန်းချက်ကို စမ်းသပ်ခြင်း၏ အမှားကို မှတ်တမ်းတင်ပါ။
3. ဒေတာအတွဲရှိ စောင့်ကြည့်မှုတစ်ခုစီအတွက် ဤလုပ်ငန်းစဉ်ကို ပြန်လုပ်ပါ။
4. ခန့်မှန်းမှုအမှားများအားလုံးကို ပျမ်းမျှအားဖြင့် မော်ဒယ်၏အရည်အသွေးကို တိုင်းတာပါ။

ဥပမာ

အောက်ဖော်ပြပါ ဥပမာသည် ယခင်နမူနာများတွင် အသုံးပြုခဲ့သည့် တူညီသောဒေတာအတွဲအတွက် LOOCV ကိုအသုံးပြုပုံကို သရုပ်ပြသည်-

 #load dplyr library used for data manipulation
library(dplyr)

#load caret library used for partitioning data into training and test set
library(caret)

#make this example reproducible
set.seed(0)

#define the dataset
data <- mtcars[, c("mpg", "disp", "hp", "drat")]

#specify that we want to use LOOCV
train_control <- trainControl( method = "LOOCV" )

#train the model
model <- train(mpg ~ ., data = data, method = "lm", trControl = train_control)

#summarize the results
print(model)

#Linear Regression 
#
#32 samples
#3 predictor
#
#No pre-processing
#Resampling: Leave-One-Out Cross-Validation 
#Summary of sample sizes: 31, 31, 31, 31, 31, 31, ... 
#Resampling results:
#
# RMSE Rsquared MAE     
#3.168763 0.7170704 2.503544
#
#Tuning parameter 'intercept' was held constant at a value of TRUE

ဤချဉ်းကပ်မှု၏ အားသာချက်များနှင့် အားနည်းချက်များ

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

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

ထပ်ခါတလဲလဲ k-fold cross-validation ရေးပါတယ်။

k-fold cross-validation ကို အကြိမ်များစွာ လုပ်ဆောင်ရုံဖြင့် ထပ်ခါတလဲလဲ k-fold cross-validation ကို လုပ်ဆောင်နိုင်ပါသည်။ နောက်ဆုံးအမှားသည် ထပ်ခါတလဲလဲအကြိမ်အရေအတွက်၏ ပျမ်းမျှအမှားဖြစ်သည်။

အောက်ပါဥပမာသည် 5 ကြိမ်အပြန်အလှန်အတည်ပြုခြင်းကိုလုပ်ဆောင်သည်၊ 4 ကြိမ်ထပ်ခါတလဲလဲလုပ်ဆောင်သည်

 #load dplyr library used for data manipulation
library(dplyr)

#load caret library used for partitioning data into training and test set
library(caret)

#make this example reproducible
set.seed(0)

#define the dataset
data <- mtcars[, c("mpg", "disp", "hp", "drat")]

#define the number of subsets to use and number of times to repeat k-fold CV
train_control <- trainControl(method = "repeatedcv", number = 5, repeats = 4 )

#train the model
model <- train(mpg ~ ., data = data, method = "lm", trControl = train_control)

#summarize the results
print(model)

#Linear Regression 
#
#32 samples
#3 predictor
#
#No pre-processing
#Resampling: Cross-Validated (5 fold, repeated 4 times) 
#Summary of sample sizes: 26, 25, 26, 25, 26, 25, ... 
#Resampling results:
#
# RMSE Rsquared MAE     
#3.176339 0.7909337 2.559131
#
#Tuning parameter 'intercept' was held constant at a value of TRUE

ဤချဉ်းကပ်မှု၏ အားသာချက်များနှင့် အားနည်းချက်များ

ထပ်ခါတလဲလဲ k-fold cross-validation ချဉ်းကပ်မှု၏ အားသာချက်မှာ ထပ်ခါတလဲလဲတစ်ခုစီအတွက် data များကို အနည်းငယ်ကွဲပြားသော subset များအဖြစ် ခွဲသွားမည်ဖြစ်ပြီး၊ ၎င်းသည် မော်ဒယ်၏ခန့်မှန်းချက်အမှားကို ပို၍ပင် ဘက်မလိုက်ဘဲ ခန့်မှန်းပေးသင့်သည်။ ဤချဉ်းကပ်မှု၏အားနည်းချက်မှာ ကျွန်ုပ်တို့သည် မော်ဒယ် အံဝင်ခွင်ကျဖြစ်စဉ်ကို အကြိမ်ပေါင်းများစွာ ထပ်လုပ်ရသောကြောင့် ၎င်းသည် တွက်ချက်မှုအရ ပြင်းထန်နိုင်သောကြောင့်ဖြစ်သည်။

Cross validation တွင် ခေါက်အရေအတွက်ကို ရွေးချယ်နည်း

Cross-validation ၏ပုဂ္ဂလဓိဋ္ဌာန်အကျဆုံးအပိုင်းသည် မည်မျှအဆ (ဆိုလိုသည်မှာ အစုခွဲများ) ကိုအသုံးပြုရန် ဆုံးဖြတ်ခြင်းဖြစ်ပါသည်။ ယေဘုယျအားဖြင့်၊ ခေါက်အရေအတွက် သေးငယ်လေ၊ အမှားခန့်မှန်းချက် ဘက်လိုက်လေလေ၊ သို့သော် ၎င်းတို့သည် ကိန်းရှင်နည်းလေဖြစ်သည်။ အပြန်အလှန်အားဖြင့်၊ ခေါက်အရေအတွက်များလေ၊ အမှားခန့်မှန်းချက် ဘက်လိုက်မှုနည်းလေ၊ သို့သော် ၎င်းတို့သည် ကွဲပြားလေလေဖြစ်သည်။

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

လက်တွေ့တွင်၊ အပြန်အလှန်အတည်ပြုခြင်းကို အများအားဖြင့် 5 သို့မဟုတ် 10 ခေါက်ဖြင့်လုပ်ဆောင်သည်၊ အကြောင်းမှာ ၎င်းသည် ကွဲပြားခြင်းနှင့် ဘက်လိုက်မှုကြားတွင် ကောင်းမွန်သောချိန်ခွင်လျှာကိုပေးသည့်အပြင် တွက်ချက်မှုအရလည်း ထိရောက်သည်။

အပြန်အလှန်စစ်ဆေးခြင်းလုပ်ဆောင်ပြီးနောက် မော်ဒယ်ကိုရွေးချယ်နည်း

မော်ဒယ်တစ်ခု၏ ခန့်မှန်းချက်အမှားအယွင်းကို အကဲဖြတ်ရန် ဖြတ်ကျော်စစ်ဆေးခြင်းကို အသုံးပြုသည်။ ၎င်းသည် မည်သည့်မော်ဒယ်တွင် အနိမ့်ဆုံး ခန့်မှန်းချက်အမှားပါရှိသည် (RMSE၊ R-squared စသည်ဖြင့်) ကို မီးမောင်းထိုးပြခြင်းဖြင့် ကျွန်ုပ်တို့အား ကွဲပြားသော မော်ဒယ်နှစ်ခုကြားတွင် ရွေးချယ်နိုင်စေရန် ကူညီပေးနိုင်ပါသည်။

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

ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့သည် မတူညီသော ဆုတ်ယုတ်မှုပုံစံနှစ်ခုကြားတွင် မည်သည့်မော်ဒယ်ကို အသုံးပြုရန် ပိုကောင်းသည်ကို ဆုံးဖြတ်ရန် 5-fold cross validation ကို အသုံးပြုနိုင်ပါသည်။ မည်သို့ပင်ဆိုစေကာမူ၊ မည်သည့်မော်ဒယ်ကိုအသုံးပြုရန်အကောင်းဆုံးဖြစ်သည်ကိုကျွန်ုပ်တို့ဖော်ထုတ်ပြီးသည်နှင့်ကျွန်ုပ်တို့သည်နောက်ဆုံးမော်ဒယ်နှင့်ကိုက်ညီရန်ဒေတာ အားလုံးကို အသုံးပြုပါသည်။ တစ်နည်းဆိုရသော်၊ နောက်ဆုံးပုံစံကို တည်ဆောက်သည့်အခါ ခေါက်များကို မမေ့ပါ။

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

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