Feature Selection Wrapper
Feature selection wrappers can be found in the mlr3fselect packages. The goal is to find the best subset of features with respect to a performance measure
in an iterative fashion.
Example Usage
Run a sequential feature selection
on the Pima Indian Diabetes
data set.
library (mlr3verse)
# retrieve task
task = tsk ("pima" )
# load learner
learner = lrn ("classif.rpart" )
# feature selection on the pima indians diabetes data set
instance = fselect (
fselector = fs ("sequential" ),
task = task,
learner = learner,
resampling = rsmp ("holdout" ),
measure = msr ("classif.ce" )
)
# best performing feature subset
instance$ result
age glucose insulin mass pedigree pregnant pressure triceps
<lgcl> <lgcl> <lgcl> <lgcl> <lgcl> <lgcl> <lgcl> <lgcl>
1: TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
features n_features classif.ce
<list> <int> <num>
1: age,glucose,insulin,mass,pedigree 5 0.2070312
# subset the task and fit the final model
task$ select (instance$ result_feature_set)
learner$ train (task)
print (learner)
── <LearnerClassifRpart> (classif.rpart): Classification Tree ──────────────────
• Model: rpart
• Parameters: xval=0
• Packages: mlr3 and rpart
• Predict Types: [response] and prob
• Feature Types: logical, integer, numeric, factor, and ordered
• Encapsulation: none (fallback: -)
• Properties: importance, missings, multiclass, selected_features, twoclass,
and weights
• Other settings: use_weights = 'use'