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
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.