Modellieren ohne Normalisierung
Schauen wir uns an, was mit der Genauigkeit deines Modells passieren kann, wenn du Daten modellierst, ohne sie vorher in irgendeiner Form zu standardisieren.
Hier haben wir einen Teil des wine-Datensatzes. Eine der Spalten, Proline, hat im Vergleich zu den anderen Spalten eine extrem hohe Varianz. Das ist ein Beispiel, bei dem eine Technik wie die Log-Normalisierung hilfreich wäre – dazu lernst du im nächsten Abschnitt mehr.
Der Trainingsprozess für Modelle in scikit-learn sollte dir inzwischen vertraut sein, daher gehen wir hier nicht zu sehr ins Detail. Du hast bereits ein k-Nearest-Neighbors-Modell (knn) sowie die X- und y-Mengen, die du zum Fitten und Bewerten brauchst.
Diese Übung ist Teil des Kurses
Vorverarbeitung für Machine Learning in Python
Anleitung zur Übung
- Teile die Mengen
Xundyin Trainings- und Testsets auf und stelle sicher, dass die Klassenlabels in beiden Sets gleichmäßig verteilt sind. - Fitte das
knn-Modell auf die Trainings-Features und -Labels. - Gib die Testgenauigkeit des
knn-Modells mit der Methode.score()aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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.____(____))