데이터 세트를 훈련 세트로 분해하면 모델을 이해하는 데 도움이 되며, 이는 모델이 보이지 않는 새로운 데이터로 일반화되는 방식에 매우 중요합니다. 모델이 과적합되면 보이지 않는 새로운 데이터에 대해 잘 일반화되지 않을 수 있습니다. 그러므로 좋은 예측은 할 수 없습니다.
올바른 검증 전략을 갖는 것은 좋은 예측을 성공적으로 생성하고 AI 모델의 비즈니스 가치를 사용하기 위한 첫 번째 단계입니다. 이 기사에서는 몇 가지 일반적인 데이터 분할 전략을 정리했습니다.
데이터 세트를 훈련 및 검증 부분으로 분할합니다(80% 훈련 및 20% 검증). Scikit의 무작위 샘플링을 사용하여 이를 수행할 수 있습니다.
먼저 랜덤 시드를 수정해야 합니다. 그렇지 않으면 동일한 데이터 분할을 비교할 수 없으며 디버깅 중에 결과를 재현할 수 없습니다. 데이터 세트가 작으면 검증 분할이 훈련 분할과 상관 관계가 없을 수 있다는 보장이 없습니다. 데이터의 균형이 맞지 않으면 동일한 분할 비율을 얻을 수 없습니다.
간단한 분할은 개발 및 디버그에만 도움이 될 수 있으며 실제 교육만으로는 충분하지 않으므로 다음 분할 방법을 사용하면 이러한 문제를 해결하는 데 도움이 될 수 있습니다.
은 데이터 세트를 k개의 파티션으로 분할합니다. 아래 이미지에서 데이터 세트는 5개의 파티션으로 나뉩니다.
한 파티션을 검증 데이터 세트로 선택하고 다른 파티션은 훈련 데이터 세트로 선택하세요. 이렇게 하면 각각의 서로 다른 파티션 세트에서 모델을 학습하게 됩니다.
결국 K개의 서로 다른 모델을 얻게 되며, 이 모델들은 추후 추론 및 예측 시 통합 방식을 사용하여 함께 사용됩니다.
K는 일반적으로 [3,5,7,10,20]으로 설정됩니다.
낮은 편향으로 모델 성능을 확인하려면 더 높은 K[20]를 사용하세요. 변수 선택을 위한 모델을 구축하는 경우 낮은 k [3,5]를 사용하면 모델의 분산이 낮아집니다.
장점:
질문:
는 각 접기에서 서로 다른 클래스 간의 비율을 보존할 수 있습니다. 데이터 세트가 불균형한 경우 Class1에는 10개의 예가 있고 Class2에는 100개의 예가 있다고 가정합니다. Stratified-kFold는 원본 데이터세트와 동일한 비율로 각 폴드 분류를 생성합니다.
이 아이디어는 K-폴드 교차 검증과 유사하지만 각 폴드에 대한 비율은 원본 데이터세트와 동일합니다.
클래스 간 초기 비율은 각 분할에서 보존될 수 있습니다. 데이터 세트가 큰 경우 K-fold의 교차 검증도 비율을 보존할 수 있지만 이는 확률론적인 반면 Stratified-kFold는 결정론적이며 작은 데이터 세트에 사용할 수 있습니다.
Bootstrap 및 Subsampling은 K-Fold 교차 검증과 유사하지만 고정된 접기가 없습니다. 데이터 세트에서 일부 데이터를 무작위로 선택하고 다른 데이터를 검증으로 사용하여 n번 반복합니다.
Bootstrap = 교대 샘플링, 이전 기사에서 자세히 소개했습니다.
언제 사용하나요? 부트스트랩과 서브샘플링은 추정된 메트릭 오류의 표준 오류가 큰 경우에만 사용할 수 있습니다. 이는 데이터 세트의 이상값으로 인해 발생할 수 있습니다.
일반적으로 기계 학습에서는 k-fold 교차 검증을 시작점으로 사용합니다. 데이터 세트의 균형이 맞지 않으면 Stratified-kFold를 사용하여 이상값이 많은 경우 Bootstrap이나 다른 방법을 사용할 수 있습니다. 데이터 폴딩을 개선합니다.
위 내용은 데이터 세트를 올바르게 분할하는 방법은 무엇입니까? 세 가지 일반적인 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!