我还在研究一个需要聚类时间序列数据的项目。我正在使用在MATLAB中工作的SOM工具箱进行聚类,并遇到以下问题:
“我们如何确定哪些数据属于哪个群集?” SOM随机从数据集中选择数据样本,并查找每个数据样本的BMU。据我所知,数据样本标识符不被视为SOM算法中的数据维度。如果是这种情况,那么我们如何跟踪样品?我不认为som_bmus
解决了这个问题。知道如何在不改变SOM工具箱中包含的任何功能的情况下进行操作吗?
答案 0 :(得分:1)
y=vec2ind(output)
将为您提供MATLAB生成的输出的索引号。通过此信息,您可以看到哪些输入数据属于哪个神经元#。
只需在脚本中直接使用上面的代码,它就会完成其余的工作。
答案 1 :(得分:0)
我知道这是一个古老的话题,但对其他人来说可能仍然有用。
您的问题是确定什么应该是一个集群,或者哪个数据属于哪个神经元?如果它是最后一个我相信GulshanS已正确回答,但如果问题是如何确定什么是一个集群,什么不是仍然没有答案。你可以通过邻居连接来做到这一点,黑暗区域主要显示墙壁'这是集群的中断线。
聚类分析与SOM不同。 SOM确定连接并分配BMU,最终成为具有神经元的预定网格。多个数据输入可以属于神经元。多个神经元可以属于一个集群,但这些不是SOM的输出。