- scikitlearn :: no single package since skl is a meta-package of sorts, but most of the stuff is there spread across the eco-system
- Keras :: checkout Flux or Mocha
Welcome to Julia! Also take a look here [1] for more package that might be to your interest.
[1] https://github.com/svaksha/Julia.jl/blob/e305195ab60e6859e78...
Keras also many. TensorFlow.jl, Flux, Mocha, KNet, MxNet.
Sklearn is all there but bring it together will take a bit. Some important parts are in JuliaML org. Also Clustering.jl, and MultiariateStats.jl (For DR) the classifiers are really scattered. I'ld love to fix that if I had time.
Clearly we're talking decades, but I am already realizing pay-offs from the switch to Julia (from Python) in my domain.
Rackauckas pointed out an amazing example recently [1]:
https://discourse.julialang.org/t/differentialequations-jl-a...
You have a library that implements calculating with numbers with uncertainties. You have the differential equations library. They don't know about each other but you can use the former in the latter to solve differential equations with uncertainties with a whole bunch of advanced solving algorithms.
This sort of power, having an ecosystem like Python that combines in a performant way, will be huge.
[1] http://www.stochasticlifestyle.com/why-numba-and-cython-are-...
I’d love to know if that was still the case though, because I’d so much rather use Julia than Python for my analysis and stuff.
https://www.youtube.com/watch?v=_jx1VmWxgVY
They've been using it sucessfully for quite some time.
Probably not quite to the scale as C/C++ vs rust for systems programming, but a similar idea. Rust has all these great features but most people doing systems know C, all their code is already in C, and so the cost of switching is very high.
Not that a switch will never happen, it's just that no matter how good Julia is any transition is going to take a long time. (I do think Julia is a good language though)
The object system is close to CLOS with support for multi-dispatch.
Really though, I think it has a better type system and a syntax that translates easier to mathematical expressions. Other than that, Python's breadth of packages will be hard to overcome.
Not so much currently:
https://discourse.julialang.org/t/why-eye-has-been-deprecate...
I confess, not being the default is a big thing. I've definitely had times where I thought "this would be easier with 0 indexed arrays", but it can then be harder to commit to adding a dependency and making that change vs just adding awkward looking "+1"s to all the indexes. Coming from math/science, there's lots of times 1-indexing makes more sense / is more familiar. It's normal there to start counting from 1, so it can be easier to translate.
But, yes, Julia was designed with something like that in mind from what I recall.