KNN 성능 평가
방금 KNN 점수에서 몇 가지를 확인했어요. 우선 학습 점수는 처음에 높았다가 n이 커질수록 감소했는데, 이는 일반적입니다. 반면 테스트 세트 성능은 n=5에서 정점에 도달했고, 최종 KNN 모델의 설정으로 그 값을 사용하겠습니다.
이제 여러 번 해 본 것처럼 시각적으로 성능을 확인해 보겠습니다. 이렇게 하면 실제 값의 구간별로 모델이 얼마나 잘 예측하는지 볼 수 있어요. 먼저 스케일링된 피처에 대해 knn 모델의 .predict() 메서드로 예측값을 구합니다. 그런 다음 matplotlib의 plt.scatter()를 사용해 실제 값과 예측 값을 산점도로 나타내겠습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 금융 분야 Machine Learning
연습 안내
KNeighborsRegressor의n_neighbors를 이전 연습 문제에서 찾은 최적 값인 5로 설정하세요.scaled_train_features와scaled_test_features에 대해knn모델로 예측값을 구하세요.test_targets와test_predictions의 산점도를 만들고 레이블을test로 지정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create the model with the best-performing n_neighbors of 5
knn = KNeighborsRegressor(____)
# Fit the model
knn.fit(scaled_train_features, train_targets)
# Get predictions for train and test sets
train_predictions = ____
test_predictions = ____
# Plot the actual vs predicted values
plt.scatter(train_predictions, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()