Valutare le prestazioni del KNN
Abbiamo appena osservato alcune cose con i nostri punteggi del KNN. Per prima cosa, i punteggi di training partivano alti e diminuivano con l'aumentare di n, cosa tipica. Le prestazioni sul test set hanno però raggiunto il picco a 5, e useremo questo valore come impostazione nel modello KNN finale.
Come abbiamo già fatto più volte, controlleremo le prestazioni in modo visivo. Questo ci aiuta a vedere quanto bene il modello prevede in diverse regioni dei valori reali. Otterremo le previsioni dal nostro modello knn usando il metodo .predict() sulle feature scalate. Poi useremo plt.scatter() di matplotlib per creare uno scatter plot dei valori reali rispetto a quelli previsti.
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Imposta
n_neighborsinKNeighborsRegressoral valore con le migliori prestazioni, 5 (trovato nell'esercizio precedente). - Ottieni le previsioni usando il modello
knndascaled_train_featuresescaled_test_features. - Crea uno scatter plot di
test_targetsrispetto atest_predictionse etichettalotest.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()