Hyperparamètres de KNN
Pour mettre en pratique les notions vues dans l’exercice précédent, il est recommandé de les tester sur un nouvel algorithme. L’algorithme des k-plus-proches-voisins est moins populaire qu’autrefois, mais il peut rester un excellent choix lorsque les données contiennent des groupes se comportant de façon similaire. Est-ce le cas pour nos utilisateurs de cartes de crédit ?
Ici, vous allez essayer plusieurs valeurs pour l’un des hyperparamètres clés de l’algorithme KNN et comparer les performances.
Vous avez à disposition :
- les DataFrames
X_train,X_test,y_train,y_test
Cet exercice fait partie du cours
Optimisation des hyperparamètres en Python
Instructions
- Construisez un estimateur KNN pour les valeurs de
n_neighborssuivantes : [5,10,20]. - Ajustez chacun sur les données d’entraînement et générez des prédictions.
- Calculez un score de précision pour chaque modèle et affichez-les.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Build a knn estimator for each value of n_neighbours
knn_5 = KNeighborsClassifier(n_neighbors=____)
knn_10 = KNeighborsClassifier(n_neighbors=____)
knn_20 = KNeighborsClassifier(n_neighbors=____)
# Fit each to the training data & produce predictions
knn_5_predictions = knn_5.fit(_____, _____).predict(_____)
knn_10_predictions = knn_10.fit(_____, _____).predict(_____)
knn_20_predictions = knn_20.fit(_____, _____).predict(_____)
# Get an accuracy score for each of the models
knn_5_accuracy = accuracy_score(y_test, _____)
knn_10_accuracy = accuracy_score(y_test, _____)
knn_20_accuracy = accuracy_score(y_test, _____)
print("The accuracy of 5, 10, 20 neighbours was {}, {}, {}".format(_____, _____, _____))