Techniques for model analysis:
Prediction-Based: * Decision boundaries * LIME * Feature importance * SHAP values * Partial Dependence Plots * Sensitivity analysis / perturbation importance * Model parameter analysis * ELI 5 * Attention mapping / saliency mapping
Error-Based: * Confusion matrix
Data-Based: * Dimensionality reduction * Feature correlations
If you're interested in analysis of CNNs, have a look at my masters thesis:
Analysis and Optimization of Convolutional Neural Network Architectures
Decision boundaries
Drawing this is only an option if you have 3 or less features. So not really useful in most problem settings.
SHAP values
SHAP Values (an acronym from SHapley Additive exPlanations) go in the direction of feature importance.
Let me explain them with an example of the Titanic dataset: You have a survival probability of a given person, e.g. 76%. You want to understand why it is 76%.
So what you can do is to twiddle the features. How does the survival probability change when the person has less / more siblings? When the person has the median number of siblings?
There is the shap
package for
calculating the shap values.