BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Benjamin8
Calcite | Level 5

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

1 ACCEPTED SOLUTION

Accepted Solutions
WendyCzika
SAS Employee

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

2 REPLIES 2
WendyCzika
SAS Employee

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

Benjamin8
Calcite | Level 5

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

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

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