এতে অনেকগুলি বিকল্প উপলব্ধ R
। দেখার জন্য একটি দুর্দান্ত জায়গা হ'ল caret
প্যাকেজ যা অন্যান্য অনেক প্যাকেজ এবং বিকল্পগুলির জন্য একটি দুর্দান্ত ইন্টারফেস সরবরাহ করে। আপনি এখানে ওয়েবসাইট একবার দেখে নিতে পারেন । সেখানে অনেকগুলি বিকল্প রয়েছে, তবে আমি একটি বর্ণনা করব।
এখানে R
"এমটিকার্স" ডেটাসেটগুলি অন্তর্নির্মিত (নীচে দেখানো হয়েছে) ব্যবহার করে একটি সাধারণ ফিল্টার ব্যবহারের উদাহরণ ।
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
এখন কিছু কোড সেটআপ (প্যাকেজ লোড করা ইত্যাদি):
# setup a parallel environment
library(doParallel)
cl <- makeCluster(2) # number of cores to use
registerDoParallel(cl)
library(caret)
এবং আমরা ভেরিয়েবলগুলি নির্বাচন করতে একটি সাধারণ মডেল ফিট করতে পারি:
fit1 <- sbf(mtcars[, -1], mtcars[, 1],
sbfControl =
sbfControl(functions = rfSBF, method = "repeatedcv", repeats = 10)
)
ফলাফলগুলি দেখতে, আমরা পেয়েছি:
fit1
Selection By Filter
Outer resampling method: Cross-Validated (10 fold, repeated 10 times)
Resampling performance:
RMSE Rsquared RMSESD RsquaredSD
2.266 0.9224 0.8666 0.1523
Using the training set, 7 variables were selected:
cyl, disp, hp, wt, vs...
During resampling, the top 5 selected variables (out of a possible 9):
am (100%), cyl (100%), disp (100%), gear (100%), vs (100%)
On average, 7 variables were selected (min = 5, max = 9)
অবশেষে আমরা fit1$optVariables
ফলাফলের বিরুদ্ধে বাছাই করা ভেরিয়েবলগুলি প্লট করতে পারি mpg
:
library(ggplot2)
library(gridExtra)
do.call(grid.arrange,
lapply(fit1$optVariables, function(v) {
ggplot(mtcars, aes_string(x = v, y = "mpg")) +
geom_jitter()
}))
এই গ্রাফের ফলাফল: