में कई विकल्प उपलब्ध हैं R
। देखने के लिए एक अच्छी जगह caret
पैकेज है जो कई अन्य पैकेज और विकल्पों को एक अच्छा इंटरफ़ेस प्रदान करता है। आप यहां वेबसाइट पर एक नज़र डाल सकते हैं । वहाँ कई विकल्प हैं, लेकिन मैं एक का वर्णन करूँगा।
यहां R
"mtcars" डेटासेट (नीचे दिखाया गया है) में निर्मित एक सरल फिल्टर का उपयोग करने का एक उदाहरण है ।
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()
}))
इस ग्राफ में परिणाम: