0

我正在尝试使用micans.org上的马尔可夫聚类 (mcl) 算法的实现对数据进行聚类。我在算法描述中读到,可以将一个元素分配给多个集群。我怎样才能做到这一点?到目前为止,我可以获得具有独特点分配的集群,

4

1 回答 1

1

有可能的。然而,这从来都不是一项经过充分研究的功能,一个问题是目前有多种选择,最重要的是可以使用的 mcl iterand。一种方法如下:

mcl MCL-GRAPH-FILE -o foobar -dump dag -dump-interval 1:6 -wself 0.4 -wmax 0.4
clm imac -imx dag-1.foobar -overlap keep -o imac-1.foobar
clm imac -imx dag-2.foobar -overlap keep -o imac-2.foobar
clm imac -imx dag-3.foobar -overlap keep -o imac-3.foobar
clm imac -imx dag-4.foobar -overlap keep -o imac-4.foobar
clm imac -imx dag-5.foobar -overlap keep -o imac-5.foobar

对于具有 150 个节点的(小)图,它会报告以下内容(除了保存结果):

[clmmate] kept <7> instances of overlap
[clmmate] kept <47> instances of overlap
[clmmate] kept <37> instances of overlap
[clmmate] kept <19> instances of overlap
[clmmate] kept <6> instances of overlap

这表明与 mcl 迭代相关的重叠增加、达到峰值然后再次减少。最好使用“mcl 图形文件”和跟踪标签的单独文件。例如,请查看http://micans.org/mcl/man/clmprotocols.html#internal。-wself 和 -wmax 参数指示 mcl 如何将迭代数减少为更稀疏的图。这是被转储的图(带有“dag”前缀)。在示例中,参数非常松散,结果图实际上可能不是DAG(有向无环图)。使用默认参数,它应该是一个 DAG。

于 2014-02-28T11:55:45.917 回答