시작하기무료로 시작하기

test/train 분할로 모델 평가하기

이제 테스트 데이터 mpg_test에서 모델 mpg_model을 평가해 보겠습니다. RMSE와 R-squared를 계산하기 위한 함수 rmse()r_squared()가 편의를 위해 제공되어 있습니다:

rmse(predcol, ycol)
r_squared(predcol, ycol)

설명:

  • predcol: 예측값
  • ycol: 실제 결과

또한 예측값과 실제값의 산점도를 그려 보겠습니다.

일반적으로 모델 성능은 테스트 데이터보다 학습 데이터에서 더 좋습니다(가끔은 테스트 세트가 "운이 좋을" 때도 있습니다). 성능 차이가 약간 나는 것은 괜찮지만, 학습 데이터에서 성능이 현저히 더 좋다면 문제가 있는 것입니다.

mpg_trainmpg_test 데이터 프레임, mpg_model 모델, 그리고 함수 rmse()r_squared()는 미리 로드되어 있습니다.

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

R로 하는 Supervised Learning: 회귀

강의 보기

연습 안내

  • mpg_train 데이터에서 hwy로 도시 연비를 예측하세요. 예측값은 pred 열에 저장하세요.
  • mpg_test 데이터에서 hwy로 도시 연비를 예측하세요. 예측값은 pred 열에 저장하세요.
  • rmse()를 사용해 테스트 세트와 학습 세트의 RMSE를 각각 계산하세요. 비교해 보세요. 성능이 비슷한가요?
  • 같은 방식으로 r_squared()도 계산하세요. 성능이 비슷한가요?
  • ggplot2를 사용해 테스트 데이터에서 예측값을 cty에 대해 산점도로 그려 보세요.

실습형 인터랙티브 연습

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

# Examine the objects that have been loaded
ls.str()

# predict cty from hwy for the training set
mpg_train$pred <- ___

# predict cty from hwy for the test set
mpg_test$pred <- ___

# Evaluate the rmse on both training and test data and print them
(rmse_train <- ___)
(rmse_test <- ___)


# Evaluate the r-squared on both training and test data.and print them
(rsq_train <- ___)
(rsq_test <- ___)

# Plot the predictions (on the x-axis) against the outcome (cty) on the test data
ggplot(___, aes(x = ___, y = ___)) + 
  geom_point() + 
  geom_abline()
코드 편집 및 실행