O mapeamento Sammon é uma técnica de redução de dimensionalidade não linear que é usada para representar dados de alta dimensão em um espaço dimensional inferior, preservando as distâncias pareadas entre os pontos de dados o máximo possível. A técnica foi introduzida por John W. Sammon Jr. em 1969.
O algoritmo de mapeamento de Sammon tenta minimizar uma função de tensão que quantifica a diferença entre as distâncias em pares no espaço original de alta dimensão e as distâncias pareadas no espaço dimensional inferior. O algoritmo ajusta iterativamente as posições dos pontos de dados no espaço dimensional inferior até que a função de tensão seja minimizada.
A função Sammon nesta biblioteca fornece uma implementação do algoritmo de mapeamento Sammon. A função leva os seguintes parâmetros:
x : Matriz, forma, forma (n_samples, n_features) os dados de entrada.
n : int, opcional (padrão: 2) A dimensionalidade do espaço de saída. O padrão é 2.
display : int, opcional (padrão: 0) Se deve exibir as informações de iteração ou não. O padrão é 0.
inputdist : STR, Opcional (padrão: 'RAW') O tipo de métrica de distância usada no espaço de entrada.
Valores possíveis são:
maxhalves : int, opcional (padrão: 20) O número máximo de vezes o procedimento de metade da etapa pode ser aplicado. O padrão é 20.
maxiter : int, opcional (padrão: 500) o número máximo de iterações. O padrão é 500.
tolfun : Float, Opcional (padrão: 1E-9) A tolerância para a mudança na função de estresse. O padrão é 1E-9.
init : STR, Opcional (padrão: 'PCA') O tipo de inicialização usado para o espaço de saída.
Valores possíveis são:
y : Matriz, como Shape (n_samples, n_components) os dados de saída transformados.
stress : flutue o valor final da função de estresse.
Esta implementação é baseada no algoritmo descrito no artigo a seguir:
Sammon, JW (1969). Um mapeamento não linear para análise da estrutura de dados. IEEE Transações em computadores, C-18 (5), 401-409. doi: 10.1109/tc.1969.222678