
Die Plattform „K Nearest Neighbors“ (KNN) sagt einen Antwortwert für eine bestimmte Beobachtung voraus, indem sie die Antworten der Beobachtungen in der lokalen Nachbarschaft dieser Beobachtung verwendet. Es kann sowohl zur Klassifizierung einer kategorialen Reaktion als auch zur Vorhersage einer kontinuierlichen Reaktion verwendet werden.
KNN ist ein nichtparametrischer, überwachter Algorithmus für maschinelles Lernen. Es basiert auf der zugrunde liegenden Annahme, dass Ähnlichkeiten in bestimmten Parametern (den Beobachtungen) Ähnlichkeiten in anderen Parametern (der Vorhersage) widerspiegeln. Um diese Annahme zu erfüllen, ordnet KNN die k kleinsten Abstände zwischen der gegebenen Beobachtung und allen anderen Beobachtungen ein.
Aufgrund dieser Tatsache können K-Nearest Neighbors Beobachtungen mit unregelmäßigen Vorhersagegrenzen klassifizieren. Da der Algorithmus jedoch empfindlich auf irrelevante Prädiktoren reagiert, kann sich die Wahl der Prädiktoren auf Ihre Ergebnisse auswirken.
Berechnen Sie die Entfernung
JMP pro 17 verwendet euklidische Distanzen, um die Distanzen zwischen den Prädiktorwerten und denen anderer zu berechnen. In einem 2D-Raum ist der euklidische Abstand d zwischen (x1, y1) und (x2, y2) einfach:
d = sqrt((x2-x1)^2 + (y2-y1)^2)
Die euklidische Methode erfordert, dass alle Werte real sind.
Vorhersagen treffen
Das KNN gibt seine Vorhersage abhängig von der Art der Antworten ab, die es erhält.
- Kontinuierliche Antworten
JMP sagt Werte als Durchschnitt der Antworten der k nächsten Nachbarn voraus. Jeder kontinuierliche Prädiktor wird anhand seiner Standardabweichung skaliert. Fehlende Werte für einen kontinuierlichen Prädiktor werden durch den Mittelwert dieses Prädiktors ersetzt.
- Kategorische Antworten
In JMP ist der vorhergesagte Wert das häufigste Antwortniveau für die k nächsten Nachbarn. Wenn es mehr als eine Top-Antwort gibt, wird die vorhergesagte Antwort durch zufällige Auswahl einer dieser Ebenen zugewiesen.
Der k-Wert oder n_neighbors
Unterschiedliche Werte von k können unterschiedliche Vorhersagen liefern. In JMP müssen Sie nur die maximale Anzahl von k angeben. Für jedes k, 1 ≤ k ≤ k_max, erstellt JMP ein Modell, das nur die Beobachtungen des Trainingssatzes verwendet. Jedes dieser Modelle wird verwendet, um die Beobachtungen des Validierungssatzes zu klassifizieren. Die Ergebnisse des Validierungssatzes werden verwendet, um das Modell mit der niedrigsten Fehlklassifizierungsrate (auch bekannt als das beste k) auszuwählen.
Validierung für KNN in der JMP-Modellierung
Sie können eine numerische Spalte als Validierung für die KNN-Modellierung in JMP Pro hinzufügen. JMP nutzt die Validierung, um Daten vor der Modellierung in Sätze zu unterteilen, um Überanpassungen zu reduzieren und ein gutes Vorhersagemodell auszuwählen. Für KNN ist diese Funktion optional. Eine Überanpassung kann jedoch zu einer Diskrepanz zwischen Training und Vorhersage führen, d. h. der Algorithmus ist zu spezifisch für die Trainingsdaten, was zu weniger genauen Vorhersagen führt.
Für KNN können Sie die Daten mit den folgenden Methoden in zwei oder drei Sätze aufteilen:
|
Methode
|
Satz
|
Funktion
|
|
Trainieren und stimmen Sie
|
Ausbildung
|
Modellparameter schätzen
|
|
Validierung
|
Optimieren Sie die Modellparameter im Modellanpassungsalgorithmus und wählen Sie letztendlich ein Modell mit guter Vorhersagefähigkeit aus
|
|
Trainieren, optimieren und bewerten Sie
|
Ausbildung
|
Schätzen Sie die Modellparameter
|
|
Validierung
|
Optimieren Sie die Modellparameter im Modellanpassungsalgorithmus und wählen Sie letztendlich ein Modell mit guter Vorhersagefähigkeit aus
|
|
Prüfen
|
Bewerten Sie unabhängig die Leistung des angepassten Modells
|
Erfahren Sie mehr über die Validierung in der JMP-Dokumentation: Beispiel für die Make Validation Column Platform (jmp.com)
Beispiel
In diesem Beispiel möchten wir KNN verwenden, um einen Kunden basierend auf seiner Finanzhistorie zwischen „Gutes Risiko“ und „Schlechtes Risiko“ zu kategorisieren.
- Wählen Sie Hilfe > Beispieldatenordner und öffnen Sie Equity.jmp .
- Wählen Sie Analysieren > Vorhersagemodellierung > K Nächste Nachbarn aus.
- Wählen Sie BAD und klicken Sie auf Y, Response . Das ist der Wert der Analyse.
- Wählen Sie LOAN und CLNO und klicken Sie auf X, Faktor . Dies sind die Prädiktorvariablen.
- Wählen Sie „Validierung“ und klicken Sie auf „Validierung“ . Dies ist der Wert, der zur Aufteilung der Daten in Sätze vor der Modellierung verwendet wird, um eine Überanpassung zu vermeiden und ein gutes Vorhersagemodell auszuwählen. Im Beispiel haben wir die Methoden Train, Tune und Evaluate verwendet.
- OK klicken .
Um die Vorhersagegleichung zu speichern
- Klicken Sie mit der rechten Maustaste auf das rote Dreieck „BAD“ und wählen Sie „Prognoseformel veröffentlichen“ aus.
- Behalten Sie neben „Anzahl der Nachbarn, K“ den Standardwert 7 bei.
- OK klicken .
Die Vorhersagegleichung wird im Formeldepot gespeichert. Mithilfe der Option „Modellvergleich“ im Formeldepot können Sie die Leistung alternativer Modelle, die im Formeldepot veröffentlicht wurden, mit der Leistung des K = 7-Nächste-Nachbarn-Modells vergleichen. Weitere Informationen zum Formeldepot finden Sie in der Hilfe/JMP-Dokumentationsbibliothek, Seite 3763 .
Wenn Sie interessiert sind, können Sie zu Schritt 4 zurückkehren. Dieses Mal geben Sie alle Parameter zwischen LOAN und CLNO als X, Faktor ein. Was hat sich geändert und warum?
Shuran,
Bewertet von Jeremy T. @jeteez
Januar 2024, basierend auf JMP(R) Pro 17.2.0
Dieser Artikel spiegelt nicht die Positionen und Meinungen von JMP Statistical Discovery oder SAS Institute wider.