Modelowanie bez normalizacji
Sprawdźmy, co może się stać z dokładnością modelu, gdy spróbujesz trenować go na danych bez wcześniejszej standaryzacji.
Pracujemy tu na podzbiorze zbioru danych wine. Jedna z kolumn, Proline, ma wyjątkowo wysoką wariancję w porównaniu z pozostałymi kolumnami. To klasyczny przykład sytuacji, w której przydaje się technika taka jak normalizacja logarytmiczna – nauczysz się jej w następnej sekcji.
Proces trenowania modelu w scikit-learn powinien być ci już znany, więc nie będziemy wchodzić w szczegóły. Masz do dyspozycji gotowy model k-najbliższych sąsiadów (knn) oraz zbiory X i y potrzebne do dopasowania i oceny modelu.
To ćwiczenie jest częścią kursu
Preprocessing w uczeniu maszynowym w Pythonie
Instrukcje do ćwiczenia
- Podziel zbiory
Xiyna zbiory treningowy i testowy, dbając o równomierne rozłożenie etykiet klas w obu zbiorach. - Dopasuj model
knndo cech i etykiet ze zbioru treningowego. - Wydrukuj dokładność modelu
knnna zbiorze testowym, korzystając z metody.score().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, stratify=____, random_state=42)
knn = KNeighborsClassifier()
# Fit the knn model to the training data
knn.____(____, ____)
# Score the model on the test data
print(knn.____(____))