Iperparametri di KNN
Per mettere in pratica i concetti dell’esercizio precedente, è utile provarli su un nuovo algoritmo. L’algoritmo k-nearest neighbors non è più popolare come un tempo, ma può ancora essere un’ottima scelta quando ci sono gruppi di osservazioni che si comportano in modo simile. Potrebbe essere il caso dei nostri utenti di carte di credito?
Qui proverai diversi valori per uno degli iperparametri principali dell’algoritmo KNN e confronterai le prestazioni.
Hai a disposizione:
- DataFrame
X_train,X_test,y_train,y_test
Questo esercizio fa parte del corso
Ottimizzazione degli iperparametri in Python
Istruzioni dell'esercizio
- Crea un estimator KNN per i seguenti valori di
n_neighbors[5,10,20]. - Esegui il fit su ciascuno con i dati di training e genera le previsioni.
- Calcola l’accuracy per ogni modello e stampala.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(_____, _____, _____))