Zacznij terazZacznij za darmo

Przeuczenie i niedouczenie

Analiza złożoności modelu to doskonały sposób na ocenę wydajności uczenia nadzorowanego. Celem jest zbudowanie modelu, który poprawnie interpretuje zależności między cechami a zmienną docelową, a jednocześnie dobrze generalizuje na nowych danych.

Zbiory treningowy i testowy zostały utworzone ze zbioru danych churn_df i są dostępne jako X_train, X_test, y_train oraz y_test.

Do środowiska zostały już zaimportowane KNeighborsClassifier oraz biblioteka numpy jako np.

To ćwiczenie jest częścią kursu

Nadzorowane uczenie maszynowe z scikit-learn

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz zmienną neighbors jako tablicę numpy z wartościami od 1 do 12 włącznie.
  • Utwórz instancję KNeighborsClassifier, ustawiając liczbę sąsiadów równą bieżącej wartości iteratora neighbor.
  • Dopasuj model do danych treningowych.
  • Oblicz dokładność osobno dla zbioru treningowego i testowego, korzystając z metody .score(), a wyniki przypisz odpowiednio do słowników train_accuracies i test_accuracies, używając iteratora neighbor jako indeksu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod