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.____(____))