Передача аргумента типа данных для выбора функции в пакете mlr - PullRequest
0 голосов
/ 10 мая 2018

Я только начал экспериментировать с пакетом mlr, и мне нравится легкость обучения моделей и все другие вещи, которые он может сделать.

Однако я застрял в разделе feature selection, который является последней частью этого кода. Я собираюсь применить метод variance к generateFilterValuesData(), и я знаю, что дисперсию можно применять только к числовым значениям, и поэтому я пытаюсь выяснить, существует ли inbuilt parameter, который может разрешить подмножеству данных по типу данных и функция затем может быть применена к задаче ниже.

library(data.table)
library(dplyr)
library(mlr)

data(BreastCancer, package = "mlbench")
df = BreastCancer

df$Id = NULL #unimportant feature
names(df) <- tolower(names(df))

cols = c(1:5)
df[,cols] = sapply(cols, function(x){df[,x] = as.integer(df[,x])})
glimpse(df)


classif.task= makeClassifTask(id = 'BreastCancer',data = df,
                              target = 'class')
#task is created
classif.task


#imputation
imp = impute(classif.task,cols = list(bare.nuclei = imputeMode()))

#feature importance
feature.imp = generateFilterValuesData(task = imp$task,
                          method = c('variance'))

1 Ответ

0 голосов
/ 10 мая 2018

Вы можете сделать это с помощью subsetTask, например,

subsetTask(iris.task, sapply(getTaskData(iris.task), is.numeric))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...