dotnet / machinelearning

ML.NET is an open source and cross-platform machine learning framework for .NET.
https://dot.net/ml
MIT License
9.05k stars 1.89k forks source link

Is there a deep neural network for tabular data (like TabNet)? #6455

Closed samliu319 closed 2 years ago

samliu319 commented 2 years ago

I've just started machine learning, but I reject learning with python. I am interested in deep learning of tabular data, but I can't find .Net related resources. I hope I can get some guidance here, thanks!

michaelgsharp commented 2 years ago

I don't think we have anything like this currently.

@luisquintanilla is this something you are aware of or have looked into?

luisquintanilla commented 2 years ago

Hi @samliu319,

Thanks for your question.

I don't think I've seen requests like this before. In general, classical ML algorithms have worked well enough for training models on tabular data. These algorithms are often cheaper to train (time & compute resources) and sometimes more explainable than neural networks. Deep Learning has achieved promising results for unstructured data (text & images). While I wouldn't want to discourage you from exploring solutions, I would recommend first starting out with classical machine learning algorithms.

If deep learning on tabular data is an option you want to pursue, there are a few things you might consider. However, almost none of them involve ML.NET.

  1. Import TorchScript model using TorchSharp. Convert a PyTorch implementation of TorchSharp. Here is a guide that shows you how to use TorchScript with TorchSharp.
  2. Develop TabNet model from scratch using TorchSharp. There is a PyTorch implementation of it available.
  3. Use an off-the-shelf ONNX version of TabNet for inferencing with ML.NET. There appears to have been attempts in the past to create an ONNX version of the model. Not sure what the status is though.

There are currently no plans to add deep learning APIs for tabular data (like TabNet) to ML.NET. As we hear more feedback on the topic, we're open to considering it in the future.

Closing this issue.