1

회귀 모델을 훈련하고 싶기 때문에 무작위로 포리스트 모델을 사용합니다. 그러나 필자는 필자의 데이터 세트에서 많은 기능을 가지고 있기 때문에 기능을 선택해야 할 필요가 있으며 모든 기능을 사용하면 과청 될 것입니다. 내 모델의 성능을 평가하기 위해 5 배 교차 유효성 검사를 수행하고 다음 두 가지 접근 방식에 대한 나의 질문이 옳았으며 그 이유는 무엇입니까?기능 선택 및 교차 유효성 검사

1- 데이터를 두 개로 나누고 전반부에서 기능을 선택하고 나머지 절반에 대해 5 배 교차 유효성 검사 (CV)를 수행하려면이 선택된 기능을 사용해야합니다 (이 경우 5 CV가 정확하게 사용됩니다 동일한 선택 기능).

1-에 2 분할이 훈련 데이터 (전체 데이터의 4/5)을 테스트하기위한 훈련 4/5 및 1/5로 데이터를 분할 :

2 다음 절차를 수행 두 반쪽 : a-) 상반기에 모델을 훈련시키고 기능을 선택하기 위해 훈련 된 모델을 사용합니다. 012-b-) 훈련 데이터 세트의 두 번째 절반에 모델을 훈련시키기 위해 첫 번째 부분에서 선택한 피쳐를 사용하십시오 (이것은 최종 훈련 된 모델입니다). 3 - 나머지 1/5의 데이터 (훈련 단계에서는 사용되지 않음)에서 모델의 성능을 테스트합니다. 4- 이전 단계를 5 번 반복하고 매번 무작위로 (대체하지 않고) 데이터를 분할합니다 교육을 위해 4/5로, 테스트를 위해 1/5로

내 관심사는 두 번째 절차에서 우리는 5 가지 모델을 갖게되며 최종 모델의 기능은이 5 가지 모델의 주요 기능의 조합이 될 것입니다. 그래서 5CV의 성능이 최종 모델의 최종 성능을 반영 할 수 있는지 확신 할 수 없습니다. 특히 최종 모델은 각 모델의 5Fold와 다른 기능을 가지고 있기 때문에 (각 모델의 선택한 기능을 5 CV)

답변

0

Do t CV로 전체 데이터를 가져 와서 (5 개 파트로 분할하고 모든 분할에 대해 파트의 다른 조합을 사용) cv- 스플릿에 대한 기능 선택을 수행 한 다음 선택 항목의 출력에 대한 RF를 수행하십시오.

이유 : CV가 다른 데이터 분할에서 모델을 확인하므로 모델이 적합하지 않습니다. 피쳐 셀렉션은 모델의 일부로 볼 수 있으므로 오버 피팅을 위해이를 확인해야합니다.

CV로 모델을 검증 한 다음 전체 데이터를 모델에 적용하고이 단일 모델의 변환을 수행하십시오.

또한 과핑에 대해 걱정하는 경우 나무의 수와 수에 따라 RF를 제한해야합니다. CV는 주로 모델의 개발 프로세스에서 도구로 사용되며 최종 모델의 경우 모든 데이터가 사용됩니다.

1

교차 유효성 검사는 항상 기계 학습 알고리즘에서 가장 바깥 쪽 루프 여야합니다.

그래서 데이터를 5 세트로 나눕니다. 테스트 세트 (1/5)로 선택하는 모든 세트에 대해 훈련 세트 (4/5)에서 기능 선택을 한 후에 모델을 맞 춥니 다. 모든 CV 폴드에 대해이 작업을 반복하십시오. 여기에 5 배 폴드가 있습니다.

이제 CV 절차가 완료되면 모델의 정확도 추정치가 산출됩니다. 이는 정확한 CV 폴드 정확도의 평균입니다.

전체 데이터 집합에서 모델을 학습하기위한 최종 기능 집합에 관해서는 다음을 수행하여 최종 기능 집합을 선택하십시오.

- 위에서 설명한대로 폴드 할 때마다 해당 폴드에서 선택한 기능에 투표하십시오. CV의 5 배가 끝나면 최고 득표 수의 특정 수를 선택하십시오.

위의 선택된 기능 세트를 사용하여 기능 선택의 최종 절차를 수행 한 다음 전체 데이터 (5 개 폴드 모두 결합)에서 모델을 교육하고 모델을 프로덕션으로 이동하십시오.