Python 有大量的机器学习库(比如伟大的 scikit-learn)。java / scala有什么好处,包含许多算法(回归,分类,聚类,交叉验证,特征处理),稳定和维护并能够处理海量数据集?
我刚刚找到了 Mahout、Breeze/Nak 和 Weka,但它们看起来不如 Python 的好。
此外,如果没有等价物,我如何有效地将 Java 代码与 Python 连接起来?
Python 有大量的机器学习库(比如伟大的 scikit-learn)。java / scala有什么好处,包含许多算法(回归,分类,聚类,交叉验证,特征处理),稳定和维护并能够处理海量数据集?
我刚刚找到了 Mahout、Breeze/Nak 和 Weka,但它们看起来不如 Python 的好。
此外,如果没有等价物,我如何有效地将 Java 代码与 Python 连接起来?
您可能会发现这份广泛的ML 库、框架和软件工具精选列表对您有所帮助。特别是,它包含您正在寻找的资源 - Java和Scala的 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 应用程序,而不是一个库),但是当你习惯它时,你就会开始欣赏那里实现了多少东西。
我已经成功地使用了所有这些。