3
cv.lars과 관련하여 질문이 있습니다. 내가 사용하는 데이터에 대한 설명이 우는 소리 :R에있는 cv.lars의 오류
is.numeric(Y$Y1)
[1] TRUE
length(Y$Y1)
[1] 589
dim(Training_XX[7:ncol(Training_XX)])
[1] 589 5677
가 이미 실행 한 올가미 라스 패키지를 사용. 내 코드는 다음과 같습니다 :
LASSO_1<-lars(as.matrix(X[7:ncol(X)]),
Y$Y1,type=c("lasso"),
normalize=TRUE, use.Gram=FALSE).
위의 절차는 정상적으로 실행되는 것 같습니다. 내가 려고 할 때 그러나, 람다 값 교차 검증, 나는 다음과 같은 오류 얻을 :
Error in if (zmin < gamhat) { : missing value where TRUE/FALSE needed
교차 검증을 위해 내 코드는 다음과 같습니다
CV<-cv.lars(as.matrix(X[7:ncol(X)]),Y$Y1,use.Gram=FALSE,max.steps=500)
lambda_Y1=CV$index[which.min(CV$cv)]
합니까를 아무도 무슨 일이 일어나고 있는지 알 겠어? 나는 그 오류의 의미와 내 데이터 (및 코드)의 문제점을 정확히 알지 못합니다.
질문에 대한 답변이 아니지만 대신 [glmnet] (http://cran.r-project.org/web/packages/glmnet/index.html)을 사용해보십시오. 그것은 올가미 (elasticnet의 특별한 경우)를 가지고 있으며, 훨씬 빠릅니다. –
당신은 맞습니다! 나는 그것에 대해 생각하지 않았습니다 ... –
방금 a = 1로 설정하고 올가미를 얻습니다, 맞습니까? glmnet lasso와 lars lasso가 동일하거나 매우 유사한 결과를 제공한다면 지금 하시겠습니까? 그리고 계산 시간 ... lars는 너무 오래 걸립니다 !! GLMNET은 매우 빠릅니다. 정말 고마워요! –