标签: r-caret

R 插入符号包 rfe 永远不会完成错误任务 1 失败 - “替换长度为零”

我最近开始研究我正在开发的模型的插入符号包。我正在使用最新版本。作为第一步,我决定将其用于特征选择。我使用的数据有大约 760 个特征和 10k 个观察值。我根据网上的培训资料创建了一个简单的函数。不幸的是,我一直遇到错误,因此该过程永远不会完成。这是产生错误的代码。在这个例子中,我使用了一小部分功能。我从全套功能开始。我还更改了子集、折叠次数和重复次数,但无济于事。我知道如果没有数据,很难追查问题。我已经共享了一小部分数据(以下面使用的 r 对象格式)。如果您无法从那里获取文件,请尝试此链接

它总是产生这个错误:

{ 中的错误:任务 1 失败 - “替换长度为零”

caretFeatureSelection <- function() {
  library(caret)
  library(mlbench)
  library(Hmisc)

  set.seed(10)

  lr.features = c("f2", f271","f527","f528","f404", "f376", "f67",  "f670", "f281", "f333", "f13",  "f282", "f599",
                  "f597", "f68",  "f629", "f378", "f230", "f229", "f273", "f768", "f406", "f630", 
                  "f596", "f598", "f413", "f412", "f332", "f377", "f766", "f767", "f775", "f10", "f442")

  trainDF <- readRDS(file='trainDF.rds')
  trainDF <- trainDF[trainDF$loss>0,]
  trainDF$lossProb <- trainDF$loss/100
  y <- trainDF[,'lossProb']
  x <- trainDF[,names(trainDF) %in% lr.features]

  rm(trainDF)

  subsets <- c(1:5, …
Run Code Online (Sandbox Code Playgroud)

r feature-selection r-caret

4
推荐指数
1
解决办法
3941
查看次数

Errors when running Caret package in R

I am attempting to build a model to predict whether a product will get sold on an ecommerce website with 1 or 0 being the output.

My data is a handful of categorical variables, one with a large amount of levels, a couple binary, and one continuous (the price), with an output variable of 1 or 0, whether or not the product listing got sold.

This is my code:

inTrainingset<-createDataPartition(C$Sale, p=.75, list=FALSE)
CTrain<-C[inTrainingset,]
CTest<-C[-inTrainingset,]


gbmfit<-gbm(Sale~., data=C,distribution="bernoulli",n.trees=5,interaction.depth=7,shrinkage=      .01,)
plot(gbmfit)


gbmTune<-train(Sale~.,data=CTrain, method="gbm") …
Run Code Online (Sandbox Code Playgroud)

r r-caret

4
推荐指数
1
解决办法
2万
查看次数

Caret - 是否可以将每个模型从调整中保存下来?

我使用插入符来通过重新采样来训练模型并调整学习参数,并且我可以询问每个测试的概率,这很棒。但我也热衷于保留模型对象并在以后使用它们而无需重新训练 - 这可能吗?基本上,我想要的不仅仅是 mdl$finalModel 对象,而是每次调整迭代的模型对象。

r r-caret

4
推荐指数
1
解决办法
1448
查看次数

R - 具有估计标准误差的线性回归的 k 倍交叉验证

我想在 R 中对线性回归模型执行 k 折交叉验证并测试一个标准误差规则:

https://stats.stackexchange.com/questions/17904/one-standard-error-rule-for-variable-selection

因此,我需要一个函数,它可以返回预测误差的交叉验证估计该估计的标准误差(或者至少是每次折叠的 MSE,以便我可以自己计算标准误差)。许多包都有计算交叉验证误差的函数(例如,cv.glmboost包中),但通常它们仅返回预测误差的 CV 估计,而不返回其标准误差或每次折叠的 MSE。

我尝试使用 package DAAG,它的函数CVlm应该提供比cv.glm. 但是,我似乎无法让它发挥作用!这是我的代码:

a=c(0.0056, 0.0088, 0.0148, 0.0247, 0.0392, 0.0556, 0.0632, 0.0686, 0.0786, 0.0855, 0.0937)
b=c(6.0813, 9.5011, 15.5194, 23.9409, 32.8492, 40.8399, 43.8760, 45.5270, 46.7668, 46.1587, 43.4524)
dataset=data.frame(x=a,y=b)
CV.list=CVlm(df=dataset,form.lm = formula(y ~ poly(x,2)), m=5)
Run Code Online (Sandbox Code Playgroud)

我得到了几乎没有信息的错误

Error in xy.coords(x, y, xlabel, ylabel, log) : 
'x' and 'y' lengths differ 
Run Code Online (Sandbox Code Playgroud)

这对我来说没有多大意义。xy的长度相同 (11),因此很明显该函数正在抱怨它内部创建的其他一些x变量y

我很乐意接受其他软件包的解决方案(例如 …

r standard-error linear-regression cross-validation r-caret

4
推荐指数
1
解决办法
4559
查看次数

注册的 doParallel 集群不适用于 train/caret parRF 模型

我无法开始parRF工作,即使其他事情如parApply工作正常。

我已经尝试makeCluster过以及类似makePSOCKcluster的一些变体。

它不断返回错误 task 1 failed - could not find function getDoParWorkers

cores_2_use <- detectCores() - 2
cl          <- makeCluster(cores_2_use, useXDR = F)
clusterSetRNGStream(cl, 9956)
registerDoParallel(cl, cores_2_use)


rf_train <- train(y=y, x=x,
               method='parRF', tuneGrid = data.frame(mtry = ncol(x)), na.action = na.omit,
               trControl=trainControl(method='oob',number=10, allowParallel = TRUE)
               )
Error in { : task 1 failed - "could not find function "getDoParWorkers""
Run Code Online (Sandbox Code Playgroud)

parallel-processing r random-forest r-caret

4
推荐指数
1
解决办法
2868
查看次数

获得对插入符号中 k 折交叉验证的测试数据集的预测

我有点困惑插入符号如何在 k 折交叉验证中对测试折叠进行评分。

我想生成一个数据框或矩阵,其中包含 10 折交叉验证中十个测试数据集的评分记录。

例如,使用 iris 数据集训练决策树模型:

install.packages("caret", dependencies=TRUE) 

library(caret)

data(iris)

train_control <- trainControl(method="cv", number=10, savePredictions = TRUE), 

model <- train(Species ~ ., data=iris, trControl=train_control, method="rpart")

model$pred
Run Code Online (Sandbox Code Playgroud)

model$pred命令列出了 450 条记录中十倍的预测。

这似乎不对 - 不应该对十个测试折叠中model$pred150 条记录产生预测(1/10 * 150 = 每个测试折叠 15 条记录)?450条记录是如何产生的?

r prediction cross-validation r-caret

4
推荐指数
1
解决办法
1309
查看次数

在 archlinux 中安装 R 插入符包的问题

我正在尝试安装该软件包caret在 R 中安装该包一段时间,但收到此错误消息:

\n\n
*installing *source* package \xe2\x80\x98minqa\xe2\x80\x99 ...\n** package \xe2\x80\x98minqa\xe2\x80\x99 successfully unpacked and MD5 sums checked\n** libs\ngfortran   -fpic  -g -O2  -c altmov.f -o altmov.o\nmake: gfortran: Command not found\nmake: *** [altmov.o] Error 127\n/usr/lib64/R/etc/Makeconf:155: recipe for target 'altmov.o' failed\nERROR: compilation failed for package \xe2\x80\x98minqa\xe2\x80\x99\n* removing \xe2\x80\x98/home/mohammad/R/x86_64-pc-linux-gnu-library/3.3/minqa\xe2\x80\x99\nWarning in install.packages :\n  installation of package \xe2\x80\x98minqa\xe2\x80\x99 had non-zero exit status\n* installing *source* package \xe2\x80\x98SparseM\xe2\x80\x99 ...\n** package \xe2\x80\x98SparseM\xe2\x80\x99 successfully unpacked and MD5 sums checked\n** libs\ngfortran   -fpic  -g -O2  -c bckslv.f -o bckslv.o\nmake: gfortran: …
Run Code Online (Sandbox Code Playgroud)

r archlinux install.packages r-caret

4
推荐指数
1
解决办法
2001
查看次数

Caret中的多类分类

在插入符号包中,哪些集合模型可用于多类分类?此外,在尝试http://topepo.github.io/caret/Ensemble_Model.html中提到的一些功能时,它给出了:

不在插入符号的内置库中.

Google上的许多功能都没有相关软件包的建议.有谁能帮助我解决这两个问题?

r machine-learning r-caret

4
推荐指数
1
解决办法
5206
查看次数

如何将参数传递给插入符号汇总函数

如何将参数传递给插入符号汇总函数?

例如, caret 的 twoClassSummary 函数具有以下签名: twoClassSummary(data, lev = NULL, model = NULL)

参数 lev 指定了我感兴趣的因子级别。现在我想告诉 caret 我对因子级别“false”的摘要感兴趣。就像是

  trainControl(summary=twoClassSummary(lev="false")) 
Run Code Online (Sandbox Code Playgroud)

不起作用。如何将参数传递给汇总函数?谢谢!

r r-caret

4
推荐指数
1
解决办法
775
查看次数

在Shiny App中训练模型时显示加载标志

我正在制作一个闪亮的应用程序,其中,在单击actionButton时,使用插入符包训练模型.由于此培训需要时间 - 大约4-5分钟 - 我想在App中显示加载标志或加载GIF,其中在训练模型后显示结果.否则,用户将不知道发生了什么或何时训练模型.

谢谢

r shiny r-caret shinydashboard

4
推荐指数
1
解决办法
4338
查看次数