【发布时间】:2012-12-01 08:58:20
【问题描述】:
我有 71 个属性和 17 个实例的数据。我想将它们分为六个组或类。我试过newsom( data, [ 6 6 ] )。
结果如下图所示。我无法弄清楚集群的位置以及如何以编程方式找到它们?
我阅读了所有有关 SOM 的论文,但始终无法弄清楚如何获取集群和这些集群中的数据?所以,在你回复我的问题时也请注明。
【问题讨论】:
-
这并没有直接的帮助,但是选择自组织地图有什么理由吗?我一直觉得它不优雅、耗时,而且在少数情况下,我看到它(由与我一起工作的人)用于生成大部分无用的集群。
-
也许你是对的,但它仍然不是集群的一种方式吗?如果没有,请提出其他方法。
-
17 个实例并不多。我建议使用层次聚类,例如包括单连锁聚类和完全连锁聚类。这将使您能够处理数据,并且您可以使用生成的树将数据分成六个类。您也可以使用 k-means 并将 k 设置为 6。对于所有方法,您需要确保没有任何属性支配其他属性(除非这是您想要的);可能需要标准化。最后,对于某些类型的数据(例如时间过程),基于例如皮尔逊相关系数可能是合适的。
标签: matlab cluster-analysis som