[English] `train!` or `fit!` for a ML API?

I am deeply undecided to name the step where parameters of a model are learned from data in the API of my ML library train!(model,X,[Y]) or fit!(model,X,[Y]).
I would intuitively prefer the first, as make somehow explicit that we are learning something with experience, but train/fit seems to be more common…

What do you think ?

I think it is six one half dozen or the other (meaning I have no strong opinion). I see both in common use.

I guess “train” or “learn” is suggestive of machine intelligence, while “fit” is maybe more honest. Isn’t all (supervised) machine learning just generalized “curve fitting”?

“fit” has fewer characters in it.

FYI I an currently working on a proposal to revamp the interface for MLJ. The idea is to factor out a more general purpose API, with a lot of the MLJ-required functionality being optional. Also, no more abstract type hierarchy, only methods and traits. Some simplifications enabling lightweight tests for an implementations.

Be good to get your feedback. I’ll ping you when I have more written out ~ 1 or 2 weeks.

3 Likes