Гіперпараметри KNN
Щоб закріпити попередній матеріал, корисно випробувати нові знання на іншому алгоритмі. Алгоритм k найближчих сусідів уже не такий популярний, як раніше, але все ще може бути відмінним вибором для даних, у яких є групи спостережень із подібною поведінкою. Чи може це стосуватися наших користувачів кредитних карток?
У цьому завданні ви спробуєте кілька різних значень одного з базових гіперпараметрів алгоритму kNN і порівняєте якість.
У вашому розпорядженні:
- датафрейми
X_train,X_test,y_train,y_test
Ця вправа є частиною курсу
Тюнінг гіперпараметрів у Python
Інструкції до вправи
- Створіть оцінювач kNN для таких значень
n_neighbors: [5,10,20]. - Навчіть кожну модель на тренувальних даних і побудуйте передбачення.
- Обчисліть точність (accuracy) для кожної моделі та виведіть результати.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(_____, _____, _____))