【发布时间】:2013-09-23 12:03:06
【问题描述】:
我正在使用caret 包来调整glmnet 模型的alpha 和lambda 参数。我的特征在X(数据帧,14474 个变量中的 47 个观测值,一个 p>>N 问题)和因变量y 是一个 47 个观测值的数据帧。 1 个变量。
当我尝试时
trC = trainControl(method=cv, number=10)
fitModel = train(X, y, trControl=trC, method="glmnet")
我明白了
Error en switch(tolower(trControl$method), oob = NULL, alt_cv = , cv = createFolds(y,:
EXPR must be a length 1 vector
Además: Mensajes de aviso perdidos
In if (trControl$method == "oob" & !(method %in% c("rf", "treebag", :
la condición tiene longitud > 1 y sólo el primer elemento será usado
我尝试转置y,并更改为class(y) = "numeric",而不是"data.frame",但我得到了同样的错误,我不明白。有什么线索吗?
【问题讨论】:
-
我猜应该是 trainControl(method='cv', number=10),当然除非你的工作区中有一个
cv-named 对象你没有告诉我们关于。 -
如果我是正确的,那么这个问题应该被删除,因为它只是最简单的“用户错误”。除了“需要引用应该被引用的参数”之外,这里没有任何教训。
-
@DWin 是的,你是对的。我在效仿别人的例子,它是这样写的。现在我看到了帮助,我看到
method使用了“”。也感谢@topepo。如果您认为删除更好,请继续。