Zacznij terazZacznij za darmo

Ocena wydajności KNN

Przed chwilą zaobserwowaliśmy kilka rzeczy dotyczących wyników naszego modelu KNN. Wyniki na zbiorze treningowym były początkowo wysokie i malały wraz ze wzrostem n – co jest typowym zachowaniem. Wyniki na zbiorze testowym osiągnęły szczyt przy wartości 5, którą przyjmiemy jako docelowe ustawienie w finalnym modelu KNN.

Podobnie jak robiliśmy to już kilka razy, sprawdzimy wydajność modelu wizualnie. Dzięki temu zobaczymy, jak dobrze model przewiduje wartości w różnych zakresach rzeczywistych danych. Uzyskamy prognozy z modelu knn za pomocą metody .predict() na przeskalowanych cechach, a następnie użyjemy plt.scatter() z biblioteki matplotlib, aby stworzyć wykres punktowy wartości rzeczywistych względem prognozowanych.

To ćwiczenie jest częścią kursu

Uczenie maszynowe w finansach z Pythonem

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw n_neighbors w KNeighborsRegressor na najlepszą wartość 5 (wyznaczoną w poprzednim ćwiczeniu).
  • Uzyskaj prognozy za pomocą modelu knn na podstawie scaled_train_features i scaled_test_features.
  • Utwórz wykres punktowy test_targets względem test_predictions i oznacz go etykietą test.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod