Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cstjean/ScikitLearn.jl
Julia implementation of the scikit-learn API https://cstjean.github.io/ScikitLearn.jl/dev/
https://github.com/cstjean/ScikitLearn.jl
julia machine-learning
Last synced: 14 days ago
JSON representation
Julia implementation of the scikit-learn API https://cstjean.github.io/ScikitLearn.jl/dev/
- Host: GitHub
- URL: https://github.com/cstjean/ScikitLearn.jl
- Owner: cstjean
- License: other
- Created: 2016-02-28T17:06:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-06-22T20:10:07.000Z (over 1 year ago)
- Last Synced: 2024-10-22T00:13:42.765Z (19 days ago)
- Topics: julia, machine-learning
- Language: Julia
- Homepage:
- Size: 15 MB
- Stars: 546
- Watchers: 23
- Forks: 75
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesomeJulia - Scikit learn
- awesomeJulia - Scikit learn
- awesome-julia-datasciences - ScikitLearn - Julia implementation of the scikit-learn API. (APL / General-Purpose Machine Learning)
README
# ScikitLearn.jl
[![Build Status](https://github.com/cstjean/ScikitLearn.jl/workflows/CI/badge.svg)](https://github.com/cstjean/ScikitLearn.jl/actions)
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://cstjean.github.io/ScikitLearn.jl/dev/)ScikitLearn.jl implements the popular
[scikit-learn](http://scikit-learn.org/stable/) interface and algorithms in
Julia. It supports both models from the Julia ecosystem and those of the
[scikit-learn library](http://scikit-learn.org/stable/modules/classes.html)
(via PyCall.jl).Would you rather use a machine-learning framework specially-designed for Julia? Check out [MLJ.jl](https://github.com/alan-turing-institute/MLJ.jl), from the Alan Turing institute.
**Disclaimer**: ScikitLearn.jl borrows code and documentation from
[scikit-learn](http://scikit-learn.org/stable/), but *it is not an official part
of that project*. It is licensed under [BSD-3](LICENSE).Main features:
- Around 150 [Julia](https://cstjean.github.io/ScikitLearn.jl/dev/man/models/#Julia-models-1) and [Python](https://cstjean.github.io/ScikitLearn.jl/dev/man/models/#Python-models-1) models accessed through a uniform [interface](https://cstjean.github.io/ScikitLearn.jl/dev/man/api/)
- [Pipelines and FeatureUnions](https://cstjean.github.io/ScikitLearn.jl/dev/man/pipelines/)
- [Cross-validation](https://cstjean.github.io/ScikitLearn.jl/dev/man/cross_validation/)
- [Hyperparameter tuning](https://cstjean.github.io/ScikitLearn.jl/dev/man/model_selection/)
- [DataFrames support](https://cstjean.github.io/ScikitLearn.jl/dev/man/dataframes/)Check out the [Quick-Start
Guide](https://cstjean.github.io/ScikitLearn.jl/dev/man/quickstart/) for a
tour.## Installation
To install ScikitLearn.jl, type `]add ScikitLearn` at the REPL.
To import Python models (optional), ScikitLearn.jl requires [the scikit-learn Python library](https://cstjean.github.io/ScikitLearn.jl/dev/man/models/#Installation-and-importing-Python-models-1), which will be installed automatically when needed. Most of the examples use [PyPlot.jl](https://github.com/stevengj/PyPlot.jl)
## Known issue
On Linux builds, importing python models via `@sk_import` is known to fail for Julia v<0.8.4 when the `PYTHON` enviroment variable from `PyCall.jl` is set to `""` or `conda`. This is becuase the version libstdcxx loaded by Julia v<0.8.4 isn't compatible with the version of scikit-learn installed via Conda.
The easiest and recommended way to resolve this is to upgrade to Julia v>=1.8.4. If you must stick with your current julia version you can also resolve this issue by pre-appending your system's `LD_LIBRARY_PATH` enviroment variable as shown below
```bash
ROOT_ENV=`julia -e "using Conda; print(Conda.ROOTENV)`
export LD_LIBRARY_PATH=$ROOT_ENV"/lib":$LD_LIBRARY_PATH
```## Documentation
See the [manual](https://cstjean.github.io/ScikitLearn.jl/dev/) and
[example gallery](docs/src/man/examples.md).## Goal
ScikitLearn.jl aims for feature parity with scikit-learn. If you
encounter any problem that is solved by that library but not this one, [file an
issue](https://github.com/cstjean/ScikitLearn.jl/issues).