EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Establece n_neighbors en KNeighborsRegressor al mejor valor (5) encontrado en el ejercicio anterior.
  • Obtén predicciones usando el modelo knn a partir de scaled_train_features y scaled_test_features.
  • Crea un diagrama de dispersión de test_targets frente a test_predictions y etiquétalo como test.

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()
Editar y ejecutar código