Führt eine Suche nach den k-nächsten Nachbarn durch. Diese Aktion identifiziert die k nächsten Nachbarn für jede Beobachtung in einer Abfragetabelle basierend auf den Daten in einer Referenztabelle.
| Parameter | Beschreibung |
|---|---|
| attributes | Gibt die Variablenattribute an. |
| display | Gibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen. |
| distanceMetric | Gibt die Metrik an, die zur Messung des Abstands zwischen Punkten in k-Nächste-Nachbarn-Berechnungen verwendet werden soll (L2, COSINE, IP). |
| efConstruction | Gibt die Anzahl der Nachbarn an, die während der Graphenkonstruktion berücksichtigt werden sollen. |
| efSearch | Gibt die Anzahl der Kandidatenknoten an, die während der Graphensuchphase untersucht werden sollen. |
| id | Gibt die Variable an, die als Datensatzidentifikator verwendet werden soll. |
| impute | Wenn auf True gesetzt, werden fehlende Werte in der Abfragedatentabelle mithilfe der k-Nächste-Nachbarn-Methode imputiert. |
| inputs | Gibt die Variablen an, die in der Analyse verwendet werden sollen. |
| k | Gibt die Anzahl der zurückzugebenden Nachbarn an. |
| maxNeighbors | Gibt die maximale Anzahl von Verbindungen an, die jeder Knoten zu anderen Knoten innerhalb einer Schicht haben kann. |
| method | Gibt die zu verwendende k-Nächste-Nachbarn-Suchmethode an (APPROXIMATE oder EXACT). |
| outDist | Gibt die Ausgabedatentabelle an, in der die berechneten Abstände gespeichert werden sollen. |
| outImpute | Gibt die Ausgabedatentabelle an, in der die Abfragedaten nach der Imputation fehlender Werte gespeichert werden sollen. |
| output | Gibt die Ausgabedatentabelle an, in der die berechneten Nachbarn gespeichert werden sollen. |
| outputTables | Listet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen. |
| query | Gibt die Eingabedatentabelle für die Abfrage an, die die Abfragebeobachtungen enthält. |
| seed | Gibt den Startwert für die Zufallszahlengenerierung an. |
| table | Gibt die Einstellungen für eine Eingabetabelle an (die Referenzdaten). |
| threshDist | Gibt den Schwellenwert an, der für die Abstandsberechnung verwendet werden soll. |
| useTopKOutDist | Wenn auf True gesetzt, werden nur die Top-k-nächsten Abstände in die Parametertabelle outDist ausgegeben. |
Erstellen Sie einen einfachen Datensatz für das KNN-Beispiel.
| 1 | DATA mycas.source_data; |
| 2 | INPUT id x1 x2; |
| 3 | DATALINES; |
| 4 | 1 1 1 |
| 5 | 2 1 2 |
| 6 | 3 2 1 |
| 7 | 4 5 5 |
| 8 | 5 5 6 |
| 9 | 6 6 5 |
| 10 | ; |
| 11 | RUN; |
| 12 | |
| 13 | DATA mycas.query_data; |
| 14 | INPUT qid x1 x2; |
| 15 | DATALINES; |
| 16 | 1 1.1 1.1 |
| 17 | 2 5.1 5.1 |
| 18 | ; |
| 19 | RUN; |
Sucht die 2 nächsten Nachbarn für jeden Abfragepunkt.
| 1 | PROC CAS; |
| 2 | fastKnn.fastknn / |
| 3 | TABLE={name="source_data"} |
| 4 | query={name="query_data"} |
| 5 | k=2 |
| 6 | id={"id"} |
| 7 | inputs={"x1", "x2"} |
| 8 | OUTPUT={casOut={name="knn_results", replace=TRUE}}; |
| 9 | RUN; |
Führt eine Suche mit 3 Nachbarn durch, verwendet die L2-Distanz und speichert die berechneten Abstände in einer separaten Tabelle.
| 1 | PROC CAS; |
| 2 | fastKnn.fastknn / |
| 3 | TABLE={name="source_data"} |
| 4 | query={name="query_data"} |
| 5 | k=3 |
| 6 | distanceMetric="L2" |
| 7 | id={"id"} |
| 8 | inputs={"x1", "x2"} |
| 9 | outDist={name="distances", replace=TRUE} |
| 10 | OUTPUT={casOut={name="knn_detailed", replace=TRUE}}; |
| 11 | RUN; |