НачатьНачать бесплатно

Переобучение и недообучение

Анализ сложности модели — один из лучших способов оценить качество обучения с учителем. Цель состоит в том, чтобы построить модель, которая точно улавливает связь между признаками и целевой переменной, а также хорошо обобщается на новые наблюдения.

Обучающая и тестовая выборки уже подготовлены из набора данных 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)
Редактировать и запускать код