Skip to content

Commit 71d083a

Browse files
committed
update pkg linking logic
1 parent 9ebcb8b commit 71d083a

File tree

3 files changed

+41
-39
lines changed

3 files changed

+41
-39
lines changed

R/Filter.R

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,7 @@ Filter = R6Class("Filter",
109109
self$feature_types = assert_subset(
110110
feature_types,
111111
mlr_reflections$task_feature_types)
112-
self$packages = union(
113-
"mlr3filters",
114-
assert_character(packages, any.missing = FALSE, min.chars = 1L)
115-
)
112+
self$packages = assert_character(packages, any.missing = FALSE, min.chars = 1L)
116113
self$scores = set_names(numeric(), character())
117114
self$man = assert_string(man, na.ok = TRUE)
118115
},

README.Rmd

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,16 @@ capitalize = function(x) {
6060
x
6161
}
6262
63-
link_cran = function(x) {
64-
ifelse(x %in% getOption("defaultPackages"), x, sprintf("[%1$s](https://cran.r-project.org/package=%1$s)", x))
63+
link_cran = function(pkg) {
64+
mlr3misc::map(pkg, function(.x) {
65+
mlr3misc::map_chr(.x, function(.y) {
66+
if (unlist(.y) %in% getOption("defaultPackages")) {
67+
.y
68+
} else {
69+
sprintf("[%1$s](https://cran.r-project.org/package=%1$s)", .y)
70+
}
71+
})
72+
})
6573
}
6674
6775
tab = as.data.table(mlr_filters)[, !c("params", "task_properties")]
@@ -80,7 +88,7 @@ tab[Name == "performance", `Package` := ""]
8088
tab[Name == "permutation", `Package` := ""]
8189
tab[Name == "selected_features", `Package` := ""]
8290
tab[Name == "importance", `Package` := ""]
83-
knitr::kable(tab[order(Name)], escape = FALSE, format = "markdown")
91+
knitr::kable(tab[order(Name)], format = "markdown")
8492
```
8593

8694
### Variable Importance Filters
@@ -121,7 +129,7 @@ Of course, also regression learners can be passed if the task is of type "regr".
121129
In many cases filtering is only one step in the modeling pipeline.
122130
To select features based on filter values, one can use [`PipeOpFilter`](https://mlr3pipelines.mlr-org.com/reference/mlr_pipeops_filter.html) from [mlr3pipelines](https://github.com/mlr-org/mlr3pipelines).
123131

124-
```{r}
132+
```{r, results='hide'}
125133
library(mlr3pipelines)
126134
task = tsk("spam")
127135

README.md

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# mlr3filters
33

4-
Package website: [release](https://mlr3filters.mlr-org.com/) |
4+
Package website: [release](https://mlr3filters.mlr-org.com/) \|
55
[dev](https://mlr3filters.mlr-org.com/dev/)
66

77
{mlr3filters} adds feature selection filters to
@@ -54,7 +54,6 @@ as.data.table(filter$calculate(task))
5454
```
5555

5656
## feature score
57-
## <char> <num>
5857
## 1: glucose 0.2927906
5958
## 2: insulin 0.2316288
6059
## 3: mass 0.1870358
@@ -66,28 +65,29 @@ as.data.table(filter$calculate(task))
6665

6766
### Implemented Filters
6867

69-
| Name | label | Task Type | Feature Types | Package |
70-
| :----------------- | :------------------------------------------------------- | :------------- | :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |
71-
| anova | ANOVA F-Test | Classif | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) |
72-
| auc | Area Under the ROC Curve Score | Classif | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22mlr3measures%22\)) |
73-
| carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22\)) |
74-
| cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) |
75-
| correlation | Correlation | Regr | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) |
76-
| disr | Double Input Symmetrical Relevance | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) |
77-
| find\_correlation | Correlation-based Score | Classif & Regr | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) |
78-
| importance | Importance Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
79-
| information\_gain | Information Gain | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) |
80-
| jmi | Joint Mutual Information | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) |
81-
| jmim | Minimal Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) |
82-
| kruskal\_test | Kruskal-Wallis Test | Classif | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) |
83-
| mim | Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) |
84-
| mrmr | Minimum Redundancy Maximal Relevancy | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) |
85-
| njmim | Minimal Normalised Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) |
86-
| performance | Predictive Performance | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
87-
| permutation | Permutation Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
88-
| relief | RELIEF | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) |
89-
| selected\_features | Embedded Feature Selection | Classif | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
90-
| variance | Variance | NA | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) |
68+
| Name | label | Task Type | Feature Types | Package |
69+
|:------------------|:---------------------------------------------------------|:---------------|:---------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------|
70+
| anova | ANOVA F-Test | Classif | Integer, Numeric | stats |
71+
| auc | Area Under the ROC Curve Score | Classif | Integer, Numeric | [mlr3measures](https://cran.r-project.org/package=mlr3measures) |
72+
| carscore | Correlation-Adjusted coRrelation Score | Regr | Numeric | [care](https://cran.r-project.org/package=care) |
73+
| carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | Integer, Numeric | [carSurv](https://cran.r-project.org/package=carSurv) , [mlr3proba](https://cran.r-project.org/package=mlr3proba) |
74+
| cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) |
75+
| correlation | Correlation | Regr | Integer, Numeric | stats |
76+
| disr | Double Input Symmetrical Relevance | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) |
77+
| find_correlation | Correlation-based Score | Classif & Regr | Integer, Numeric | stats |
78+
| importance | Importance Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
79+
| information_gain | Information Gain | Classif & Regr | Integer, Numeric, Factor, Ordered | [FSelectorRcpp](https://cran.r-project.org/package=FSelectorRcpp) |
80+
| jmi | Joint Mutual Information | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) |
81+
| jmim | Minimal Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) |
82+
| kruskal_test | Kruskal-Wallis Test | Classif | Integer, Numeric | stats |
83+
| mim | Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) |
84+
| mrmr | Minimum Redundancy Maximal Relevancy | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) |
85+
| njmim | Minimal Normalised Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) |
86+
| performance | Predictive Performance | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
87+
| permutation | Permutation Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
88+
| relief | RELIEF | Classif & Regr | Integer, Numeric, Factor, Ordered | [FSelectorRcpp](https://cran.r-project.org/package=FSelectorRcpp) |
89+
| selected_features | Embedded Feature Selection | Classif | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | |
90+
| variance | Variance | NA | Integer, Numeric | stats |
9191

9292
### Variable Importance Filters
9393

@@ -119,11 +119,10 @@ filter$calculate(task)
119119
head(as.data.table(filter), 3)
120120
```
121121

122-
## feature score
123-
## <char> <num>
124-
## 1: Petal.Width 44.224198
125-
## 2: Petal.Length 43.303520
126-
## 3: Sepal.Length 9.618601
122+
## feature score
123+
## 1: Petal.Width 43.66496
124+
## 2: Petal.Length 43.10837
125+
## 3: Sepal.Length 10.21944
127126

128127
### Performance Filter
129128

@@ -151,5 +150,3 @@ graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>%
151150
learner = as_learner(graph)
152151
rr = resample(task, learner, rsmp("holdout"))
153152
```
154-
155-
## INFO [10:19:06.498] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1)

0 commit comments

Comments
 (0)