Building models with SAS Enterprise Miner, SAS Factory Miner, SAS Visual Data Mining and Machine Learning or just with programming

Interpreting Neural Network

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 10
Accepted Solution

Interpreting Neural Network

Dear all,

 

I created a neural network (NN) with one binary target variable and multiple input variables (interval scaling).

After studying the literature I know NN ain't easy to interpret, hence I need therefore your help.

In the output there is a table which shows how good all inputs predict the target variable. Is there a way to determine the input var, which predicts the best the targer variable?

Or do you know another good way to interpret an NN with SAS EM?

 

Kind regards,

Benjamin


Accepted Solutions
Solution
‎02-16-2016 01:39 PM
SAS Super FREQ
Posts: 306

Re: Interpreting Neural Network

[ Edited ]
Posted in reply to Benjamin8

A common approach is to train a decision tree using the predicted values from a neural network to get measures of variable importance for your inputs.  This decision tree is then essentially a surrogate model that acts as a proxy to the complex logic of the neural network. To do this in EM, you would attach a Metadata node after your Neural Network node and set the role to 'Target' for either:

- one of the columns of posterior probabilities from your Neural Network node, e.g. P_TargetEvent where Target is the name of your original binary target and Event is the event level of the target,

- the predicted target, I_Target

The original target should be given the role 'Rejected' now.  Then run a Decision Tree to see what variables are important in the model.

 

You can similarly get variable importance by including a Model Comparison or Score node after the Neural Network node in your flow, then a Reporter node at the end of the flow with the Nodes property set to Summary.  This also uses a decision tree to calculate variable importance.

 

Hope that helps,

Wendy

View solution in original post


All Replies
Solution
‎02-16-2016 01:39 PM
SAS Super FREQ
Posts: 306

Re: Interpreting Neural Network

[ Edited ]
Posted in reply to Benjamin8

A common approach is to train a decision tree using the predicted values from a neural network to get measures of variable importance for your inputs.  This decision tree is then essentially a surrogate model that acts as a proxy to the complex logic of the neural network. To do this in EM, you would attach a Metadata node after your Neural Network node and set the role to 'Target' for either:

- one of the columns of posterior probabilities from your Neural Network node, e.g. P_TargetEvent where Target is the name of your original binary target and Event is the event level of the target,

- the predicted target, I_Target

The original target should be given the role 'Rejected' now.  Then run a Decision Tree to see what variables are important in the model.

 

You can similarly get variable importance by including a Model Comparison or Score node after the Neural Network node in your flow, then a Reporter node at the end of the flow with the Nodes property set to Summary.  This also uses a decision tree to calculate variable importance.

 

Hope that helps,

Wendy

Occasional Contributor
Posts: 10

Re: Interpreting Neural Network

Posted in reply to WendyCzika

Hi Wendy,

 

Thank you for the quick and good answer. I switched the target variable to a predicted one and rejected the old target variable.

Afterwards I did a decision tree and a linear regression.

 

Best regards,

Benjamin

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 1945 views
  • 2 likes
  • 2 in conversation