0에서 1 사이 glmnet
의 그리드에서 람다 값을 선택하여 R 의 패키지를 사용하여 건강 관리 데이터 세트에서 탄력적 그물 로지스틱 회귀를 수행하고 있습니다. 약식 코드는 다음과 같습니다.
alphalist <- seq(0,1,by=0.1)
elasticnet <- lapply(alphalist, function(a){
cv.glmnet(x, y, alpha=a, family="binomial", lambda.min.ratio=.001)
})
for (i in 1:11) {print(min(elasticnet[[i]]$cvm))}
씩 증가하면서 에서 까지의 각 알파 값에 대한 평균 교차 검증 오류를 출력합니다 .
[1] 0.2080167
[1] 0.1947478
[1] 0.1949832
[1] 0.1946211
[1] 0.1947906
[1] 0.1953286
[1] 0.194827
[1] 0.1944735
[1] 0.1942612
[1] 0.1944079
[1] 0.1948874
내가 읽은 내용을 바탕으로 최적의 선택은 cv 오류가 최소화되는 곳입니다. 그러나 알파 범위에서 발생하는 오류에는 많은 차이가 있습니다. 에 대한 전역 최소 오류와 함께 여러 지역 최소값이 표시 됩니다 .0.1942612
alpha=0.8
가는 것이 안전 alpha=0.8
합니까? 또는, 변화를 주어, 나는 다시 실행해야 cv.glmnet
더 크로스 검증 주름 (예와 함께 대신 아마) 또는 더 많은 수의 사이의 간격 및 이력서 오류 경로의 명확한 그림을 얻을 수 있습니까?alpha=0.0
1.0
cv.glmnet()
에서 foldids
생성 된 패스없이 실행 하지 마십시오 .
caret
알파와 람다 (멀티 코어 프로세싱을 지원합니다!)에 대해 cv와 tune을 반복 할 수 있는 패키지를 보고 싶을 것 입니다. 메모리에서, 나는glmnet
당신이 여기에서하는 방식으로 알파 튜닝에 대한 문서 조언을 생각합니다 . 사용자가에서 제공하는 람다 튜닝 외에 알파를 튜닝하는 경우 폴더를 고정 된 상태로 유지하는 것이 좋습니다cv.glmnet
.