我有以下问题做了摘要提出关键问题。

我已经10点中的每一个其是一些距离。我想要的

  1. 能找到的中心,即集群这一点对于其成对距离各个其他的一点是最大限度地减少,
    我们p(j)-p(k)代表对距离高炮点j及k
    p(i)为中心点的集群森林论p(i)。t.min[额(p(j)-p(k))]对于所有0 < j,k <=n我们n点在集群
  2. 确定如何分割的集中的两个集群一的数据点数目在集群中超过某一阈值吨。

这不是欧几里德的空间。但是距离可以概括如下-p(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意味着聚类,和你在找什么是通常被称为'Medoids'.

在这里看到: 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

a)

  • 找到中位数或平均值的所有距离。=avgAll
  • 对于每一个p的,找到平均距离其他机。=avgP(i)
  • 接近一个作为中心。avgAll~=avgP(i)

b) 不知道现在..

也许对于每一个p,找到更靠近机器。

通过这一逻辑做出的曲线图。

比以某种方式(我不知道)的划分图表

什么你想做的,或至少(b)属于群集分析。数学的一个分支/统计/计量经济学在数据点(例如点在n-维空间)被划分为群体或群集。如何做到这不是一个简单的问题,有许许多多可能的方式。

阅读更多 维基百科的文章关于集的分析.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top