JuliaAI / JuliaAI/MLJScikitLearnInterface.jl
How do we include python documentation in doc-strings?
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 14
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Once you import a python model using Sckitlearn.jl the documentation is available:
julia> @sk_import linear_model: Lasso
PyObject <class 'sklearn.linear_model._coordinate_descent.Lasso'>
help?> Lasso
search: Lasso LassoRegressor LassoCVRegressor LassoLarsRegressor LassoLarsICRegressor LassoLarsCVRegressor
Linear Model trained with L1 prior as regularizer (aka the Lasso)
The optimization objective for Lasso is::
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
...
However, we do not want using MLJScikitLearnInterface to generate every python model to get this documentation, for inclusion in MLJ model docstrings. (Currently, the python objects are only generated at run time, when someone calls fit on the MLJ model; see here). So I guess we generate this documentation separately and have __init__ load it in? Then there is the problem of synchronisation. Can julia artefacts help here?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/macros.jl around line 141 to understand when Python objects are generated at runtime. Investigate how init and Julia artefacts could load separately generated documentation, and determine how synchronization would work. Done means MLJ model docstrings include the Python documentation without importing every model during using.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia, python, scikit-learn
- Domain
- documentation, machine-learning
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100