-1

클러스터링 할 일련의 범주 형 변수가 있으므로 github package에서 가져온 k 모드를 사용하고 있습니다. 각 관측치 (점)의 거리를 그것이 속한 클러스터의 중심으로 가져 가고 싶습니다.K 모드는 각 점과 클러스터 중심 사이의 거리를 계산합니다.

이것은 내가 지금까지 구현 한 것입니다 : 변수가 범주 형이기 때문에 나는 Eucledean 거리를 사용할 수 없습니다

kmodes_cao = kmodes.KModes(n_clusters=6, init='Cao', verbose=1) 
kmodes_cao.fit_predict(data) 

# Print cluster centroids of the trained model. 
print('k-modes (Cao) centroids:') 
print(kmodes_cao.cluster_centroids_) 

# Print training statistics 
print('Final training cost: {}'.format(kmodes_cao.cost_)) 
print('Training iterations: {}'.format(kmodes_cao.n_iter_)) 

. 클러스터 중심에 대한 각 점의 거리를 계산하는 이상적인 방법은 무엇입니까?

+0

봐 도움이 될 것입니다 바이너리 거리 홉 'KModes' 함수. 바퀴를 재발 명하지 마십시오. –

+0

나는 그것을 조사했지만 거리 계산 방법을 찾을 수 없었다. 나는 데이터 마이닝을 처음 사용하므로 안내 할 수 있습니까? –

+0

문서의 'cat_dissim'매개 변수에도 있습니다. –

답변

0

실시 예는 사용자의 무게 중심이 V2 = 내가 카운트 각 변수 D

V1 = A이고, 경우 C 또는 D 걸릴 수 A 또는 B 및 V2를 취할 수있는 2 개 변수 V1이 있으면 때 바이! = CI (중심 전)

당신은 인스턴스 V1 = A와이있는 경우 V2 = C는 중심으로부터의 거리가 1 그것은이다의 소스 코드를

+0

해답을 가져 주셔서 감사합니다. 그러나 조금 불분명합니다. 제발 좀 더 자세히 설명해 주실 수 있습니까? –

+0

Kmods는 각 변수에 대해 모드 값 (범주가 가장 많이 표시됨)을 계산합니다. 그래서 학습의 끝에서 당신은 6 개 무게 중심, 당신이 당신의 데이터 세트 C1 = (V1 = 카테고리 1, V2 = 구분 2) ... ... C6 = (V1 = categoryX, V2에서 두 변수를 가정 할 수 = categoryY) 새 인스턴스에 대해 클러스터를 예측하려면 인스턴스와 클러스터 사이의 거리를 계산하기 위해 최소 거리 을 제공하는 클러스터를 반환합니다. C : distance = 0 각 변수 Vi에 대해 \t Vi! = Ci의 값이 0이면\t \t 거리 + = 1 복귀 거리 –