Java集群库

时间:2010-01-24 22:56:24

标签: java math cluster-analysis

我在java中寻找一个轻量级的聚类库。我不需要在该库中使用100个聚类算法,只需要5到7个算法就可以了。

我相信,你会问:“你需要什么样的算法,目的是什么”:)。我只需要在聚类的帮助下对数据进行分类。例如,K表示。

P.S:我知道weka但我不想使用它,因为它不是专门用于聚类。

8 个答案:

答案 0 :(得分:5)

答案 1 :(得分:0)

我会看看JUNG。它实现了许多聚类算法,但我不确定K-means是否是其中之一。

另一个选择可能是查看基于Eclipse的工作流编辑器Knime。这包括许多可用作工作流程一部分的聚类原语,包括K-means。

答案 2 :(得分:0)

这里有一些Java的开源集群算法,可以在GPL下获得。需要Java Colt库(用于矩阵)。 http://open.trickl.com/

答案 3 :(得分:0)

还有ELKI,一个类似于WEKA的开源大学项目,但重点是集群分析和异常值检测,而不是机器学习算法。 它非常先进,使用索引结构提高效率,并且至少有十几种聚类算法。

答案 4 :(得分:0)

如果Scala也适合您,那么您可能想在Scala中检查此版本的KMeans:

https://github.com/wspringer/kmeans

相关的博文在这里:

http://nxt.flotsam.nl/k-means-clustering.html

答案 5 :(得分:0)

如果您想在Java中使用一些基本的聚类算法,可以查看我的软件:

http://www.philippe-fournier-viger.com/spmf/

它提供了KMeans的实现和层次聚类算法。

提供的其他算法用于模式挖掘。总共有47种算法。但只有2个用于聚类。另一件事:有一个简单的GUI用于启动算法。

答案 6 :(得分:-1)

Apache Mahout通过Hadoop实现了许多聚类算法。它对你想要的东西有点重,但是:http://cwiki.apache.org/MAHOUT/syntheticcontroldata.html

此外,您可以挖掘并调整Mahout的TreeClusteringRecommender类中的用户群集代码,该类使用群集作为推荐引擎。

答案 7 :(得分:-1)

Cytoscape软件有几个插件,可以实现网络和数字数据的集群算法(Nemo,MCODE,clusterMaker等)。所有插件都是开源的。