Оцінювання продуктивності KNN
Ми щойно побачили кілька речей у наших оцінках KNN. По-перше, тренувальні бали починалися високими й зменшувалися зі збільшенням n, що є типовим. Продуктивність на тестовій вибірці досягла піку при 5, і ми використаємо це значення як налаштування у фінальній моделі KNN.
Як ми вже робили кілька разів, перевіримо продуктивність візуально. Це допоможе побачити, наскільки добре модель передбачає в різних діапазонах фактичних значень. Отримаємо передбачення з нашої моделі knn за допомогою методу .predict() на масштабованих ознаках. Потім скористаємося plt.scatter() з matplotlib, щоб створити точкову діаграму фактичних значень проти передбачених.
Ця вправа є частиною курсу
Machine Learning для фінансів у 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()