# How does an individual feature affect predictions in neural network classification problem?

In the literature, I've come across statements like People with higher income and with long working hours are more likely to be diagnosed with chronic diseases such as stroke. The above-mentioned study (Page:8), explores the association between Behavioral Habits and Chronic Diseases using ANN.

As I'm new to ML,

1. I am unable to figure out how to make such conclusions with feature study in neural networks or other machine learning techniques.

2. Is there a way to quantify the likelihood in ANN similar to logistic regression wherein regression coefficients give the change in the log odds of the outcome for a one unit increase in the predictor variable?

Currently using Azure ML studio

Is there a way to quantify the likelihood in ANN similar to logistic regression wherein regression coefficients give the change in the log odds of the outcome for a one unit increase in the predictor variable?

Good question.

Yes, there is a way. The approach that can help you is called partial dependence plot (PDP), see the links below for further details and examples.

The approach is model agnostic, i.e. works well for any predictive model, powerful yet simple.

The main steps for one-dimensional partial dependence plot are as follows

1. Fit your model as usual
2. Select the predictor of interest and a set of values to be investigated (e.g. income as in the article you refer to and values of say 50k, 70k, 80k, ..., 120k)
3. For all observations in your dataset replace the values of your predictor with the first value from the set above (50k).
4. Calculate the model output for the modified dataset from the previous step and calculate the average over all observations.
5. Repeat steps 3-4 for the remaining values (70k, 80k, ...) and plot the values of your predictor along X axis and the corresponding averaged model predictions along Y axis.

With one-dimensional PDP described above you can easily see the marginal impact of a predictor being analysed on the model output. Furthermore, one can use similar technique to perform multi-dimensional analysis, e.g. to investigate the impact of interactions.

partial dependence plots- scikit-learn documentation

partial dependence plot - tutorial by Dans Becker on Kaggle

As you are new to ML, I will try to explain in my simplest way.

1. I am unable to figure out how to make such conclusions with feature study in neural networks or other machine learning techniques.

Machine learning has many applications, what you are talking about here comes under the term Inference. It means to understand- how your output is affected as your input changes. I suggest you follow the book- An Introduction to Statistical Learning with Applications in R. On page 19 of this book, it is given-

Inference

We are often interested in understanding the way that Y is affected as X1,...,Xp change.
........
We instead want to understand the relationship between X and Y.

- Which predictors are associated with the response?
- What is the relationship between the response and each predictor?
- Can the relationship between Y and each predictor be adequately summarized using a linear equation, or is the relationship more complicated?


I have not posted the whole thing here, just some important points.

So here, instead of prediction, you just analyze your model. After analyzing you can make such conclusions.

2. Is there a way to quantify the likelihood in ANN similar to logistic regression wherein regression coefficients give the change in the log odds of the outcome for a one unit increase in the predictor variable?

As far as I understand, ANN has multiple layers. It is not like logistic regression which just defines one coefficient for each predictor. In ANN, the coefficients are defined for each layer separately, and in each layer, for each node.

Hope this helps.