How to rank Feature importance for ANN classifier? If a network is trained using ANN classifier, how can we know which feature was most important for predicting the target variable? I mean: How to create a "feature ranking" among the features (from high importance value to low)? I have seen some literature about decision trees/AdaBoost but I am typically interested in Neural Networks especially for classification purpose. To make it more clear, a possible example output is shown in the figure https://pasteboard.co/GKBzS47.png.
 A: As opposed to trees, where the number of feature-based splits are counted for a heuristic feature importance, in ANN there is no clear heuristic way to perform that.
Two very popular approached include:


*

*CW - Connection weight algorithm

*Garson's algorithm
Both provide a calculated relative score of each feature's importance.
There are many resources debating which is better, including more algorithms of the same family. 
This article may help: A comparison of methods for assessing the relative importance of input variables in
artificial neural networks
A: In many neural nets scenarios talking about features do not necessarily correspond to features. When processing an image, the value of an isolated pixel does not convey 'meaning' necessarily. However, the relation about that pixel and its neighbouring areas on the other hand can be crucial (for example, a high difference in pixel intensity might point to an existing edge). And that is how the net learns features. Therefore, the study of input importance depending of what are you classifying might not be the best approach.
Related to this, people from TU Berling have developed a great method to visualise feature importance from neural nets based on Deep Taylor Descomposition (check this). In my opinion this is a much better approach to understand how nets do their 'magic'!
Hope this helps!
