Search code examples
machine-learningjuliaflux.jl

Is there a native library written in Julia for Machine Learning?


I have started using Julia.I read that it is faster than C. So far I have seen some libraries like KNET and Flux, but both are for Deep Learning. also there is a command "Pycall" tu use Python inside Julia.

But I am interested in Machine Learning too. So I would like to use SVM, Random Forest, KNN, XGBoost, etc but in Julia.

Is there a native library written in Julia for Machine Learning?

Thank you


Solution

  • A lot of algorithms are just plain available using dedicated packages. Like BayesNets.jl

    For "classical machine learning" MLJ.jl which is a pure Julia Machine Learning framework, it's written by the Alan Turing Institute with very active development.

    For Neural Networks Flux.jl is the way to go in Julia. Also very active, GPU-ready and allow all the exotics combinations that exist in the Julia ecosystem like DiffEqFlux.jl a package that combines Flux.jl and DifferentialEquations.jl.

    Just wait for Zygote.jl a source-to-source automatic differentiation package that will be some sort of backend for Flux.jl

    Of course, if you're more confident with Python ML tools you still have TensorFlow.jl and ScikitLearn.jl, but OP asked for pure Julia packages and those are just Julia wrappers of Python packages.