Realiza una búsqueda de los k vecinos más cercanos (k-nearest neighbor). La acción calcula las distancias entre las observaciones de consulta y las observaciones de entrada para identificar los k registros más similares.
| Parámetro | Descripción |
|---|---|
| attributes | Especifica los atributos de la variable. |
| display | Especifica una lista de tablas de resultados para enviar al cliente para su visualización. |
| distanceMetric | Especifica la métrica que se utilizará para medir la distancia entre puntos en los cálculos de k vecinos más cercanos (COSINE, IP, L2). |
| efConstruction | Especifica el número de vecinos a considerar durante la construcción del gráfico (predeterminado: 200). |
| efSearch | Especifica el número de nodos candidatos a explorar durante la fase de búsqueda gráfica (predeterminado: 10). |
| id | Especifica la variable a utilizar como identificador de registro. |
| impute | Cuando se establece en True, especifica que las observaciones con valores faltantes en la tabla de datos de consulta se imputen utilizando el método de k vecinos más cercanos. |
| inputs | Especifica las variables de entrada a utilizar en el análisis. |
| k | Especifica el número de vecinos que se devolverán (predeterminado: 2). |
| maxNeighbors | Especifica el número máximo de conexiones que cada nodo puede tener con otros nodos dentro de una capa (predeterminado: 16). |
| method | Especifica el método de búsqueda de k vecinos más cercanos a utilizar (APPROXIMATE o EXACT). |
| outDist | Especifica la tabla de datos de salida en la que se guardarán las distancias calculadas. |
| outImpute | Especifica la tabla de datos de salida en la que se guardarán los datos de consulta después de imputar los valores faltantes. |
| output | Especifica la tabla de datos de salida en la que se guardarán los vecinos calculados. |
| outputTables | Enumera los nombres de las tablas de resultados para guardar como tablas CAS en el servidor. |
| query | Especifica la tabla de datos de entrada de consulta, que contiene las observaciones de consulta. |
| seed | Especifica el valor de semilla para la generación de números aleatorios. |
| table | Especifica la configuración para una tabla de entrada (tabla de referencia/entrenamiento). |
| threshDist | Especifica el valor umbral a utilizar para el cálculo de la distancia. |
| useTopKOutDist | Cuando se establece en True, especifica que solo las k distancias más cercanas superiores se envíen a la tabla de parámetros outDist. |
Crea dos conjuntos de datos: uno para entrenar el modelo (referencia) y otro con las observaciones de consulta para buscar vecinos.
| 1 | |
| 2 | DATA casuser.entrenamiento; |
| 3 | INPUT x y id; |
| 4 | DATALINES; |
| 5 | 1 1 1 1 2 2 2 2 3 2 3 4; |
| 6 | |
| 7 | RUN; |
| 8 | |
| 9 | DATA casuser.consulta; |
| 10 | INPUT x y id; |
| 11 | DATALINES; |
| 12 | 1.1 1.1 10 2.1 2.1 20; |
| 13 | |
| 14 | RUN; |
| 15 |
Ejecuta el algoritmo fastknn para encontrar los 2 vecinos más cercanos para los datos de consulta utilizando la métrica de distancia predeterminada.
| 1 | |
| 2 | PROC CAS; |
| 3 | fastKnn.fastknn TABLE={name="entrenamiento"} query={name="consulta"} k=2 inputs={"x", "y"} id={"id"}; |
| 4 | |
| 5 | RUN; |
| 6 |
Realiza una búsqueda de vecinos utilizando la distancia Euclidiana (L2), guardando los resultados de los vecinos y las distancias en tablas de salida separadas.
| 1 | |
| 2 | PROC CAS; |
| 3 | fastKnn.fastknn TABLE={name="entrenamiento"} query={name="consulta"} k=2 inputs={"x", "y"} id={"id"} OUTPUT={casOut={name="vecinos", replace=true}} outDist={name="distancias", replace=true} distanceMetric="L2"; |
| 4 | |
| 5 | RUN; |
| 6 |