Supraadaptare și subadaptare
Interpretarea complexității modelului este o metodă excelentă de evaluare a performanței în învățarea supervizată. Scopul tău este să obții un model care să surprindă relația dintre caracteristici și variabila țintă, dar care să și generalizeze bine atunci când întâlnește observații noi.
Seturile de antrenament și de testare au fost create din setul de date churn_df și sunt preîncărcate ca X_train, X_test, y_train și y_test.
De asemenea, KNeighborsClassifier a fost importat pentru tine, împreună cu numpy ca np.
Acest exercițiu face parte din cursul
Învățare supravegheată cu scikit-learn
Instrucțiuni pentru exercițiu
- Creează
neighborsca un arraynumpycu valori de la1până la12inclusiv. - Instanțiază un
KNeighborsClassifier, cu numărul de vecini egal cu iteratorulneighbor. - Antrenează modelul pe datele de antrenament.
- Calculează scorurile de acuratețe pentru setul de antrenament și pentru setul de testare separat, folosind metoda
.score(), și atribuie rezultatele dicționarelortrain_accuraciesși, respectiv,test_accuracies, utilizând iteratorulneighborca index.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)