교차 검증 머신 러닝: K-폴드

블로그

데이터를 70:30으로 분할하고 모델을 훈련하고 주어진>편향을 테스트합니다.그래서 모델이 보이지 않는 실제 생산 데이터에 대해 정확하게 작동할 것이라고 100% 확신할 수는 없습니다. 이를 위해 우리는 모델이 데이터에서 올바른 패턴을 얻고 너무 많은 노이즈를 발생시키지 않도록 해야 합니다. 이를 위해 교차 검증 기법을 사용합니다.



교차 검증은 제한된 데이터에서 기계 학습 모델을 평가하는 데 사용됩니다. 샘플.그것 보이지 않는 데이터에 대한 기계 학습 모델의 기술을 추정합니다.








K-Fold 화보 설명



이 기술은 주어진 모델을 여러 번 생성하고 검증합니다. Stratified, LOOCV, K-Fold 등과 같은 2-4가지 유형의 교차 검증이 있습니다. 여기서는 K-Fold 기법을 연구합니다.






K-폴드

이는 각 샘플에 홀드아웃 세트 1회에 사용할 기회가 주어지고 모델 k-1을 훈련하는 데 사용됨을 의미합니다. 시간 데이터를 두 세트가 아닌 세 세트로 분할하면 특히 데이터가 많지 않은 경우 이전에 이야기한 것과 동일한 문제를 모두 다룰 것입니다. 교차 검증을 수행하면 단일 도구를 사용하여 모든 단계를 수행할 수 있습니다. 로 설정 K-Fold를 수행하려면 모델을 훈련하는 데 사용되지 않는 데이터의 일부/샘플을 따로 보관해야 합니다.

교차 검증 절차

1. 데이터 세트를 무작위로 섞기 >> 데이터 세트를 k 폴드로 분할

2. 각 개별 접기에 대해: a. 접기 데이터를 별도로 유지 / 데이터 세트를 유지 b. 나머지 폴드를 단일 훈련 데이터 세트로 사용 c. 훈련 세트에 모델을 맞추고 테스트 세트에서 평가합니다. d. 평가 점수를 유지하고 모델을 폐기합니다. e. 루프백

3. K번 단계 실행

5. 점수를 요약하고 합계를 K로 나누어 평균을 구합니다.

6. 평균 점수, 분산을 분석하여 보이지 않는 데이터(프로덕션 데이터/유니버스)에서 모델의 가능한 성능을 평가합니다.

K = n일 때(즉, 데이터 포인트) — LOOCV

K의 이상적인 값은 데이터를 기반으로 5–10입니다. K의 값이 높을수록 편향된 모델이 덜하고 K의 값이 낮을수록 70:30과 유사합니다.

코드 샘플 :-

npm 제거 방법

sklearn에서 cross_validation 가져오기

# K 값은 10입니다.

데이터 = cross_validation.KFold(len(train_set), n_folds=10, 인덱스=False)

파이썬 코드

여기에서 모델 평가 프로세스를 한 번 대신 여러 번 반복하고 결과 점수의 평균을 계산합니다. 표준 편차는 신뢰 수준, 즉 평균 + 2S.D에 따라 다릅니다. 따라서 평균 점수를 80%로 얻은 경우 프로덕션 데이터에서 2S.D까지 다를 수 있습니다.

최고! 계속 배우도록.

#머신러닝 #데이터과학

미디엄닷컴

교차 검증 머신 러닝: K-폴드

교차 검증은 제한된 데이터 샘플에서 기계 학습 모델을 평가하는 데 사용됩니다. 보이지 않는 데이터에 대한 기계 학습 모델의 기술을 추정합니다. 이 기술은 주어진 모델을 여러 번 생성하고 검증합니다. Stratified, LOOCV, K-Fold 등과 같은 2-4가지 유형의 교차 검증이 있습니다. 여기서는 K-Fold 기법을 연구합니다.