ComenzarEmpieza gratis

Sobreajuste e infraajuste

Interpretar la complejidad del modelo es una buena forma de evaluar el rendimiento del aprendizaje supervisado. Tu objetivo es producir un modelo que pueda interpretar la relación entre las características y la variable objetivo, así como generalizar bien cuando se exponga a nuevas observaciones.

Los conjuntos de entrenamiento y prueba se han creado a partir del conjunto de datos churn_df y se han precargado como X_train, X_test, y_train, y y_test.

Además, se ha importado para ti KNeighborsClassifier junto con numpy como np.

Este ejercicio forma parte del curso

Aprendizaje supervisado con scikit-learn

Ver curso

Instrucciones de ejercicio

  • Crea neighbors como una matriz numpy de valores desde 1 hasta 12 inclusive.
  • Instanciar un KNeighborsClassifier, con el número de vecinos igual al iterador neighbor.
  • Ajusta el modelo a los datos de entrenamiento.
  • Calcula las puntuaciones de precisión del conjunto de entrenamiento y del conjunto de prueba por separado utilizando el método .score(), y asigna los resultados a los diccionarios train_accuracies y test_accuracies, respectivamente, utilizando el iterador neighbor como índice.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Create neighbors
neighbors = np.arange(____, ____)
train_accuracies = {}
test_accuracies = {}

for neighbor in neighbors:
  
	# Set up a KNN Classifier
	knn = ____(____=____)
  
	# Fit the model
	knn.____(____, ____)
  
	# Compute accuracy
	train_accuracies[____] = knn.____(____, ____)
	test_accuracies[____] = knn.____(____, ____)
print(neighbors, '\n', train_accuracies, '\n', test_accuracies)
Editar y ejecutar código