You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem Description
Currently the features based on SHAP library use TreeExplainer, which is limited to trees only. Because of that, one cannot use probatus with models different than that, e.g. SVM with rbf kernel
Desired Outcome
Probatus should support using other models, and use other explainer e.g. KernelExplainer in case the model is not tree based
Solution Outline
In function calculating shap values in utils, check if the model is tree or not tree based and apply the correct explainer. Consider making a warning about using KernelExplainer, and that it is very slow.
Check each feature using SHAP whether this works
Make a unit test for that.
Update the docs for every feature using shap that it also works for non-tree based models, yet it might be slow
Consider some optimizations e.g. maybe you don't need to calculate shap values for all samples, but you can subsample. You can check whether this is required at the end, based on the speed of the solution
@anilkumarpanda This issue is very high impact - low effort one. Currently ShapRFECV and SHAPImportanceResemblance only work with tree-based models. If you upgrade Shap to the newest version, and use Explainer instead of TreeExplainer (in utils/shap_helpers), you should would be able to add support right away to a wide array of new models.
Maybe you would be interested in picking this one?
Problem Description
Currently the features based on SHAP library use TreeExplainer, which is limited to trees only. Because of that, one cannot use probatus with models different than that, e.g. SVM with rbf kernel
Desired Outcome
Probatus should support using other models, and use other explainer e.g. KernelExplainer in case the model is not tree based
Solution Outline
Example how to use Kernel Explainer
https://shap.readthedocs.io/en/latest/example_notebooks/kernel_explainer/Iris%20classification%20with%20scikit-learn.html
The text was updated successfully, but these errors were encountered: