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
Instrukcje do ćwiczenia
- Ustaw
n_neighborswKNeighborsRegressorna najlepszą wartość 5 (wyznaczoną w poprzednim ćwiczeniu). - Uzyskaj prognozy za pomocą modelu
knnna podstawiescaled_train_featuresiscaled_test_features. - Utwórz wykres punktowy
test_targetswzględemtest_predictionsi 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()