Evaluar el rendimiento de KNN
Acabamos de observar algunos comportamientos en nuestras puntuaciones de KNN. Por un lado, las puntuaciones de entrenamiento empezaron altas y disminuyeron al aumentar n, algo típico. El rendimiento en el conjunto de prueba alcanzó su máximo en 5, así que usaremos ese valor en el modelo final de KNN.
Como ya hemos hecho varias veces, comprobaremos el rendimiento de forma visual. Esto nos ayuda a ver qué tal predice el modelo en diferentes rangos de valores reales. Obtendremos predicciones de nuestro modelo knn usando el método .predict() sobre nuestras variables escaladas. Luego, utilizaremos plt.scatter() de matplotlib para crear un diagrama de dispersión de valores reales frente a valores predichos.
Este ejercicio forma parte del curso
Machine Learning para finanzas con Python
Instrucciones del ejercicio
- Establece
n_neighborsenKNeighborsRegressoral mejor valor (5) encontrado en el ejercicio anterior. - Obtén predicciones usando el modelo
knna partir descaled_train_featuresyscaled_test_features. - Crea un diagrama de dispersión de
test_targetsfrente atest_predictionsy etiquétalo comotest.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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()