클러스터의 중심을 찾습니다
-
12-09-2019 - |
문제
다음과 같은 문제가 있습니다. 주요 문제를 제기하기 위해 초록을 만들었습니다.
나는 각각 10 점이 있으며, 이는 다른 각각과 약간 떨어져 있습니다. 나는 원한다
- 클러스터의 중심을 찾을 수있어서 서로 지점까지의 쌍 거리가 최소화되는 지점을 찾으십시오.
p (j) ~ p (k)가 j와 k의 쌍 거리를 나타냅니다.
P (i)는 클러스터의 중심점 IFF P (i) st Min [sum (p (j) ~ p (k))] 모두 0 <j, k <= n 여기서 클러스터에 n 포인트가 있습니다. - 클러스터의 데이터 포인트 수가 일부 임계 값 t보다 높으면 클러스터를 두 클러스터로 분할하는 방법을 결정하십시오.
이것은 유클리드 공간이 아닙니다. 그러나 거리는 다음과 같이 요약 될 수 있습니다 -P (i)는 점 I입니다.
p(1) p(2) p(3) p(4) p(5) p(6) p(7) p(8) p(9) p(10)
p(1) 0 2 1 3 2 3 3 2 3 4
p(2) 2 0 1 3 2 3 3 2 3 4
p(3) 1 1 0 2 0 1 2 1 2 3
p(4) 3 3 2 0 1 2 3 2 3 4
p(5) 2 2 1 1 0 1 2 1 2 3
p(6) 3 3 2 2 1 0 3 2 3 4
p(7) 3 3 2 3 2 3 0 1 2 3
p(8) 2 2 1 2 1 2 1 0 1 2
p(9) 3 3 2 3 2 3 2 1 0 1
p(10) 4 4 3 4 3 4 3 2 1 0
이 클러스터의 중심 지점이 어느 것을 계산합니까?
해결책
내가 이것을 이해하는 한 이것은 k처럼 보이며 클러스터링을 의미하며, 당신이 찾고있는 것은 일반적으로 '메도이드'라고합니다.
여기를 봐: http://en.wikipedia.org/wiki/medoids 또는 여기 : http://en.wikipedia.org/wiki/k-medoids
다른 팁
나는 완전한 어리 석음을 나타 내기 직전에 오는 프리슨을 가질 수 있습니다. 그러나 이것이 무자비한 힘으로 쉽게 생산되지 않습니까? 파이썬에서 :
distances = [
[ 0 , 2 , 1 , 3 , 2 , 3 , 3 , 2 , 3 , 4 , ],
[ 2 , 0 , 1 , 3 , 2 , 3 , 3 , 2 , 3 , 4 , ],
[ 1 , 1 , 0 , 2 , 0 , 1 , 2 , 1 , 2 , 3 , ],
[ 3 , 3 , 2 , 0 , 1 , 2 , 3 , 2 , 3 , 4 , ],
[ 2 , 2 , 1 , 1 , 0 , 1 , 2 , 1 , 2 , 3 , ],
[ 3 , 3 , 2 , 2 , 1 , 0 , 3 , 2 , 3 , 4 , ],
[ 3 , 3 , 2 , 3 , 2 , 3 , 0 , 1 , 2 , 3 , ],
[ 2 , 2 , 1 , 2 , 1 , 2 , 1 , 0 , 1 , 2 , ],
[ 3 , 3 , 2 , 3 , 2 , 3 , 2 , 1 , 0 , 1 , ],
[ 4 , 4 , 3 , 4 , 3 , 4 , 3 , 2 , 1 , 0 , ],
]
currentMinimum = 99999
for point in range ( 10 ) :
distance_sum = 0
for second_point in range ( 10 ) :
if point == second_point : continue
distance_sum += distances [ point ] [ second_point ]
print '>>>>>', point, distance_sum
if distance_sum < currentMinimum :
currentMinimum = distance_sum
centre = point
print centre
ㅏ)
- 모든 거리의 중간 값 또는 평균 값을 찾으십시오. = Avgall
- 각 P에 대해 다른 기계와 평균 거리를 찾으십시오. = AVGP (I)
- 더 가까운 것을 중심으로 선택하십시오. avgall ~ = avgp (i)
b) 지금은 전혀 모른다 ..
어쩌면 각 p에 대해 더 가까운 기계를 찾으십시오.
이 논리에 의해 그래프를 만듭니다.
어쨌든 (아직 모르겠지만) 그래프를 나눕니다.
당신이하려는 일 또는 적어도 (b)는 클러스터 분석에 속합니다. 데이터 포인트 (예 : N 차원 공간의 지점)가 그룹 또는 클러스터로 나뉘어지는 수학 / 통계 / 계량 학체의 분기. 이것을하는 방법은 사소한 질문이 아니며, 많은 가능한 방법이 있습니다.
더 읽어보십시오 클러스터 분석에 관한 Wikipedia 기사.
제휴하지 않습니다 StackOverflow