여기에는 다소 혼란스러운 점이 있습니다. 나는 당신이 묘사하고있는 것이 표준 열차/시험 분할의 이상이라고 생각한다. 교차 검증이라는 단어는 보통 다르게 사용된다. 따라서 테스트를 위해 데이터의 30 %를 보류 했으므로 좋은 결과를 얻었고 기차를 사용하여 AUC 추정치가 얼마나 낙관적인지 확인할 수 있습니다. 그러나 물론 견적은 열차/테스트 스플릿을 수행하는 방법에 따라 다르며이 테스트 성능이 얼마나 다른지 알면 좋습니다. 이를 달성하기 위해 여러 교차 검증을 사용할 수 있습니다.
교차 검증은 홀드 아웃 세트를 사용하여 약간입니다 - 예를 들어, 다음과 같은 단계를 포함, 다섯 배 교차 유효성 검사 :
- 무작위로 다섯 개 동일한 크기의 부분으로 전체 데이터 집합을 분할합니다.
- i = 1 ~ 5의 경우 i 번째 부분을 제외한 모든 데이터에 모델을 맞 춥니 다.
- 착용감이 떨어지는 부분의 AUC를 평가하십시오.
- 평균 5 개의 AUC 결과.
이 프로세스는 샘플 추정치의 평균과 분산을 평가하기 위해 여러 번 반복 될 수 있습니다.
R 패키지 인 cvTools를 사용하면이 작업을 수행 할 수 있습니다. 예를 들어
library(ROCR)
library(cvTools)
calc_AUC <- function(pred, act) {
u<-prediction(pred, act)
return(performance(u, "auc")@y.values[[1]])
}
cvFit(m, data = train, y = train$response,
cost = calc_AUC, predictArgs = "response")
은 AUC를 성능 메트릭으로 사용하여 모델 m의 5 배 교차 유효성 검사를 수행합니다. cvFit
또한 K
(교차 유효성 검사 폴드 수) 및 R
(다른 임의적 분할로 교차 유효성 검사를 수행하는 횟수) 인수를 취합니다.
교차 유효성 검사에 대한 자세한 내용은 http://en.wikipedia.org/wiki/Cross-validation_(statistics)을 참조하십시오.
나는 이것을 너 자신만큼 많이 묻지 만, AUC를 평균화 할 수는 없습니까? (답변 이상의 질문으로 간주 됨) – Vincent
그래서 무작위로 데이터를 두 번 분할하고 왜 다른 결과가 나올지 궁금하십니까? – rawr