Modelování bez normalizace
Podívejme se, co se může stát s přesností modelu, když se pokusíš modelovat data bez předchozí standardizace.
Pracujeme s podmnožinou datasetu wine. Jeden ze sloupců, Proline, má ve srovnání s ostatními sloupci extrémně vysoký rozptyl. To je typický případ, kdy se hodí technika jako logaritmická normalizace – o té se dozvíš v příští části.
Postup trénování modelu v scikit-learn by ti už měl být dobře známý, takže ho nebudeme rozebírat do hloubky. K dispozici máš model k-nejbližších sousedů (knn) a také sady X a y, které potřebuješ k trénování a vyhodnocení.
Toto cvičení je součástí kurzu
Preprocessing pro Machine Learning v Pythonu
Pokyny k cvičení
- Rozděl sady
Xayna trénovací a testovací část tak, aby byly třídní štítky v obou sadách rovnoměrně zastoupeny. - Natrénuj model
knnna trénovacích příznacích a štítcích. - Vypiš přesnost modelu
knnna testovací sadě pomocí metody.score().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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.____(____))