Evovest/EvoTrees.jl

supports_online

xgdgsc opened this issue · 2 comments

Is there builtin API for online data adding? Or plan to support the MLJ supports_online trait?

There is a plan and there is an undocumented method stub update_data in MLJModelInterface and a trait supports_online. I could provide guidance for a POC. We'd probably mark developments in this area as "experimental" and I don't presently have a lot of resources to push this particular development, ie this would need significant volunteer input.

There are some pushing for changes to MLJModelInterface, eg, getting rid of the type hierarchy. And in the back of my mind is the idea this might be an opportunity for a more substantial rethink. For example: (i) building MLJModelInterface atop even more bare bones interface the broader Julia ML/Stats community can get behind, but which would include "adding iterations" and "adding data" (online learning); and (ii) re-examining our data model, perhaps more in line with MLDataPattern/Dataloaders.jl. (I'm really just thinking out loud here).

On the one hand, it might make sense to wait for these developments before pushing online learning along; on the other hand these API advances are a probably a little way off yet. The focus right now is improving the on-ramp for new users (better doc-strings, tutorials, error messages) and this is hard if we keep breaking stuff 😄 .

ablaom commented

Related to my comment: LearnAPI.jl proposal.