Přetrénování a podtrénování
Sledování složitosti modelu je skvělý způsob, jak hodnotit výkon v rámci supervised learningu. Cílem je vytvořit model, který dokáže zachytit vztah mezi příznaky a cílovou proměnnou a zároveň dobře zobecňovat na nová pozorování.
Trénovací a testovací sady byly vytvořeny z datasetu churn_df a jsou připraveny jako X_train, X_test, y_train a y_test.
Navíc jsou pro tebe naimportovány KNeighborsClassifier a numpy jako np.
Toto cvičení je součástí kurzu
Supervised Learning with scikit-learn
Pokyny k cvičení
- Vytvoř proměnnou
neighborsjakonumpypole hodnot od1včetně do12včetně. - Vytvoř instanci
KNeighborsClassifier, kde počet sousedů odpovídá iterátoruneighbor. - Natrénuj model na trénovacích datech.
- Vypočítej skóre přesnosti pro trénovací a testovací sadu zvlášť pomocí metody
.score()a výsledky ulož do slovníkůtrain_accuraciesatest_accuraciess použitím iterátoruneighborjako indexu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)