НачатьНачать бесплатно

Оценка качества KNN

Мы уже успели заметить кое-что интересное в результатах KNN. В частности, качество на обучающей выборке начиналось высоким и снижалось по мере роста n — это типичное поведение. Качество на тестовой выборке достигло пика при значении 5, поэтому именно его мы используем в итоговой модели KNN.

Как мы уже делали несколько раз, оценим качество визуально. Это поможет понять, насколько хорошо модель справляется с предсказаниями в разных диапазонах реальных значений. Получим предсказания модели knn с помощью метода .predict() на масштабированных признаках, а затем воспользуемся функцией plt.scatter() из matplotlib, чтобы построить точечный график фактических и предсказанных значений.

Это упражнение является частью курса

Машинное обучение для финансов на Python

Посмотреть курс

Инструкции к упражнению

  • Задайте значение n_neighbors в KNeighborsRegressor равным 5 — наилучшему результату из предыдущего упражнения.
  • Получите предсказания модели knn на основе scaled_train_features и scaled_test_features.
  • Постройте точечный график зависимости 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()
Редактировать и запускать код