mdabros / SharpLearning

Machine learning for C# .Net
MIT License
383 stars 84 forks source link

Multiple output regression #85

Open ZenBoer opened 6 years ago

ZenBoer commented 6 years ago

Most regression models are hardcoded with learning method: Learn(F64Matrix observations, double[] targets), what if we had multiple predicted variables. I want to add method Learn(F64Matrix observations, F64Matrix targets)

mdabros commented 6 years ago

Hi @ZenBoer ,

I have considered to expand the learner interface to something like Learn(Tensor observations, Tensor targets), to support a wider range of problems. This would be most relevant for neural networks, since it is non-trivial to add multi-task learning for the tree-based methods. When Microsoft makes an official release of their Tensor type, I will probably extend the interfaces to use this type. However, I don't expect this to happen in the very near future.

In the meantime, if you are using neural networks for you application, I would suggest using CNTK sine this already supports multiple predicted variables.

best regards Mads