데이터세트에서 모델을 만드는 것을 고려해 보지만, 보이지 않는 데이터로 인해 실패합니다.
단순히 모델을 훈련 데이터에 맞추고 눈에 보이지 않는 실제 데이터에서 완벽하게 작동할 때까지 기다릴 수는 없습니다.
이것은 과적합의 예입니다. 우리 모델은 훈련 데이터에서 모든 패턴과 노이즈를 추출했습니다. 이러한 일이 발생하지 않도록 하려면 모델이 대부분의 패턴을 포착하고 데이터의 모든 노이즈(낮은 편향 및 낮은 분산)를 포착하지 않도록 하는 방법이 필요합니다. 이 문제를 해결하기 위한 많은 기술 중 하나가 교차 검증입니다.
특정 데이터 세트에 1000개의 레코드가 있고 이에 대해 train_test_split()이 실행된다고 가정해 보겠습니다. 훈련 데이터가 70%이고 테스트 데이터가 30%로 Random_state = 0이라고 가정하면 이러한 매개변수의 정확도는 85%입니다. 이제, random_state = 50으로 설정하면 정확도가 87%로 향상된다고 가정해 보겠습니다.
이는 다양한 Random_state에 대한 정밀도 값을 계속 선택하면 변동이 발생한다는 것을 의미합니다. 이를 방지하기 위해 교차 검증이라는 기술이 사용됩니다.
LOOCV에서는 1개의 데이터 포인트를 테스트로 선택하고 나머지 모든 데이터는 첫 번째 반복의 학습 데이터가 됩니다. 다음 반복에서는 다음 데이터 포인트를 테스트로 선택하고 나머지는 교육 데이터로 선택합니다. 마지막 데이터 포인트가 최종 반복에서 테스트로 선택되도록 전체 데이터 세트에 대해 이 작업을 반복합니다.
일반적으로 반복 교차 검증 절차에 대한 교차 검증 R²를 계산하려면 각 반복에 대한 R² 점수를 계산하고 평균을 구합니다.
모델 성능에 대한 신뢰할 수 있고 편견 없는 추정이 가능하지만 수행하는 데 계산 비용이 많이 듭니다.
K-폴드 CV에서는 데이터 세트를 k개의 하위 세트(폴드라고 함)로 분할한 다음 훈련을 시작하지만 그대로 둡니다. 훈련된 모델을 평가하기 위한 (k-1) 하위 집합입니다.
1000개의 레코드가 있고 K=5라고 가정합니다. 이 K 값은 5번의 반복이 있음을 의미합니다. 테스트 데이터에 대해 고려되는 첫 번째 반복의 데이터 포인트 수는 처음부터 1000/5=200입니다. 그런 다음 다음 반복에서는 다음 200개의 데이터 포인트가 테스트로 간주됩니다.
전체 정확도를 계산하기 위해 각 반복에 대한 정확도를 계산한 다음 평균을 취합니다.
이 프로세스에서 얻을 수 있는 최소 정확도는 모든 반복에서 생성된 가장 낮은 정확도가 되며, 마찬가지로 최대 정확도 는 모든 반복에서 생성된 가장 높은 정확도가 됩니다.
4.
시계열 교차 검증
기계 학습에서 우리는 일반적으로 훈련 세트에서 가장 잘 수행되는 알고리즘이나 모델을 원하지 않습니다. 대신 우리는 테스트 세트에서 잘 작동하는 모델과 새로운 입력 데이터가 주어지면 일관되게 잘 작동하는 모델을 원합니다. 교차 검증은 그러한 알고리즘이나 모델을 식별할 수 있는지 확인하는 중요한 단계입니다.
위 내용은 머신러닝에서 꼭 배워야 할 4가지 교차 검증 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!