如何在R&C的插入符号包中应用基于过滤器的特征选择进行逻辑回归?

时间:2015-06-03 11:30:14

标签: r r-caret feature-selection

我正在尝试在caret包中应用基于过滤器的功能选择以进行逻辑回归。我成功地将sbf()函数用于随机林和LDA模型(分别使用rfSBFldaSBF)。

我修改lmSBF的方式如下:

# custom lmSBF
logisticRegressionWithPvalues <- lmSBF
logisticRegressionWithPvalues$score <- pScore
logisticRegressionWithPvalues$summary <- fiveStats
logisticRegressionWithPvalues$filter <- pCorrection
logisticRegressionWithPvalues$fit <- glmFit

# my training control parameters for sbf (selection by filter)
myTrainControlSBF = sbfControl(method = "cv", 
                               number = 10, 
                               saveDetails = TRUE, 
                               verbose = FALSE, 
                               functions = logisticRegressionWithPvalues)
# fit the logistic regression model
logisticRegressionModelWithSBF <- sbf(x = input_predictors, 
                                      y = input_labels, 
                                      sbfControl = myTrainControlSBF)

这里,glmFit函数(如上所述)如下:

# fit function for logistic regression
glmFit <- function(x, y, ...) {
    if (ncol(x) > 0) {
        tmp <- as.data.frame(x)
        tmp$y <- y
        glm(y ~ ., data = tmp, family = binomial)
    }
    else nullModel(y = y)
}

但是在调用logisticRegressionModelWithSBF时我收到的错误是:

Error in { : task 1 failed - "inputs must be factors"

我做错了什么?

0 个答案:

没有答案