Sammon 매핑은 더 낮은 차원 공간에서 고차원 데이터를 나타내는 데 사용되는 비선형 차원 감소 기술이며 가능한 한 데이터 포인트 사이의 쌍 거리를 보존합니다. 이 기술은 1969 년 John W. Sammon Jr.에 의해 소개되었습니다.
Sammon 매핑 알고리즘은 원래의 고차원 공간의 쌍별 거리와 낮은 차원 공간의 쌍 거리의 차이를 정량화하는 응력 함수를 최소화하려고합니다. 알고리즘은 응력 함수가 최소화 될 때까지 하부 차원 공간에서 데이터 포인트의 위치를 반복적으로 조정합니다.
이 라이브러리의 Sammon 기능은 Sammon 매핑 알고리즘의 구현을 제공합니다. 함수는 다음 매개 변수를 취합니다.
x : 배열 모양, 모양 (n_samples, n_features) 입력 데이터.
n : int, 선택 사항 (기본값 : 2) 출력 공간의 치수. 기본값은 2입니다.
display : int, 옵션 (기본값 : 0) 반복 정보를 표시할지 여부. 기본값은 0입니다.
inputdist : str, 선택 사항 (기본값 : 'raw') 입력 공간에서 사용되는 거리 메트릭 유형.
가능한 값은 다음과 같습니다.
maxhalves : int, 선택 사항 (기본값 : 20) 단계 절반 절차의 최대 횟수를 적용 할 수 있습니다. 기본값은 20입니다.
maxiter : int, 옵션 (기본값 : 500) 최대 반복 수. 기본값은 500입니다.
tolfun : Float, 선택 사항 (기본값 : 1E-9) 응력 기능의 변화에 대한 공차. 기본값은 1E-9입니다.
init : str, 선택 사항 (기본값 : 'PCA') 출력 공간에 사용되는 초기화 유형.
가능한 값은 다음과 같습니다.
y : 배열 모양, 모양 (n_samples, n_components) 변환 된 출력 데이터.
stress : 응력 기능의 최종 값을 끈으로 묶습니다.
이 구현은 다음 논문에 설명 된 알고리즘을 기반으로합니다.
Sammon, JW (1969). 데이터 구조 분석을위한 비선형 매핑. 컴퓨터의 IEEE 거래, C-18 (5), 401-409. doi : 10.1109/tc.1969.222678