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
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
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
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 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.