CommencerCommencer gratuitement

Surajustement et sous-ajustement

L’interprétation de la complexité des modèles est un excellent moyen d’évaluer les performances de l’apprentissage supervisé. Votre objectif est de produire un modèle capable d’interpréter la relation entre les caractéristiques et la variable cible, et également de bien se généraliser lorsqu’il est exposé à de nouvelles observations.

Les ensembles d’apprentissage et de test ont été créés à partir de l’ensemble de données churn_df et préchargés en tant que X_train, X_test, y_train et y_test.

En outre, KNeighborsClassifier a été importé pour vous en même temps que numpy et np.

Cet exercice fait partie du cours

Apprentissage supervisé avec scikit-learn

Afficher le cours

Instructions

  • Créez neighbors en tant que tableau numpy de valeurs allant de 1 à 12 inclus.
  • Instanciez un KNeighborsClassifier, dont le nombre de voisins est égal à celui de l’itérateur neighbor.
  • Ajustez le modèle aux données d’apprentissage.
  • Calculez les scores de précision pour l’ensemble d’apprentissage et l’ensemble de test séparément à l’aide de la méthode .score(), et attribuez les résultats aux dictionnaires train_accuracies et test_accuracies, respectivement, en utilisant l’itérateur neighbor comme index.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
Modifier et exécuter le code