给定每对字符串的属性值,如何聚类相同的属性点

时间:2015-01-23 11:46:39

标签: c# cluster-analysis

0   1   1   1   1
1   0   1   1   2
1   1   0   1   2
1   1   1   0   2
1   2   2   2   0

上表给出了每对字符串的关系值。正如你所看到的,矩阵是对称的(关系是可交换的)。现在我应该找到所有可能的组(如果已经找到的组的子集被跳过则很好。一个组可以有任何大小),这样在给定的组中对于组中任何可能的字符串对,关系值小于特定阈值(比如2)。 我试图在c#中做到这一点,但它没有涵盖所有可能性并导致太多循环。我没有转向任何聚类算法的原因是因为这种关系不是距离度量。 c#中的算法或句法元素,可能使过程变得简单或线索如何解决问题...任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这在我的联盟之外,但是我快速搜索并发现了这些,可能会给你一个启发:

"Cluster analysis" with MySQL

这篇文章是葡萄牙文,关于在集群分析中使用Tocher方法:

http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0100-204X2007001000008

很抱歉无法提供更多帮助。我会研究它,看看我是否能提出更有用的东西

答案 1 :(得分:0)

并非所有群集算法都需要指标。

例如,大多数HAC可以使用相似性和距离(显然除了病房)。

您的要求听起来像完全,就像完整的链接群集一样。即使您不使用群集,您仍将获得与HAC相同的结果。

坏消息是HAC通常是O(n ^ 3)。但我相信如果事先确定了阈值,那只是O(n ^ 2)。