我有以下问题 - 提出摘要以解决关键问题。
我每个都有10个点,与另一个距离。我想
这不是欧几里德的空间。但是距离可以总结如下 - 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
我如何计算该群集的中心点?
答案 0 :(得分:8)
据我所知,这看起来像K Means Clustering,而你所寻找的通常被称为'Medoids'。
请参阅此处:http://en.wikipedia.org/wiki/Medoids或此处:http://en.wikipedia.org/wiki/K-medoids
答案 1 :(得分:3)
我可能会在显示完全愚蠢之前出现那种颤抖。但这不容易屈服于暴力吗?在Python中:
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
答案 2 :(得分:1)
A)
b)中 现在不知道..
也许每个p,找到更近的机器。
通过这个逻辑制作图表。
比某种程度(我还不知道)划分图表
答案 3 :(得分:0)
您尝试做什么,或者至少(b)属于Cluster Analysis。数学/统计/计量经济学的一个分支,其中数据点(例如,n维空间中的点)在组或集群之间划分。如何做到这一点不是一个微不足道的问题,有很多很多可能的方法。