Переобладнання та недообладнання
Інтерпретація складності моделі — це чудовий спосіб оцінити якість контрольованого навчання. Ваша мета — побудувати модель, яка вміє виявляти зв'язок між ознаками та цільовою змінною і водночас добре узагальнює на нові спостереження.
Тренувальну та тестову вибірки створено з набору даних churn_df і попередньо завантажено як X_train, X_test, y_train та y_test.
Крім того, для вас вже імпортовано KNeighborsClassifier, а також numpy як np.
Ця вправа є частиною курсу
Кероване навчання зі scikit-learn
Інструкції до вправи
- Створіть
neighborsяк масивnumpyзі значеннями від1до включно12. - Створіть екземпляр
KNeighborsClassifierз кількістю сусідів, що дорівнює ітераторуneighbor. - Навчіть модель на тренувальних даних.
- Окремо обчисліть значення точності для тренувальної та тестової вибірок за допомогою методу
.score()і запишіть результати у словникиtrain_accuraciesтаtest_accuraciesвідповідно, використовуючи ітераторneighborяк індекс.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)