Learn R Programming

⚠️There's a newer version (0.8.0) of this package.Take me there.

mlr3filters

mlr3filters adds filters, feature selection methods and embedded feature selection methods of algorithms to mlr3.

Installation

remotes::install_github("mlr-org/mlr3filters")

Filters

Filter Example

library("mlr3")
library("mlr3filters")

task = tsk("pima")
filter = flt("auc")
as.data.table(filter$calculate(task))
##     feature      score
## 1:  glucose 0.28961567
## 2:      age 0.18694030
## 3:     mass 0.17702985
## 4: pregnant 0.11951493
## 5: pressure 0.10810075
## 6: pedigree 0.10620149
## 7:  triceps 0.10125373
## 8:  insulin 0.07975746

Implemented Filters

NameTask TypeFeature TypesPackage
anovaClassifInteger, Numericstats
aucClassifInteger, NumericMetrics
carscoreRegrNumericcare
cmimClassif & RegrInteger, Numeric, Factor, Orderedpraznik
correlationRegrInteger, Numericstats
disrClassifInteger, Numeric, Factor, Orderedpraznik
importanceUniversalLogical, Integer, Numeric, Character, Factor, Orderedrpart
information_gainClassif & RegrInteger, Numeric, Factor, OrderedFSelectorRcpp
jmiClassifInteger, Numeric, Factor, Orderedpraznik
jmimClassifInteger, Numeric, Factor, Orderedpraznik
kruskal_testClassifInteger, Numericstats
mimClassifInteger, Numeric, Factor, Orderedpraznik
mrmrClassif & RegrNumeric, Factor, Integer, Character, Logicalpraznik
njmimClassifInteger, Numeric, Factor, Orderedpraznik
performanceUniversalLogical, Integer, Numeric, Character, Factor, Orderedrpart
varianceClassif & RegrInteger, Numericstats

Variable Importance Filters

The following learners allow the extraction of variable importance and therefore are supported by FilterImportance:

## [1] "classif.featureless" "classif.ranger"      "classif.rpart"      
## [4] "classif.xgboost"     "regr.featureless"    "regr.ranger"        
## [7] "regr.rpart"          "regr.xgboost"

If your learner is not listed here but capable of extracting variable importance from the fitted model, the reason is most likely that it is not yet integrated in mlr3learners or mlr3extralearners. Please open an issue so we can add your package.

Some learners need to have their variable importance measure “activated” during learner creation. For example, to use the “impurity” measure of Random Forest via the ranger package:

task = tsk("iris")
lrn = lrn("classif.ranger")
lrn$param_set$values = list(importance = "impurity")

filter = flt("importance", learner = lrn)
filter$calculate(task)
head(as.data.table(filter), 3)
##         feature     score
## 1:  Petal.Width 45.865850
## 2: Petal.Length 41.033283
## 3: Sepal.Length  9.929504

Performance Filter

FilterPerformance is a univariate filter method which calls resample() with every predictor variable in the dataset and ranks the final outcome using the supplied measure. Any learner can be passed to this filter with classif.rpart being the default. Of course, also regression learners can be passed if the task is of type “regr”.

Copy Link

Version

Install

install.packages('mlr3filters')

Monthly Downloads

2,944

Version

0.1.0

License

LGPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Patrick Schratz

Last Published

September 4th, 2019

Functions in mlr3filters (0.1.0)

FilterAnova

ANOVA F-Test Filter
FilterDISR

Double Input Symmetrical Relevance Filter
FilterInformationGain

Information Gain Filter
FilterJMI

Joint Mutual Information Filter
FilterJMIM

Minimal Joint Mutual Information Maximisation Filter
as.data.table

FilterVariance

Variance Filter
FilterKruskalTest

Kruskal-Wallis Test Filter
mlr_filters

Dictionary of Filters
flt

Syntactic Sugar for Filter Construction
mlr3filters-package

mlr3filters: Filter Based Feature Selection for 'mlr3'
Filter

Filter Base Class
FilterNJMIM

Minimal Normalised Joint Mutual Information Maximisation Filter
FilterAUC

AUC Filter
FilterPerformance

Predictive Performance Filter
FilterMIM

Conditional Mutual Information Based Feature Selection Filter
FilterMRMR

Minimum redundancy maximal relevancy filter
FilterCorrelation

Correlation Filter
FilterCMIM

Minimal Conditional Mutual Information Filter
FilterImportance

Filter for Embedded Feature Selection via Variable Importance
FilterCarScore

Conditional Mutual Information Based Feature Selection Filter