Unify `ml` input data type to one interface
Many ml algorithms use a similar (or verbatim) same type of input. i.e. a matrix X that has samples along the rows with each column being a certain feature of the data, and column vector y that has labels indicating what class each sample belongs to in the case of classification, or output points in the case of regression.
To avoid rewriting the handling of this data for every ml module, maybe we can make a single interface (maybe MLInput?) that stores this information and is used as an input for the ml modules?
I'm working on a draft of such an interface. See here for an idea of what it looks like.
I agree, makes sense to have one interface for all of them.
Just a heads up, I have unpacked the ml sub-directories, as it is not a very big module yet so the extra folders are not necessary imo.