R에서 glmnet을 사용하여 LASSO 모델을 올바르게 훈련하고 테스트하는 방법에 대해 궁금합니다.
- 특히 외부 테스트 데이터 세트가 부족한 경우 교차 검증 (또는 다른 유사한 방법)을 사용하여 LASSO 모델을 테스트 하는 방법을 궁금합니다 .
시나리오를 정리하겠습니다 :
내 glmnet 모델을 알리고 훈련 할 데이터 세트가 하나뿐입니다. 결과적으로 교차 검증을 사용하여 데이터를 분할하여 모델을 테스트하는 방법을 생성해야합니다.
패키지 세부 정보cv.glmnet
에 따라 이미을 사용 하고 있습니다 .
glmnet에 대해 k- 폴드 교차 검증을 수행하고 플롯을 생성하며 람다 값을 반환합니다.
교차 검증은
cv.glmnet
단순히 최고의 람다를 선택하기 위해 수행됩니까, 아니면 더 일반적인 교차 검증 절차의 역할을합니까?- 다시 말해, 모델을 "테스트"하기 위해 또 다른 교차 검증 단계를 수행해야합니까?
저는 "그렇습니다"라고 가정하고 있습니다.
그렇다면 모델을 교차 검증하는 방법에 어떻게 접근 cv.glmnet
합니까?
수동으로해야합니까, 아니면
caret
glmnet 모델에 유용한 기능입니까?k 개의 교차 검증 처리의 "외부 루프"의 k 개의 각 폴드 내
cv.glmnet
에서 최상의 람다 값을 결정하기 위해 교차 검증의 두 개의 동심원 "루프"를 사용합니까? ... CV의 "내부 루프"를 사용합니까? ?이미 교차 유효성 검사
cv.glmnet
모델cv.glmnet
의 교차 유효성 검사를 수행하는 경우 교차 유효성 검사의 "외부 루프"의 각 겹에있는 각 모델에서 "최고"모델 ( "최고"람다 값에서)을 어떻게 분리합니까?- 주 : 최소 1 SE 내에서 MSE를 생산하는 람다와 관련된 모델로 내가 정의하고있어 "최고"모델은 ... 이것은이다
$lambda.1se
에cv.glmnet
모델.
- 주 : 최소 1 SE 내에서 MSE를 생산하는 람다와 관련된 모델로 내가 정의하고있어 "최고"모델은 ... 이것은이다
문맥:
나무 지름 ( "D"), D ^ 2 및 종 ( "factor (SPEC)")을 기반으로 나무 나이 ( "나이")를 예측하려고합니다. [결과 방정식 : Age ~ D + factor(SPEC) + D^2
]. 나는 ~ 50K 개의 데이터 행을 가지고 있지만 데이터는 길이 방향 (시간을 통해 개인을 추적)이며 ~ 65 종으로 구성됩니다.