Modellering utan normalisering
Låt oss se vad som kan hända med din modells noggrannhet om du försöker modellera data utan att standardisera den först.
Här har vi en delmängd av wine-datamängden. En av kolumnerna, Proline, har en extremt hög varians jämfört med de övriga kolumnerna. Det här är ett typiskt exempel på när en teknik som lognormalisering är användbar – något du lär dig mer om i nästa avsnitt.
Traningsprocessen i scikit-learn borde vara bekant vid det här laget, så vi går inte in på djupet. Du har redan en k-nearest neighbors-modell (knn) tillgänglig, samt de X- och y-mängder du behöver för att träna och utvärdera modellen.
Den här övningen är en del av kursen
Förbehandling för maskininlärning i Python
Övningsinstruktioner
- Dela upp
X- ochy-mängderna i tränings- och testmängder, och se till att klassetiketterna är jämnt fördelade i båda mängderna. - Träna
knn-modellen på träningsfunktionerna och etiketterna. - Skriv ut testmängdens noggrannhet för
knn-modellen med hjälp av metoden.score().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____(____))