keras-team / keras

Deep Learning for humans
http://keras.io/
Apache License 2.0
61.29k stars 19.38k forks source link

A novel generalized feature importance method #18598

Open Devashish13 opened 9 months ago

Devashish13 commented 9 months ago

Hi Team,

I am pleased to introduce a generalized feature importance method that I have developed, inspired by the approach implemented in the h2o library. The h2o library's feature importance method relies on the weight matrix from the first two hidden layers of a trained neural network. In my work, I have devised a Python-based generalized version of this method, employing principles from matrix algebra to estimate feature importance. The mathematical formulation, which uses only one hidden layer, is detailed in this publication (https://www.worldscientific.com/doi/abs/10.1142/S0129065797000227).

To provide further insight into this novel approach, we have shared a preprint outlining the mathematical foundation of the proposed generalized feature importance method. You can access the preprint here (https://www.biorxiv.org/content/10.1101/2023.06.26.546510v1).

I have also implemented a Python function that can be used to estimate feature importance when provided with a trained neural network. The method employed in this function demonstrates remarkable speed compared to other existing techniques. Additionally, it has been rigorously validated on simulated data, successfully capturing true associations.

I am excited about the possibility of contributing this function to the Keras feature importance estimation methods section. Please guide me on the next steps in this regard.

Best Regards, Devashish Tripathi PhD Biostatistics National Institute of Biomedical Genomics India

fchollet commented 8 months ago

inspired by the approach implemented in the h2o library

Do you use H2O yourself? What do you use it for?

Devashish13 commented 8 months ago

@fchollet I don't use H2O. I was working on a problem where author previously implemented ANN using H2O for modelling genotype environment association.

rlcauvin commented 6 months ago

Is your implementation and an example of invoking it on a Keras model available somewhere?