Relationship to scikit-learn
ScikitLearn.jl aims to mirror the Python scikit-learn project, but the API had to be adapted to Julia, and follows Julia's conventions. When reading the Python documentation, keep in mind:
- Most object methods are now functions: Python's
model.predict(X)becomespredict(model, X) - Methods that modify the model's state have a
!at the end:model.fit_transform(X)becomesfit_transform!(model, X) - A few of the Python submodules were translated into Julia to support
Julia models:
ScikitLearn.Pipelines,ScikitLearn.CrossValidation, andScikitLearn.GridSearch
To access the class members and methods of a Python object
(i.e. all models imported through @sk_import), use obj[:member_name]. For
example:
@sk_import linear_model: Lasso
lm = fit!(Lasso(), X, y)
println(lm[:n_iter_]) # equivalent to lm.n_iter_ in Python
This is rarely necessary, because the most important/frequently-used methods
have been defined in Julia (eg. transformer.classes_ is now
get_classes(transformer))