El mapeo de Sammon es una técnica de reducción de dimensionalidad no lineal que se utiliza para representar datos de alta dimensión en un espacio de menor dimensión al tiempo que preserva las distancias por pares entre los puntos de datos tanto como sea posible. La técnica fue introducida por John W. Sammon Jr. en 1969.
El algoritmo de mapeo de Sammon intenta minimizar una función de estrés que cuantifica la diferencia entre las distancias por pares en el espacio original de alta dimensión y las distancias por pares en el espacio dimensional inferior. El algoritmo ajusta iterativamente las posiciones de los puntos de datos en el espacio de dimensión inferior hasta que se minimice la función de estrés.
La función Sammon en esta biblioteca proporciona una implementación del algoritmo de mapeo de Sammon. La función toma los siguientes parámetros:
x : Like, forma de matriz (n_samples, n_features) los datos de entrada.
n : int, opcional (predeterminado: 2) La dimensionalidad del espacio de salida. El valor predeterminado es 2.
display : int, opcional (predeterminado: 0) si se debe mostrar la información de iteración o no. El valor predeterminado es 0.
inputdist : STR, Opcional (predeterminado: 'Raw') El tipo de métrica de distancia utilizada en el espacio de entrada.
Los valores posibles son:
maxhalves : int, opcional (predeterminado: 20) El número máximo de veces se puede aplicar el procedimiento de mitad de mitad de reducción. El valor predeterminado es 20.
maxiter : int, opcional (predeterminado: 500) El número máximo de iteraciones. El valor predeterminado es 500.
tolfun : flotante, opcional (predeterminado: 1e-9) La tolerancia para el cambio en la función de estrés. El valor predeterminado es 1e-9.
init : STR, Opcional (predeterminado: 'PCA') El tipo de inicialización utilizado para el espacio de salida.
Los valores posibles son:
y : forma de matriz, forma (n_samples, n_components) los datos de salida transformados.
stress : Flote el valor final de la función de estrés.
Esta implementación se basa en el algoritmo descrito en el siguiente documento:
Sammon, JW (1969). Un mapeo no lineal para el análisis de la estructura de datos. Transacciones IEEE en computadoras, C-18 (5), 401-409. doi: 10.1109/tc.1969.222678