Kursinhalt
Klassifikation mit Python
Klassifikation mit Python
5. Modelle Vergleichen
K-nn Zusammenfassung
Aus dem, was wir gelernt haben, können wir sagen, dass k-NN einfach zu implementieren ist, aber Skalierung erfordert. Es hat einige weitere Besonderheiten:
- k-NN erfordert kein Training.
Im Gegensatz zu vielen anderen Algorithmen lernt k-NN während des Trainings nichts. Es muss nur die Informationen über die Koordinaten aller Datenpunkte behalten.
Da jedoch alle Berechnungen während der Vorhersagen durchgeführt werden, ist die Vorhersagezeit im Vergleich zu anderen Algorithmen größer; - k-NN ist ein gieriger Algorithmus.
Das Modell berechnet die Abstände zu jeder Trainingsinstanz, um die Nachbarn zu finden. Daher kann es bei großen Datensätzen schmerzhaft langsam werden; - Einfach, neue Trainingsdaten hinzuzufügen.
Da das Modell nicht trainiert werden muss, können wir einfach neue Trainingsdatenpunkte hinzufügen, und die Vorhersagen passen sich an; - Der Fluch der Dimensionalität.
Einige Algorithmen haben wirklich Schwierigkeiten, wenn die Anzahl der Dimensionen (Merkmale) groß ist. Und leider hat k-NN dieses Problem auch. Der Abstand zwischen zwei Punkten im hochdimensionalen Raum neigt dazu, ähnlich zu werden, unabhängig von den tatsächlichen Werten der Merkmale, sodass es viel schwieriger wird zu bestimmen, ob die Instanzen ähnlich sind.
Hier ist also eine kleine Zusammenfassung des k-NN-Algorithmus:
Vorteile | Nachteile |
---|---|
Keine Trainingszeit | Erfordert Merkmalsskalierung |
Einfach, neue Trainingsdaten hinzuzufügen | Vorhersagezeit ist hoch |
Funktioniert nicht gut mit einer großen Anzahl von Trainingsinstanzen | |
Funktioniert nicht gut mit einer großen Anzahl von Merkmalen |
War alles klar?
Danke für Ihr Feedback!
Abschnitt 1. Kapitel 8