Modelleren zonder normaliseren
Laten we bekijken wat er kan gebeuren met de nauwkeurigheid van je model als je data probeert te modelleren zonder eerst een vorm van standaardisatie toe te passen.
Hier gebruiken we een subset van de wine-gegevensset. Eén van de kolommen, Proline, heeft een extreem hoge variantie vergeleken met de andere kolommen. Dit is een voorbeeld waarbij een techniek zoals log-normalisatie handig is, waar je in de volgende sectie meer over leert.
Het trainingsproces van scikit-learn zou je inmiddels bekend moeten zijn, dus we gaan er niet te diep op in. Je hebt al een k-nearest neighbors-model (knn) beschikbaar, evenals de X- en y-sets die je nodig hebt om te fitten en te scoren.
Deze oefening maakt deel uit van de cursus
Preprocessing voor Machine Learning in Python
Oefeninstructies
- Splits de
X- eny-sets in trainings- en testsets, en zorg ervoor dat de klassenlabels gelijk verdeeld zijn over beide sets. - Fit het
knn-model op de trainingsfeatures en -labels. - Print de testnauwkeurigheid van het
knn-model met de.score()-methode.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.____(____))