আমি এর মাধ্যমে গ্রেডিয়েন্ট বুস্টিং মেশিন অ্যালগরিদম নিয়ে পরীক্ষা করছি caret
আর। প্যাকেজটির ing
একটি ছোট কলেজ ভর্তি ডেটাসেট ব্যবহার করে, আমি নিম্নলিখিত কোডটি চালিয়েছি:
library(caret)
### Load admissions dataset. ###
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
### Create yes/no levels for admission. ###
mydata$admit_factor[mydata$admit==0] <- "no"
mydata$admit_factor[mydata$admit==1] <- "yes"
### Gradient boosting machine algorithm. ###
set.seed(123)
fitControl <- trainControl(method = 'cv', number = 5, summaryFunction=defaultSummary)
grid <- expand.grid(n.trees = seq(5000,1000000,5000), interaction.depth = 2, shrinkage = .001, n.minobsinnode = 20)
fit.gbm <- train(as.factor(admit_factor) ~ . - admit, data=mydata, method = 'gbm', trControl=fitControl, tuneGrid=grid, metric='Accuracy')
plot(fit.gbm)
এবং আমার অবাক করে দিয়েছি যে মডেলটির ক্রস-বৈধকরণের নির্ভুলতা বৃদ্ধির পুনরাবৃত্তির সংখ্যা বৃদ্ধি হওয়ার পরিবর্তে বৃদ্ধি পাওয়ার পরিবর্তে হ্রাস পেয়ে প্রায়। 450,000 পুনরাবৃত্তিতে প্রায় .59 এর সর্বনিম্ন নির্ভুলতায় পৌঁছেছে।
আমি কি ভুলভাবে জিবিএম অ্যালগরিদম প্রয়োগ করেছি?
সম্পাদনা: আন্ডারমিনারের পরামর্শ অনুসরণ করে, আমি উপরের caret
কোডটি পুনরায় চালু করেছি তবে 100 থেকে 5,000 চালানোর পুনরাবৃত্তি চালানোর দিকে মনোনিবেশ করেছি :
set.seed(123)
fitControl <- trainControl(method = 'cv', number = 5, summaryFunction=defaultSummary)
grid <- expand.grid(n.trees = seq(100,5000,100), interaction.depth = 2, shrinkage = .001, n.minobsinnode = 20)
fit.gbm <- train(as.factor(admit_factor) ~ . - admit, data=mydata, method = 'gbm', trControl=fitControl, tuneGrid=grid, metric='Accuracy')
plot(fit.gbm)
ফলস্বরূপ প্লটটি দেখায় যে নির্ভুলতা প্রকৃতপক্ষে। 1,800 পুনরাবৃত্তিতে প্রায় .705 এ পৌঁছায়:
উদ্ভট বিষয়টি হ'ল সঠিকতাটি 70 .70 এ মালভূমি হয়নি তবে পরিবর্তে 5,000 টি পুনরাবৃত্তি অনুসরণ করে প্রত্যাখ্যান হয়েছিল।