Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Filter class #32

Merged
merged 23 commits into from
Jun 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,4 @@ env:
global:
- _R_CHECK_FORCE_SUGGESTS_=false
- MAKEFLAGS="-j 2"
- BUILD_PKGDOWN=true
- _R_CHECK_TESTS_NLINES_=0
6 changes: 4 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ BugReports: https://github.com/mlr-org/mlr3featsel/issues
Depends:
R (>= 3.1.0)
Imports:
backports,
checkmate,
data.table,
mlr3,
Expand Down Expand Up @@ -57,7 +58,8 @@ NeedsCompilation: no
Roxygen: list(markdown = TRUE)
RoxygenNote: 6.1.1
Collate:
'Filter.R'
'mlr_filters.R'
'FilterResult.R'
'FilterAUC.R'
'FilterCMIM.R'
'FilterDISR.R'
Expand All @@ -74,7 +76,7 @@ Collate:
'FilterSymmetricalUncertainty.R'
'FilterVariableImportance.R'
'FilterVariance.R'
'helper_expectations.R'
'helpers.R'
'mlr_filters.R'
'reexports.R'
'zzz.R'
6 changes: 3 additions & 3 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Generated by roxygen2: do not edit by hand

S3method(as.data.table,DictionaryFilter)
S3method(as.data.table,Filter)
export(Filter)
S3method(as.data.table,DictionaryFilterResult)
S3method(as.data.table,FilterResult)
export(FilterAUC)
export(FilterCMIM)
export(FilterDISR)
Expand All @@ -16,6 +15,7 @@ export(FilterMIM)
export(FilterMRMR)
export(FilterNJMIM)
export(FilterRankCorrelation)
export(FilterResult)
export(FilterSymmetricalUncertainty)
export(FilterVariableImportance)
export(FilterVariance)
Expand Down
8 changes: 5 additions & 3 deletions R/FilterAUC.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title AUC Filter
#'
#' @aliases mlr_filters_auc
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("sonar")
#' filter = FilterAUC$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterAUC = R6Class("FilterAUC", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterAUC = R6Class("FilterAUC", inherit = FilterResult,
public = list(
initialize = function(id = "auc") {
super$initialize(
Expand All @@ -37,3 +37,5 @@ FilterAUC = R6Class("FilterAUC", inherit = Filter,
}
)
)

register_filter("auc", FilterAUC)
8 changes: 5 additions & 3 deletions R/FilterCMIM.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Minimal Conditional Mutual Information Filter
#'
#' @aliases mlr_filters_cmim
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("iris")
#' filter = FilterCMIM$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterCMIM = R6Class("FilterCMIM", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterCMIM = R6Class("FilterCMIM", inherit = FilterResult,
public = list(
initialize = function(id = "cmim") {
super$initialize(
Expand All @@ -35,3 +35,5 @@ FilterCMIM = R6Class("FilterCMIM", inherit = Filter,
}
)
)

register_filter("cmim", FilterCMIM)
8 changes: 5 additions & 3 deletions R/FilterDISR.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Double Input Symmetrical Relevance Filter
#'
#' @aliases mlr_filters_disr
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("iris")
#' filter = FilterDISR$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterDISR = R6Class("FilterDISR", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterDISR = R6Class("FilterDISR", inherit = FilterResult,
public = list(
initialize = function(id = "disr") {
super$initialize(
Expand All @@ -35,3 +35,5 @@ FilterDISR = R6Class("FilterDISR", inherit = Filter,
}
)
)

register_filter("disr", FilterDISR)
8 changes: 5 additions & 3 deletions R/FilterGainRatio.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Gain Ratio Filter
#'
#' @aliases mlr_filters_gain_ratio
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -15,8 +15,8 @@
#' task = mlr3::mlr_tasks$get("sonar")
#' filter = FilterGainRatio$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterGainRatio = R6Class("FilterGainRatio", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterGainRatio = R6Class("FilterGainRatio", inherit = FilterResult,
public = list(
initialize = function(id = "gain_ratio") {
super$initialize(
Expand All @@ -38,3 +38,5 @@ FilterGainRatio = R6Class("FilterGainRatio", inherit = Filter,
}
)
)

register_filter("gain_ratio", FilterGainRatio)
8 changes: 5 additions & 3 deletions R/FilterInformationGain.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Information Gain Filter
#'
#' @aliases mlr_filters_information_gain
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -15,8 +15,8 @@
#' task = mlr3::mlr_tasks$get("sonar")
#' filter = FilterInformationGain$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterInformationGain = R6Class("FilterInformationGain", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterInformationGain = R6Class("FilterInformationGain", inherit = FilterResult,
public = list(
initialize = function(id = "information_gain") {
super$initialize(
Expand All @@ -37,3 +37,5 @@ FilterInformationGain = R6Class("FilterInformationGain", inherit = Filter,
}
)
)

register_filter("information_gain", FilterInformationGain)
8 changes: 5 additions & 3 deletions R/FilterJMI.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Joint Mutual Information Filter
#'
#' @aliases mlr_filters_jmi
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("iris")
#' filter = FilterJMI$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterJMI = R6Class("FilterJMI", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterJMI = R6Class("FilterJMI", inherit = FilterResult,
public = list(
initialize = function(id = "jmi") {
super$initialize(
Expand All @@ -35,3 +35,5 @@ FilterJMI = R6Class("FilterJMI", inherit = Filter,
}
)
)

register_filter("jmi", FilterJMI)
6 changes: 3 additions & 3 deletions R/FilterJMIM.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Minimal Joint Mutual Information Maximisation Filter
#'
#' @aliases mlr_filters_jmim
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("iris")
#' filter = FilterJMIM$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterJMIM = R6Class("FilterJMIM", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterJMIM = R6Class("FilterJMIM", inherit = FilterResult,
public = list(
initialize = function(id = "jmim") {
super$initialize(
Expand Down
8 changes: 5 additions & 3 deletions R/FilterKruskalTest.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Kruskal-Wallis Test Filter
#'
#' @aliases mlr_filters_kruskal_test
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("iris")
#' filter = FilterKruskalTest$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterKruskalTest = R6Class("FilterKruskalTest", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterKruskalTest = R6Class("FilterKruskalTest", inherit = FilterResult,
public = list(
initialize = function(id = "kruskal_test") {
super$initialize(
Expand All @@ -38,3 +38,5 @@ FilterKruskalTest = R6Class("FilterKruskalTest", inherit = Filter,
}
)
)

register_filter("kruskal_test", FilterKruskalTest)
8 changes: 5 additions & 3 deletions R/FilterLinearCorrelation.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Linear Correlation Filter
#'
#' @aliases mlr_filters_linear_correlation
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("mtcars")
#' filter = FilterLinearCorrelation$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterLinearCorrelation = R6Class("FilterLinearCorrelation", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterLinearCorrelation = R6Class("FilterLinearCorrelation", inherit = FilterResult,
public = list(
initialize = function(id = "linear_correlation") {
super$initialize(
Expand All @@ -37,3 +37,5 @@ FilterLinearCorrelation = R6Class("FilterLinearCorrelation", inherit = Filter,
}
)
)

register_filter("linear_correlation", FilterLinearCorrelation)
8 changes: 5 additions & 3 deletions R/FilterMIM.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Conditional Mutual Information Based Feature Selection Filter
#'
#' @aliases mlr_filters_mim
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("iris")
#' filter = FilterMIM$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterMIM = R6Class("FilterMIM", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterMIM = R6Class("FilterMIM", inherit = FilterResult,
public = list(
initialize = function(id = "mim") {
super$initialize(
Expand All @@ -35,3 +35,5 @@ FilterMIM = R6Class("FilterMIM", inherit = Filter,
}
)
)

register_filter("mim", FilterMIM)
4 changes: 2 additions & 2 deletions R/FilterMRMR.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Minimum redundancy maximal relevancy filter
#'
#' @aliases mlr_filters_MRMR
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -15,7 +15,7 @@
#' filter = FilterMRMR$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterMRMR = R6Class("FilterMRMR", inherit = Filter,
FilterMRMR = R6Class("FilterMRMR", inherit = FilterResult,
public = list(
initialize = function(id = "MRMR") {
super$initialize(
Expand Down
8 changes: 5 additions & 3 deletions R/FilterNJMIM.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Minimal Normalised Joint Mutual Information Maximisation Filter
#'
#' @aliases mlr_filters_njmim
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("iris")
#' filter = FilterNJMIM$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterNJMIM = R6Class("FilterNJMIM", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterNJMIM = R6Class("FilterNJMIM", inherit = FilterResult,
public = list(
initialize = function(id = "njmim") {
super$initialize(
Expand All @@ -35,3 +35,5 @@ FilterNJMIM = R6Class("FilterNJMIM", inherit = Filter,
}
)
)

register_filter("njmim", FilterNJMIM)
8 changes: 5 additions & 3 deletions R/FilterRankCorrelation.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#' @title Rank Correlation Filter
#'
#' @aliases mlr_filters_rank_correlation
#' @format [R6::R6Class] inheriting from [Filter].
#' @format [R6::R6Class] inheriting from [FilterResult].
#' @include Filter.R
#'
#' @description
Expand All @@ -14,8 +14,8 @@
#' task = mlr3::mlr_tasks$get("mtcars")
#' filter = FilterRankCorrelation$new()
#' filter$calculate(task)
#' head(as.data.table(filter), 3)
FilterRankCorrelation = R6Class("FilterRankCorrelation", inherit = Filter,
#' as.data.table(filter)[1:3]
FilterRankCorrelation = R6Class("FilterRankCorrelation", inherit = FilterResult,
public = list(
initialize = function(id = "rank_correlation") {
super$initialize(
Expand All @@ -37,3 +37,5 @@ FilterRankCorrelation = R6Class("FilterRankCorrelation", inherit = Filter,
}
)
)

register_filter("rank_correlation", FilterRankCorrelation)
Loading