Some ideas unrelated to the naming question:
- I’m not so happy with how verbosity is treated in MLJ and in the LearnAPI proposal. i.e. I prefer the keyword approach of MLJ, but I would like to have a simple way to change the default verbosity level. For example a function
LearnAPI.default_verbosity(level)
, and keep the signaturefit(alg, X, y; verbosity)
to overrule the default. - I wonder, if it would make sense to define a
FitResult
structure (could also be calledModel
) with fieldsalgorithm, params, state, report
. This would allow for clean and simple signatures forpredict, update!, ingest!, transform
, for example
alg = NeuralNetworkClassifier(builder = Short(n_hidden = 10), epochs = 3)
model = fit(alg, X, y)
y = predict(LiteralTarget, model, Xtest)
model.alg.epochs = 10
update!(model, X, y)
alg = PCA()
model = fit(alg, X)
scores = transform(model, X2)