Avaliar o desempenho do KNN
Acabamos de observar algumas coisas com nossos escores do KNN. Primeiro, os escores de treino começaram altos e diminuíram com o aumento de n, o que é típico. Já o desempenho no conjunto de teste atingiu um pico em 5, e vamos usar esse valor como configuração no modelo KNN final.
Como já fizemos algumas vezes, vamos verificar o desempenho visualmente. Isso ajuda a ver quão bem o modelo prevê em diferentes faixas de valores reais. Vamos obter previsões do nosso modelo knn usando o método .predict() nas nossas features escaladas. Em seguida, usaremos o plt.scatter() do matplotlib para criar um gráfico de dispersão de valores reais versus previstos.
Este exercicio faz parte do curso
Machine Learning para Finanças em Python
Instruções do exercicio
- Defina
n_neighborsnoKNeighborsRegressorpara o melhor valor de desempenho, 5 (encontrado no exercício anterior). - Obtenha previsões usando o modelo
knna partir descaled_train_featuresescaled_test_features. - Crie um gráfico de dispersão de
test_targetsversustest_predictionse rotule-o comotest.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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()