과소/과적합으로 인한 오류
사탕 데이터셋은 과적합이 일어나기 쉽습니다. 관측치가 85개뿐인데 테스트 데이터셋으로 20%를 쓰면, 모델링에 쓸 수 있는 중요한 데이터가 많이 줄어듭니다. 예를 들어, 초콜릿 사탕의 대부분이 학습 데이터에 들어가고 홀드아웃 샘플에는 거의 없다면 어떨까요? 모델은 초콜릿 여부만 중요한 요인이라고만 보고, 다른 속성들의 중요성은 놓칠 수 있습니다. 이 연습에서는 랜덤 포레스트 모델에서 너무 많은 특징(열)을 사용할 때 과적합이 어떻게 발생하는지 살펴보겠습니다.
여기서 feature는 결정 트리에서 사용할 데이터의 열을 뜻합니다. max_features 매개변수는 사용할 수 있는 feature의 수를 제한합니다.
이 연습은 강의의 일부입니다
Python에서의 모델 검증
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Update the rfr model
rfr = RandomForestRegressor(____=25,
____=1111,
____=2)
rfr.fit(X_train, y_train)
# Print the training and testing accuracies
print('The training error is {0:.2f}'.format(
mae(y_train, rfr.predict(X_train))))
print('The testing error is {0:.2f}'.format(
mae(y_test, rfr.predict(X_test))))