JuliaAI / JuliaAI/MLJModels.jl
Populate default hyperparameter ranges in the model metadata.
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 82
- Forks
- 29
- Avg merge
- 32m
- Merged PRs (30d)
- 2
Description
When optimizing the hyperparematers of some model, the user needs to choose a reasonable range of values over which to search (using a Grid or RandomSearch, say). We should like to include in the model metadata default choices for these ranges. R’s caret package already has this information for over 200 models, and one idea is to scrape the data from there (assuming there is no IP issue preventing this). However, there need not be a precise one-to-one correspondence between hyperparameter names, and so forth, so you would take your time sorting out the correspondence. Even if we did this for a dozen of the most popular models, this would be a nice enhancement.
julia> some_model = models()[1];
julia> some_model.hyperparameters
(:n_iter, :tol, :alpha_1, :alpha_2, :lambda_1, :lambda_2, :compute_score, :threshold_lambda, :fit_intercept, :normalize, :copy_X, :verbose)
julia> some_model.hyperparameter_ranges
(nothing, nothing, nothing, nothing, nothing, nothing, nothing, nothing, nothing, nothing, nothing, nothing)
So nothing means "none defined yet".
The manual explains how to set these traits for a model: search for hyperparameter_ranges in this section.
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 the model metadata exposed by models()[1] and the hyperparameter_ranges guidance in the linked MLJ manual section. Compare the Julia model hyperparameters with the ranges supplied by R's caret package, resolving naming differences for an initial set of popular models. Done means those models no longer return nothing for their default hyperparameter ranges and the ranges are reasonable for Grid or RandomSearch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia, r
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100