MLJTuning.jl icon indicating copy to clipboard operation
MLJTuning.jl copied to clipboard

Allow hyper-parameter tuning for immutable models.

Open ablaom opened this issue 3 years ago • 0 comments

Some context: https://github.com/JuliaML/TableTransforms.jl/issues/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:

  • [ ] To see if the change would be breaking, update this table:
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

ablaom avatar May 16 '22 03:05 ablaom