【问题标题】:Java Clustering Library [closed]Java集群库[关闭]
【发布时间】:2011-01-08 21:54:40
【问题描述】:

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

我敢肯定,您会问:“您需要什么样的算法以及用于什么目的”:)。我只需要在聚类的帮助下对我的数据进行分类。例如 K 表示。

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

【问题讨论】:

标签: java math cluster-analysis


【解决方案1】:

【讨论】:

    【解决方案2】:

    如果你想要一些Java中的基本聚类算法,可以查看我的软件:

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

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

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

    【讨论】:

      【解决方案3】:

      如果 Scala 也适用于您,那么您可能需要在 Scala 中检查此版本的 KMeans:

      https://github.com/wspringer/kmeans

      相关的博文在这里:

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

      【讨论】:

        【解决方案4】:

        Cytoscape 软件有几个插件可以实现网络和数值数据的聚类算法(Nemo、MCODE、clusterMaker 等)。所有插件都是开源的。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

            【讨论】:

            • 我要试试这个,看起来很适合我 :D 谢谢
            【解决方案7】:

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

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

            【讨论】:

            【解决方案8】:

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

            您还可以从 Mahout 的 TreeClusteringRecommender 类中挖掘和调整用户聚类代码,该类将聚类用于推荐引擎。

            【讨论】:

            • 我读过它。这是一个非常庞大和复杂的:(
            猜你喜欢
            • 2019-05-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-05-24
            • 2017-06-09
            • 1970-01-01
            • 2017-01-29
            • 2016-08-23
            相关资源
            最近更新 更多