Hiperparametrii algoritmului KNN
Pentru a consolida conceptele din exercițiul anterior, este bine să le aplici și pe un algoritm nou. Algoritmul k-nearest-neighbors nu mai este la fel de popular ca altădată, însă poate fi în continuare o alegere excelentă pentru date organizate în grupuri cu comportament similar. Ar putea fi acesta cazul utilizatorilor noștri de carduri de credit?
În acest exercițiu vei testa mai multe valori diferite pentru unul dintre hiperparametrii de bază ai algoritmului knn și vei compara performanțele obținute.
Vei avea la dispoziție:
- DataFrame-urile
X_train,X_test,y_train,y_test
Acest exercițiu face parte din cursul
Ajustarea hiperparametrilor în Python
Instrucțiuni pentru exercițiu
- Construiește un estimator knn pentru următoarele valori ale parametrului
n_neighbors: [5, 10, 20]. - Antrenează fiecare model pe datele de antrenament și generează predicții.
- Calculează scorul de acuratețe pentru fiecare model și afișează-l.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(_____, _____, _____))