Appendix {#appendix}

Integrated Learners {#list-learners}

translate_types = function(x) {
  r_types = mlr_reflections$task_feature_types
  p_types = names(mlr_reflections$task_feature_types)
  factor(mlr3misc::map_values(x, r_types, p_types), levels = p_types)
}

requireNamespace("mlr3learners")
requireNamespace("mlr3proba")
d = as.data.table(mlr_learners)

# Display the feature types in title case.
d$feature_types = vapply(d$feature_types, function(x) {
  paste0(translate_types(x), collapse = ", ")
}, character(1))

# Display package name, or None, if no package is required.
d$packages = mlr3misc::map_chr(d$packages, function(x) {
  ifelse(length(x) == 0, "", paste0(sapply(sort(x), cran_pkg), collapse = ", "))
  })

# Display properties in title case. Also remove _ and replace it with space.
d$properties = mlr3misc::map_chr(d$properties, function(x) {
  paste0(tools::toTitleCase(gsub("_", " ", x)), collapse = ", ")
})

d$predict_types = mlr3misc::map_chr(d$predict_types, function(x) {
  paste0(x, collapse = ", ")
})

knitr::kable(d, col.names = c("Id", "Feature Types", "Required packages", "Properties", "Predict Types"))

Integrated Performance Measures {#list-measures}

Also see the overview on the website of r cran_pkg("mlr3measures").

d = as.data.table(mlr_measures)

d$packages = mlr3misc::map_chr(d$packages, function(x) {
  ifelse(length(x) == 0, "", paste0(sapply(sort(x), cran_pkg), collapse = ", "))
})

d$task_properties = mlr3misc::map_chr(d$task_properties, paste0, collapse = ", ")

setcolorder(d, c("key", "task_type", "packages", "task_properties", "predict_type"))
knitr::kable(d, col.names = c("Id", "Task Type", "Required packages", "Task Properties", "Predict Type"))

Integrated Filter Methods {#list-filters}

Standalone filter methods {#fs-filter-list}

library(mlr3filters)
library(magrittr)
as.data.frame(as.data.table(mlr_filters)) %>%
  dplyr::mutate(task_type = as.character(task_type)) %>%
  dplyr::mutate(feature_types = as.character(feature_types)) %>%

  dplyr::mutate(task_type = dplyr::recode(task_type, 'c("classif", "regr")' = 'Classif & Regr')) %>%
  dplyr::mutate(task_type = dplyr::recode(task_type,
    'classif' = 'Classif')) %>%
  dplyr::mutate(task_type = dplyr::recode(task_type,
    'regr' = 'Regr')) %>%
  dplyr::mutate(feature_types = dplyr::recode(feature_types,
    'c(\"integer\", \"numeric\", \"factor\", \"ordered\")' = 'Integer, Numeric, Factor, Ordered')) %>%
  dplyr::mutate(feature_types = dplyr::recode(feature_types,
    'c(\"integer\", \"numeric\")' = 'Integer, Numeric')) %>%

  dplyr::arrange(desc(task_type)) %>%
  dplyr::mutate(packages = kableExtra::cell_spec(
    packages,  italic = TRUE)) %>%
  dplyr::rename(Package = packages, Features = feature_types,
    Task = task_type, Name = key) %>%
  kableExtra::kable(escape = T) %>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover",
    "condensed", "responsive"),
    font_size = 12)

Algorithms With Embedded Filter Methods {#fs-filter-embedded-list}

as.data.table(mlr_learners)[mlr3misc::map_lgl(properties, is.element, el = "importance"), key]


nguyenngocbinh/mlr3_book_vi documentation built on Jan. 23, 2020, 12:28 p.m.