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.88k forks source link

Add AutoEncoder as a Feature Selection Method #7174

Open superichmann opened 5 months ago

superichmann commented 5 months ago

Is your feature request related to a problem? Please describe. No. Currently the only practical option for feature selection in ML.net is MI. maybe PFI (post fit post transform) and maybe PCA (dimensionality reduction).

Describe the solution you'd like My online research shows that autoencoders for feature selection can be highly accurate and add another layer to the feature selection catalog.

Describe alternatives you've considered Using already implemented feature importance methods.

Additional context Research: https://hex.tech/blog/autoencoders-for-feature-selection/ https://deepai.org/publication/autoencoder-feature-selector Relates to issues: 4254 5777

Note: Perhaps utilizing autoencoders is actually possible in ml.net with importing external models or something like that, if it does I would love a to see how :) Thanks for everything guys!

superichmann commented 3 months ago

?

luisquintanilla commented 3 months ago

Hi @superichmann,

Thanks for the suggestion.

Can you expand some more on what your scenario / use-case for this is?

While not directly intended for feature selection / dimensionality reduction, for images we have DnnFeaturizeImage transforms which as the name suggests, leverages neural net models to convert an image into a feature vector.

Here's a general writeup on the transform.

superichmann commented 2 months ago

@luisquintanilla The use case is to provide an extra accurate layer of feature selection other then lgbm/ff default ones for datasets with more than 10000 features.