시작하기무료로 시작하기

Leave-one-out-cross-validation

좋아하는 사탕이 candy 데이터셋에는 없다고 가정해 볼게요. 이 사탕의 인기도가 궁금하다고 할 때, 5-겹 교차 검증을 사용하면 한 번에 전체 데이터의 80%만 학습하게 됩니다. 그런데 candy 데이터셋은 행이 85개뿐이라 20%를 제외하면 모델 성능이 떨어질 수도 있어요. 반면, leave-one-out-cross-validation(LOOCV)을 사용하면 제한된 데이터셋을 최대한 활용하여 좋아하는 사탕의 인기도를 가장 잘 추정할 수 있습니다!

이 연습 문제에서는 cross_val_score()를 사용해 LOOCV를 수행해 보겠습니다.

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

Python에서의 모델 검증

강의 보기

연습 안내

  • cross_val_score()에서 사용할 mean_absolute_error로 스코어러를 만드세요.
  • 모델 rfr, 새로 정의한 mae_scorer, 그리고 LOOCV가 사용되도록 cross_val_score()를 완성하세요.
  • numpy(별칭 np)를 사용해 scores의 평균과 표준편차를 출력하세요.

실습형 인터랙티브 연습

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

from sklearn.metrics import mean_absolute_error, make_scorer

# Create scorer
mae_scorer = ____(____)

rfr = RandomForestRegressor(n_estimators=15, random_state=1111)

# Implement LOOCV
scores = cross_val_score(____, X=X, y=y, cv=____, scoring=____)

# Print the mean and standard deviation
print("The mean of the errors is: %s." % np.____(____))
print("The standard deviation of the errors is: %s." % np.____(____))
코드 편집 및 실행