Some context: JuliaML/TableTransforms.jl#67
I don't think this would be too bad, and useful preparation for making the MLJ model interface more flexible later.
The MLJTuning API doesn't really touch on this point. A tuning strategy needs to implement a models method to generate models to evaluate, but doesn't say how the models are generated. They needn't be mutations of a single object. However, the MLJ model interface currently states that models must be mutable, so some tuning strategies do use mutation to generate their models.
TODO:
| tuning strategy |
assumes model types are mutable |
pkg providing strategy |
Grid |
yes |
MLJTuning |
RandomSearch |
yes |
MLJTuning |
LatinHypercube |
yes |
MLJTuning.jl |
MLJTreeParzenTuning() |
? |
TreeParzen.jl |
ParticleSwarm |
? |
MLJParticleSwarmOptimization.jl |
AdaptiveParticleSwarm |
? |
MLJParticleSwarmOptimization.jl |
Explicit() |
no |
MLJTuning.jl |
cc @juliohm
Some context: JuliaML/TableTransforms.jl#67
I don't think this would be too bad, and useful preparation for making the MLJ model interface more flexible later.
The MLJTuning API doesn't really touch on this point. A tuning strategy needs to implement a
modelsmethod to generate models to evaluate, but doesn't say how the models are generated. They needn't be mutations of a single object. However, the MLJ model interface currently states that models must be mutable, so some tuning strategies do use mutation to generate their models.TODO:
GridRandomSearchLatinHypercubeMLJTreeParzenTuning()ParticleSwarmAdaptiveParticleSwarmExplicit()cc @juliohm