Java/Scala 的完整机器学习库

机器算法验证 机器学习 Python 软件 爪哇
2022-03-18 03:52:30

Python 有大量的机器学习库(比如伟大的 scikit-learn)。java / scala有什么好处,包含许多算法(回归,分类,聚类,交叉验证,特征处理),稳定和维护并能够处理海量数据集?

我刚刚找到了 Mahout、Breeze/Nak 和 Weka,但它们看起来不如 Python 的好。

此外,如果没有等价物,我如何有效地将 Java 代码与 Python 连接起来?

3个回答

您可能会发现这份广泛ML 库、框架和软件工具精选列表对您有所帮助。特别是,它包含您正在寻找的资源 - JavaScala的 ML 列表。

Apache Spark 尤其是它的组件 MLlib 看起来与您正在寻找的完全一样。MLlib 包含分类、回归、降维等的实现。您可以使用 Scala、Java 和 Python 进行编程。

它基本上是一个非常快速的分布式计算框架,可以在 Hadoop 集群中运行。出于开发目的,您也可以在本地计算机上轻松地以独立模式(没有 Hadoop)运行它。

在此处查看 MLlib 指南:https ://spark.apache.org/docs/latest/mllib-guide.html

看看 JavaML ( http://java-ml.sourceforge.net/ ) 和 Encog ( http://www.heatonresearch.com/encog )。后者更关注神经网络而不是许多算法。

此外,weka 可能没有非常友好的 java API(因为,首先,它是一个 GUI 应用程序,而不是一个库),但是当你习惯它时,你就会开始欣赏那里实现了多少东西。

我已经成功地使用了所有这些。