ComeçarComece gratuitamente

Sobreajuste e subajuste

A interpretação da complexidade do modelo é uma ótima maneira de avaliar o desempenho do aprendizado supervisionado. Seu objetivo é produzir um modelo capaz de interpretar a relação entre as variáveis independentes e a variável dependente, além de generalizar bem quando exposto a novas observações.

Os conjuntos de treinamento e teste foram criados a partir do conjunto de dados churn_df e pré-carregados como X_train, X_test, y_train e y_test.

Além disso, KNeighborsClassifier foi importado para você junto com numpy como np.

Este exercício faz parte do curso

Aprendizado Supervisionado com o scikit-learn

Ver Curso

Instruções de exercício

  • Crie neighbors como uma matriz de valores do numpy de 1 até 12, incluindo 12.
  • Instancie um KNeighborsClassifier, com número de vizinhos igual ao do iterador neighbor.
  • Ajuste o modelo aos dados de treinamento.
  • Calcule as pontuações de precisão do conjunto de treinamento e do conjunto de teste separadamente usando o método .score() e atribua os resultados aos dicionários train_accuracies e test_accuracies, respectivamente, utilizando o iterador neighbor como índice.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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 e executar código