Я только начал экспериментировать с пакетом 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'))