我已经开始使用 Julia。我读到它比 C 更快。到目前为止,我已经看到了一些库,如 KNET 和 Flux,但它们都是用于深度学习的。还有一个命令“Pycall”你在 Julia 中使用 Python。
但我也对机器学习感兴趣。所以我想在 Julia 中使用 SVM、随机森林、KNN、XGBoost 等。
是否有用 Julia 编写的用于机器学习的本地库?
谢谢
我已经开始使用 Julia。我读到它比 C 更快。到目前为止,我已经看到了一些库,如 KNET 和 Flux,但它们都是用于深度学习的。还有一个命令“Pycall”你在 Julia 中使用 Python。
但我也对机器学习感兴趣。所以我想在 Julia 中使用 SVM、随机森林、KNN、XGBoost 等。
是否有用 Julia 编写的用于机器学习的本地库?
谢谢
很多算法都可以使用专用包直接使用。像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.jl和ScikitLearn.jl,但 OP 要求提供纯 Julia 包,而这些只是 Python 包的 Julia 包装器。
看看这个 kNN implementation和this for XGboost。
有 SVM 实现,但已过时且无人维护(搜索 SVM .jl)。但是,实际上,考虑其他算法以获得更好的预测质量和模型构建性能。查看 OLS(正交最小二乘)和 OFR(正交前向回归)算法系列。你会很容易找到详细的算法描述,很容易用任何合适的语言编写代码。但是,目前没有我知道的 Julia 实现。几年前,我只找到了 Matlab 实现并制作了自己的 java 实现。我有计划将它移植到 julia,但目前没有优先级,可能会持续几年。同时 - 为什么不自己编码?你赢了'
我推荐这个全新的出版物,首先是:Nonlinear Identification using正交前向回归和嵌套优化正则化