fastKnn

fastknn

Descripción

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ámetros
ParámetroDescripción
attributesEspecifica los atributos de la variable.
displayEspecifica una lista de tablas de resultados para enviar al cliente para su visualización.
distanceMetricEspecifica 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).
efConstructionEspecifica el número de vecinos a considerar durante la construcción del gráfico (predeterminado: 200).
efSearchEspecifica el número de nodos candidatos a explorar durante la fase de búsqueda gráfica (predeterminado: 10).
idEspecifica la variable a utilizar como identificador de registro.
imputeCuando 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.
inputsEspecifica las variables de entrada a utilizar en el análisis.
kEspecifica el número de vecinos que se devolverán (predeterminado: 2).
maxNeighborsEspecifica el número máximo de conexiones que cada nodo puede tener con otros nodos dentro de una capa (predeterminado: 16).
methodEspecifica el método de búsqueda de k vecinos más cercanos a utilizar (APPROXIMATE o EXACT).
outDistEspecifica la tabla de datos de salida en la que se guardarán las distancias calculadas.
outImputeEspecifica la tabla de datos de salida en la que se guardarán los datos de consulta después de imputar los valores faltantes.
outputEspecifica la tabla de datos de salida en la que se guardarán los vecinos calculados.
outputTablesEnumera los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
queryEspecifica la tabla de datos de entrada de consulta, que contiene las observaciones de consulta.
seedEspecifica el valor de semilla para la generación de números aleatorios.
tableEspecifica la configuración para una tabla de entrada (tabla de referencia/entrenamiento).
threshDistEspecifica el valor umbral a utilizar para el cálculo de la distancia.
useTopKOutDistCuando se establece en True, especifica que solo las k distancias más cercanas superiores se envíen a la tabla de parámetros outDist.
Creación de datos de entrenamiento y consulta

Crea dos conjuntos de datos: uno para entrenar el modelo (referencia) y otro con las observaciones de consulta para buscar vecinos.

¡Copiado!
1 
2DATA casuser.entrenamiento;
3INPUT x y id;
4DATALINES;
51 1 1 1 2 2 2 2 3 2 3 4;
6 
7RUN;
8 
9DATA casuser.consulta;
10INPUT x y id;
11DATALINES;
121.1 1.1 10 2.1 2.1 20;
13 
14RUN;
15 

Ejemplos

Ejecuta el algoritmo fastknn para encontrar los 2 vecinos más cercanos para los datos de consulta utilizando la métrica de distancia predeterminada.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3fastKnn.fastknn TABLE={name="entrenamiento"} query={name="consulta"} k=2 inputs={"x", "y"} id={"id"};
4 
5RUN;
6 
Resultado :
Se generan tablas de resultados mostrando los vecinos más cercanos identificados para cada observación de consulta.

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.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3fastKnn.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 
5RUN;
6 
Resultado :
Se crean las tablas 'vecinos' y 'distancias' en la librería activa con los resultados detallados del análisis.

FAQ

¿Cuál es la función principal de la acción fastknn?
¿Cuáles son los parámetros obligatorios para ejecutar esta acción?
¿Qué métricas de distancia están disponibles y cuál es la predeterminada?
¿Cómo se puede gestionar la imputación de valores faltantes?
¿Qué métodos de búsqueda ofrece la acción fastknn?
¿Cómo se especifica el número de vecinos que se deben devolver?
¿Para qué sirve el parámetro 'outDist'?
¿Qué controlan los parámetros 'efConstruction' y 'efSearch'?
¿Cómo se guardan los vecinos calculados?
¿Es posible limitar la salida de distancias a solo las k más cercanas?