MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 求聚类分析程序 (https://www.labfans.com/bbs/showthread.php?t=9771)

笨笨鱼 2009-09-25 15:00

求聚类分析程序
 
本人有个80*80下三角矩阵,需要聚类分析对词与词进行分类,可是不知道如何编程,望得到帮助。请联系:qq:276919525,Email:[email protected]。谢谢!

笨笨鱼 2009-09-28 23:33

回复: 求聚类分析程序
 
哪位好心人帮帮忙啊。多谢了

slgu 2009-09-29 08:15

回复: 求聚类分析程序
 
若将n个数据点(x)分成g组,主要有两种聚类方法。
一是系统聚类,先将每一点视为一类,按某种规则计算类间距离(第一步时即为点间距离),然后将最相近的两类合并成一新类,重新(按规则)计算类间距离(只需计算新类与其它类的类间距离,其它类间距离没有发生变化,不必计算),再将最相近的两类合并。如此反复,直至所有点成为一类。这里,计算类间距离的规则有6种,亦即形成了6种基本的系统聚类方法:最近距离法、最远距离法、中间距离法、重心法、类平均法、最小组内平方和法。在matlab中,这可以通过以下几个命令实现:
y=pdist(x,' '),% ' '中为计算空间距离的选项
z=linkage(y,' '),% ' '中为类间距离的选项,对应有,single, complete, median, centroid, average, ward 等。
最后画出聚类树:dendrogram(z), or dendrogram(z,0)
另一类是动态聚类,它在给定初始聚类的基础上,反复修改分类,使分类趋于某种事先设定的标准(目标函数),最终得到一个优化的目标函数,对应于一个优化的分类。在matlab中,仅有组中心距离最短(现改为组中心距离和最小)这一目标函数的kmeans法,这可通过:
kmeans(x,g)
实现。
但这种方法的能力有限,不一定能实现全距最优分类。
若将数据(最好是数据点原始数据,亦即x数据)置上,可以代为聚类,实现各类不同方法优化的动态聚类。

mathjiang 2009-09-29 19:26

回复: 求聚类分析程序
 
[QUOTE=笨笨鱼;31858]本人有个80*80下三角矩阵,需要聚类分析对词与词进行分类,可是不知道如何编程,望得到帮助。请联系:qq:276919525,Email:[email protected]。谢谢![/QUOTE]

说具体点儿,或许可以提供一些建议。


所有时间均为北京时间。现在的时间是 06:22

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.