JuliaAI / MLJBase.jl

Core functionality for the MLJ machine learning framework
MIT License
160 stars 45 forks source link

Emigration of one-dimensional range types #572

Open ablaom opened 3 years ago

ablaom commented 3 years ago

Currently there is the possibility of declaring default ranges for model hyper-parameters, for use one day in hyper-parameter optimization. However, the one-parameter range objects NominalRange and NumericRange, and their constructors, are defined in MLJBase and not MLJModelInterface. Since the idea is that implementing the MLJ model API should not require having MLJBase as a dependency, we should:

  1. Migrate the types/constructors to MLJModelInterface; or
  2. Move both types/constructors and methods (iterator, sampler, and so forth) to a stand-alone package for possible use outside MLJ.

Thoughts anyone?

ablaom commented 2 years ago

Comment to self:

At present the first argument can have type Model for automatic inference of the type of the hyper-parameter. But the method is now also overloaded to accept the type itself. So, in the port, we do the latter and leave the former overloading for MLJBase.