首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

求聚类分析算法,该如何处理

2012-02-23 
求聚类分析算法现在有这么一个问题:有一个数组,比如说:int[]a{1,9,3,6,7,.......}这么样的一个数组,要求

求聚类分析算法
现在有这么一个问题:
        有一个数组,比如说:int[]   a   =   {1,9,3,6,7,.......};这么样的一个数组,要求给出一种分法,使这个数组分成N块,其中每块内的差距最小,而每块之间的差距最大?怎么做?
        现在,就有这么个解决方法:
        1:先求整个数组的平均指,记为x
        2:计算内直径D(i,j)=sum((a[i]-x)(a[i]-x))(0 <=i <a.length)
        3:将这个数组分成N块,要求这N块的D(i,j)之和是最小的
        问题是:知道了这些条件之后,在分析的时候,发现如果N分块的数值太大的话,那么在计算最小值的时候,会发现循环套用的次数太多了以至于计算的难度成倍数增加,请问各位有什么好的解决方法么?

[解决办法]
K均值算法,网上有源代码的.
[解决办法]
最近邻准则就是归类到相隔最近的类心那一类去。计算重心就是取这一类的平均值

热点排行