Comments (5)
I see. The only difference between FastTreeSHAP v0.1.3 and v0.1.2 is that the restriction of numpy version (numpy<1.22) has been removed (41a33b6). The same thing has been done when SHAP upgraded its own version to v0.41.0 (shap/shap@23081f5). We believe that this additivity check failure issue was brought up by this restriction removal (see #15 for more details).
Since FastTreeSHAP library aims to reproduce the results from SHAP library in a more efficient way, we would like to wait until SHAP library implements effective resolutions to fix this issue. In the meantime, I would recommend you to switch to FastTreeSHAP v0.1.2 to bypass this issue.
from fasttreeshap.
Does the additivity check failure issue also exist when running SHAP on the same dataset?
from fasttreeshap.
No. It's interesting that when using SHAP with feature_perturbation=“tree_path_dependent”, the expected value before computing any shap values for a dataset, is different from the expected value after the computation. That means, I got the expected value == 0 before doing any computation, but after I run it on a dataset, the expected value became 2.155. This holds for the previous version. In the previous version (0.38.0 and 0.40.0), I got the expected value ==2.17 before any computation and 2.155 after the computation. I don't know why this is the case.
from fasttreeshap.
Sorry I'm a bit confused. Did you say that in the previous version (0.38.0 and 0.40.0), you got the expected value ==2.17 before any computation and 2.155 after the computation, and in the current version (0.41.0), you got the expected value ==0 before any computation and 2.155 after the computation? If so, which version does FastTreeSHAP match? Thanks!
from fasttreeshap.
Sorry I'm a bit confused. Did you say that in the previous version (0.38.0 and 0.40.0), you got the expected value ==2.17 before any computation and 2.155 after the computation, and in the current version (0.41.0), you got the expected value ==0 before any computation and 2.155 after the computation?
That is correct. Sorry to make it confusing by mixing with different versions. This inconsistency is only observed in SHAP, not in FastTreeSHAP.
If so, which version does FastTreeSHAP match?
The expected value of FastTreeSHAP 0.1.3 matches the latest version SHAP (0.41.0), which is 0. Then the error came out when I try computing the shap values for a dataset.
The older version works fine (for example, 0.1.1), because the expected value is 2.17, which matches the older version SHAP.
from fasttreeshap.
Related Issues (20)
- Can not install FastTreeSHAP on linux HOT 2
- Plotting example HOT 5
- Cannot build fasttreeshap in linux environment HOT 1
- How to build FastTreeSHAP Wheel on windows, using Python 3.10.7
- Numpy<1.22 requirement, could we upgrade it? HOT 3
- SHAP Values Change and Additivity Breaks on NumPy Upgrade HOT 1
- Parallelism not working when model_output="logloss" HOT 3
- Beeswarm plot colorbar is too narrow on jupyter notebooks HOT 1
- The notebook example is not working HOT 2
- 'numpy' has no attribute 'bool' HOT 1
- NumbaDeprecationWarning HOT 5
- "error: could not find a version that satisfies the requirement setuptools (from versions: none)" HOT 1
- ERROR IN INSTALLING FastTreeSHAP HOT 2
- FastTreeSHAP summary_plot plots interaction value instead of impact on model output
- "shap" as a dependency?
- Additivity check fails with XGBoost
- Update package
- xgboost version compatible with FastTreeSHAP
- pip install fasttreeshap fails HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fasttreeshap.