데이터 세트를 올바르게 분할하는 방법은 무엇입니까? 세 가지 일반적인 방법 요약

WBOY
풀어 주다: 2023-04-08 18:51:07
앞으로
1500명이 탐색했습니다.

데이터 세트를 훈련 세트로 분해하면 모델을 이해하는 데 도움이 되며, 이는 모델이 보이지 않는 새로운 데이터로 일반화되는 방식에 매우 중요합니다. 모델이 과적합되면 보이지 않는 새로운 데이터에 대해 잘 일반화되지 않을 수 있습니다. 그러므로 좋은 예측은 할 수 없습니다.

올바른 검증 전략을 갖는 것은 좋은 예측을 성공적으로 생성하고 AI 모델의 비즈니스 가치를 사용하기 위한 첫 번째 단계입니다. 이 기사에서는 몇 가지 일반적인 데이터 분할 전략을 정리했습니다.

간단한 훈련 및 테스트 분할

데이터 세트를 훈련 및 검증 부분으로 분할합니다(80% 훈련 및 20% 검증). Scikit의 무작위 샘플링을 사용하여 이를 수행할 수 있습니다.

데이터 세트를 올바르게 분할하는 방법은 무엇입니까? 세 가지 일반적인 방법 요약

먼저 랜덤 시드를 수정해야 합니다. 그렇지 않으면 동일한 데이터 분할을 비교할 수 없으며 디버깅 중에 결과를 재현할 수 없습니다. 데이터 세트가 작으면 검증 분할이 훈련 분할과 상관 관계가 없을 수 있다는 보장이 없습니다. 데이터의 균형이 맞지 않으면 동일한 분할 비율을 얻을 수 없습니다.

간단한 분할은 개발 및 디버그에만 도움이 될 수 있으며 실제 교육만으로는 충분하지 않으므로 다음 분할 방법을 사용하면 이러한 문제를 해결하는 데 도움이 될 수 있습니다.

K-겹 교차 검증

은 데이터 세트를 k개의 파티션으로 분할합니다. 아래 이미지에서 데이터 세트는 5개의 파티션으로 나뉩니다.

데이터 세트를 올바르게 분할하는 방법은 무엇입니까? 세 가지 일반적인 방법 요약

한 파티션을 검증 데이터 세트로 선택하고 다른 파티션은 훈련 데이터 세트로 선택하세요. 이렇게 하면 각각의 서로 다른 파티션 세트에서 모델을 학습하게 됩니다.

결국 K개의 서로 다른 모델을 얻게 되며, 이 모델들은 추후 추론 및 예측 시 통합 방식을 사용하여 함께 사용됩니다.

K는 일반적으로 [3,5,7,10,20]으로 설정됩니다.

낮은 편향으로 모델 성능을 확인하려면 더 높은 K[20]를 사용하세요. 변수 선택을 위한 모델을 구축하는 경우 낮은 k [3,5]를 사용하면 모델의 분산이 낮아집니다.

장점:

  • 모델 예측을 평균화하면 동일한 분포에서 가져온 보이지 않는 데이터에 대한 모델 성능을 향상시킬 수 있습니다.
  • 좋은 생산 모델을 얻기 위해 널리 사용되는 방법입니다.
  • 다양한 통합 기술을 사용하여 데이터 세트의 각 데이터에 대한 예측을 생성하고 이러한 예측을 사용하여 OOF(아웃폴드 예측)라고 하는 모델을 개선할 수 있습니다.

질문:

  • 불균형 데이터 세트가 있는 경우 Stratified-kFold를 사용하세요.
  • 모든 데이터 세트에 대해 모델을 재교육하는 경우 k-Fold로 교육된 모델과 성능을 비교할 수 없습니다. 이 모델은 전체 데이터 세트가 아닌 k-1에 대해 학습되기 때문입니다.

Stratified-kFold

는 각 접기에서 서로 다른 클래스 간의 비율을 보존할 수 있습니다. 데이터 세트가 불균형한 경우 Class1에는 10개의 예가 있고 Class2에는 100개의 예가 있다고 가정합니다. Stratified-kFold는 원본 데이터세트와 동일한 비율로 각 폴드 분류를 생성합니다.

이 아이디어는 K-폴드 교차 검증과 유사하지만 각 폴드에 대한 비율은 원본 데이터세트와 동일합니다.

데이터 세트를 올바르게 분할하는 방법은 무엇입니까? 세 가지 일반적인 방법 요약

클래스 간 초기 비율은 각 분할에서 보존될 수 있습니다. 데이터 세트가 큰 경우 K-fold의 교차 검증도 비율을 보존할 수 있지만 이는 확률론적인 반면 Stratified-kFold는 결정론적이며 작은 데이터 세트에 사용할 수 있습니다.

Bootstrap 및 Subsampling

Bootstrap 및 Subsampling은 K-Fold 교차 검증과 유사하지만 고정된 접기가 없습니다. 데이터 세트에서 일부 데이터를 무작위로 선택하고 다른 데이터를 검증으로 사용하여 n번 반복합니다.

Bootstrap = 교대 샘플링, 이전 기사에서 자세히 소개했습니다.

언제 사용하나요? 부트스트랩과 서브샘플링은 추정된 메트릭 오류의 표준 오류가 큰 경우에만 사용할 수 있습니다. 이는 데이터 세트의 이상값으로 인해 발생할 수 있습니다.

요약

일반적으로 기계 학습에서는 k-fold 교차 검증을 시작점으로 사용합니다. 데이터 세트의 균형이 맞지 않으면 Stratified-kFold를 사용하여 이상값이 많은 경우 Bootstrap이나 다른 방법을 사용할 수 있습니다. 데이터 폴딩을 개선합니다.

위 내용은 데이터 세트를 올바르게 분할하는 방법은 무엇입니까? 세 가지 일반적인 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿