【发布时间】:2019-02-18 15:39:09
【问题描述】:
我正在研究 R 中的逐步多项逻辑回归,
使用来自nnet 包的multinom() 函数和来自MASS 的stepAIC() 函数。
尽管使用单独的逻辑回归预先选择了一组变量(它使用了我从 Microsoft R Open 安装中获得的优化的 BLAS 和 LAPACK 库的全部并行潜力),
我还有 80 多个变量可以使用。问题在于执行上述逐步多项逻辑回归的时间消耗。
我已经尝试过 caret 包的并行后弯,但逐步函数似乎并不认为它是有效的方法。我喜欢这个包,因为它让我可以轻松地执行交叉验证。
有谁知道如何让它工作?
以下是 Iris 的示例:
> 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 >
【问题讨论】:
-
最后一个答案看起来可能对你有帮助stats.stackexchange.com/questions/355217/…
标签: r