Skip to content

Allow hyper-parameter tuning for immutable models.  #174

Description

@ablaom

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:

  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions