逐步多项式逻辑回归

时间:2019-02-18 15:39:09

标签: r

我正在R中进行逐步多项式逻辑回归, 使用multinom()包中的nnet函数和stepAIC()中的MASS函数。 尽管使用单独的逻辑回归(使用了我从Microsoft R Open安装中获得的优化的BLAS和LAPACK库的完全并行潜力)预先选择了一组变量, 我还有80多个变量可以使用。问题在于执行上述逐步多项式逻辑回归的时间消耗。

我已经尝试了插入符号包的并行backbend,但是逐步函数似乎并未将其视为有效方法。我喜欢这个软件包,因为它使我可以轻松地执行交叉验证。

有人知道如何使它工作吗?

以下是鸢尾花的示例:

> library(nnet)
> library(doParallel)
> library(caret)
> library(MASS)
> 
> data("iris")
> #iris
> 
> Nucleos <- makePSOCKcluster(4)
> registerDoParallel(Nucleos)
> ContEnt <- trainControl(method = "cv", number = 10)
> EducRLM <- train(Species ~ ., iris, method = "multinom", trControl = ContEnt, allowParallel = TRUE)
# weights:  18 (10 variable)
initial  value 164.791843 
iter  10 value 16.214880
iter  20 value 7.193408
iter  30 value 6.317798
iter  40 value 6.165829
iter  50 value 6.154233
iter  60 value 6.149611
iter  70 value 6.148398
iter  80 value 6.147275
final  value 6.147102 
converged
> 
> stepAIC(EducRLM, direction = "both")
Error in UseMethod("extractAIC") : 
  no applicable method for 'extractAIC' applied to an object of class "c('train', 'train.formula')"
In addition: Warning message:
In nobs.default(object, use.fallback = TRUE) :
  no 'nobs' method is available
>

1 个答案:

答案 0 :(得分:0)

我遇到了同样的错误,这是因为stepAIC()显然不适用于train()中的模型,因此当我尝试使用lm()(我想要一个简单的回归)时,它可以工作