我正在寻找 java 中的轻量级聚类库。我不需要该库中的 100 个聚类算法,只需 5 到 7 个算法对我来说就可以了。
我敢肯定,您会问:“您需要什么样的算法以及用于什么目的”:)。我只需要在聚类的帮助下对我的数据进行分类。例如 K 表示。
PS:我知道 weka 但我不想使用它,因为它不是专门用于集群的。
我正在寻找 java 中的轻量级聚类库。我不需要该库中的 100 个聚类算法,只需 5 到 7 个算法对我来说就可以了。
我敢肯定,您会问:“您需要什么样的算法以及用于什么目的”:)。我只需要在聚类的帮助下对我的数据进行分类。例如 K 表示。
PS:我知道 weka 但我不想使用它,因为它不是专门用于集群的。
这里有一些可用的 Java 开源聚类算法,可在 GPL 下获得。需要 Java Colt 库(用于矩阵)。 http://open.trickl.com/
如果你想要一些Java中的基本聚类算法,你可以查看我的软件:
http://www.philippe-fournier-viger.com/spmf/
它提供了 KMeans 的实现和层次聚类算法。
提供的其他算法用于模式挖掘。总共有 47 种算法。但只有 2 个用于聚类。另一件事:有一个用于启动算法的简单 GUI。
还有ELKI,一个类似于 WEKA 的开源大学项目,但侧重于聚类分析和异常值检测,而不是机器学习算法。它非常先进,使用索引结构来提高效率,并且至少有十几种聚类算法。
Apache Mahout 通过 Hadoop 实现了许多集群算法。对于你想要的东西来说它有点重,但是:http ://cwiki.apache.org/MAHOUT/syntheticcontroldata.html
您还可以从 Mahout 的 TreeClusteringRecommender 类中挖掘和调整用户聚类代码,该类将聚类用于推荐引擎。
Cytoscape软件有几个插件可以实现网络和数值数据的聚类算法(Nemo、MCODE、clusterMaker 等)。所有插件都是开源的。