-2

嗨,我是机器学习的新手,因此正在寻找文本分类解决方案。有人可以向我推荐一个用 java 编写的不错的框架吗?我考虑过使用 WEKA,但也听说过 MALLET。更好的是,主要区别在哪里?

我的目标是对未标记的文本进行分类。因此,我准备了大约 18 个主题和每个主题 100 篇文字进行学习。

你会建议做什么?也希望有一个很好的小例子或提示如何继续。

4

2 回答 2

2

你有一个非常小的文本数据集,你可以使用任何库——这并不重要。更高级的选项需要比有意义的更多的数据,所以这不是一个值得考虑的问题。处理文本分类问题的简单方法是使用词袋模型和线性分类器。Weka 和 MALLET 都支持这一点。

就个人而言,我发现 Weka 是一种痛苦,而 MALLET 的文档记录很差/过时了,所以我使用JSAT这里有一个做垃圾邮件分类的例子。

(偏见警告,我是 JSAT 的作者)。

于 2014-07-22T22:32:30.817 回答
0

由于您的任务相当简单,并且正如您提到的您是 ML 的新手,我建议您使用 weka,因为它易于使用并且拥有庞大的用户社区。

否则,您可以查看一些 Java 中的通用机器学习框架:

  • Datumbox - 用于快速开发机器学习和统计应用程序的机器学习框架
  • ELKI - 用于数据挖掘的 Java 工具包。(无监督:聚类、异常值检测等)
  • H2O - 支持对存储在 HDFS 中的数据进行分布式学习的 ML 引擎。
  • htm.java - 使用 Numenta 的皮层学习算法的通用机器学习库
  • java-deeplearning - 适用于 Java、Clojure、Scala 的分布式深度学习平台
  • JAVA-ML - 通用 ML 库,具有适用于 Java 中所有算法的通用接口
  • JSAT - 用于分类、回归和聚类的众多机器学习算法。
  • Mahout - 分布式机器学习
  • Meka - 多标签分类和评估方法的开源实现(对 Weka 的扩展)。
  • Apache Spark 中的 MLlib - Spark 中的分布式机器学习库
  • Neuroph - Neuroph 是轻量级 Java 神经网络框架
  • ORYX - 简单的实时大规模机器学习基础设施。
  • RankLib - RankLib 是一个学习排名算法的库
  • RapidMiner - RapidMiner 集成到 Java 代码中
  • 斯坦福分类器 - 分类器是一种机器学习工具,它将获取数据项并将它们放入 k 个类中。
  • WalnutiQ - 人脑的面向对象模型
  • Weka - Weka 是用于数据挖掘任务的机器学习算法的集合

资料来源:真棒机器学习

于 2015-02-26T09:43:29.620 回答