-1

我已经开始使用 Julia。我读到它比 C 更快。到目前为止,我已经看到了一些库,如 KNET 和 Flux,但它们都是用于深度学习的。还有一个命令“Pycall”你在 Julia 中使用 Python。

但我也对机器学习感兴趣。所以我想在 Julia 中使用 SVM、随机森林、KNN、XGBoost 等。

是否有用 Julia 编写的用于机器学习的本地库?

谢谢

4

2 回答 2

2

很多算法都可以使用专用包直接使用。像BayesNets.jl

对于“经典机器学习” MLJ.jl,它是一个纯 Julia 机器学习框架,由 Alan Turing Institute 编写,开发非常活跃。

对于神经网络, Flux.jl是 Julia 的必经之路。也非常活跃,GPU 就绪并允许 Julia 生态系统中存在的所有外来组合,如DiffEqFlux.jl一个结合了 Flux.jl 和 DifferentialEquations.jl 的包。

只需等待Zygote.jl一个源到源自动区分包,它将成为 Flux.jl 的某种后端

当然,如果您对 Python ML 工具更有信心,您仍然拥有TensorFlow.jlScikitLearn.jl,但 OP 要求提供纯 Julia 包,而这些只是 Python 包的 Julia 包装器。

于 2019-10-10T15:24:21.983 回答
1

看看这个 kNN implementationthis for XGboost

有 SVM 实现,但已过时且无人维护(搜索 SVM .jl)。但是,实际上,考虑其他算法以获得更好的预测质量和模型构建性能。查看 OLS(正交最小二乘)和 OFR(正交前向回归)算法系列。你会很容易找到详细的算法描述,很容易用任何合适的语言编写代码。但是,目前没有我知道的 Julia 实现。几年前,我只找到了 Matlab 实现并制作了自己的 java 实现。我有计划将它移植到 julia,但目前没有优先级,可能会持续几年。同时 - 为什么不自己编码?你赢了'

我推荐这个全新的出版物,首先是:Nonlinear Identification using正交前向回归和嵌套优化正则化

于 2019-10-15T19:12:26.940 回答