시작하기무료로 시작하기

K-fold 교차 검증

가장 널리 쓰이는 K-fold 교차 검증을 직접 구현해 보겠습니다.

이번에 사용할 데이터는 Kaggle의 "Two sigma connect: rental listing inquiries" 대회 데이터입니다. 이 대회의 과제는 임대 매물을 관심도에 따라 3개 클래스로 분류하는 다중 클래스 분류 문제입니다: 관심도 낮음, 보통, 높음. 실행 속도를 높이기 위해 관측치 1,000개로 이루어진 하위 표본을 사용합니다.

K-fold 검증 전략을 구현하고, 생성된 각 fold의 크기를 확인하세요. train DataFrame은 이미 작업 공간에 준비되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 Kaggle 대회 공략하기

강의 보기

연습 안내

  • 3개의 fold를 갖는 KFold 객체를 생성하세요.
  • kf 객체를 사용해 각 분할을 순회하세요.
  • 각 분할에서 train_indextest_index를 사용해 학습용과 테스트용 fold를 선택하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import KFold
from sklearn.model_selection import KFold

# Create a KFold object
kf = ____(n_splits=____, shuffle=True, random_state=123)

# Loop through each split
fold = 0
for train_index, test_index in ____.____(train):
    # Obtain training and testing folds
    cv_train, cv_test = train.iloc[____], train.iloc[____]
    print('Fold: {}'.format(fold))
    print('CV train shape: {}'.format(cv_train.shape))
    print('Medium interest listings in CV train: {}\n'.format(sum(cv_train.interest_level == 'medium')))
    fold += 1
코드 편집 및 실행