通过SOM进行聚类

时间:2012-12-13 12:58:42

标签: matlab cluster-analysis som

我有71个属性和17个实例的数据。我想将它们分为六组或一类。我尝试了newsom( data, [ 6 6 ] )

结果如下图所示。我无法弄清楚群集的位置以及如何以编程方式找到它们?


enter image description here enter image description here

我阅读了有关SOM的所有论文,但却无法弄清楚如何在这些集群中获取集群和数据?所以,请在回复我的问题时表明。

2 个答案:

答案 0 :(得分:1)

您必须仔细研究有关newsom(目前已弃用)或selforgmap函数的返回结构的文档。在IW字段内,您可以找到N * N簇坐标。例如:

somnet = newsom( data, [ 6 6 ] )
my_clusters = somnet.IW;

myclusters将有N * N行(在您的情况下为6 * 6),M列等于输入维度。就是这样。

答案 1 :(得分:1)

由于实例与地图节点的比例很高,因此您在最终地图中的节点不会“赢”实例,您可以使用这些“空”节点分隔地图。有关som上群集的更多信息,请查看以下内容:Clustering of the Self−Organizing Map

请记住,SOM是一种非预先确定的聚类方法,即您没有定义聚类数量,数据会告诉您这一点。

相关问题