-1

whenever i try to run shap explainers i get the following error code:


"/envs/shapTest/lib/python3.9/site-packages/shap/explainers/_kernel.py", line 277, in explain

num_subset_sizes = np.int(np.ceil((self.M - 1) / 2.0))

AttributeError: module 'numpy' has no attribute 'int'.
np.int was a deprecated alias for the builtin int. To avoid this error in existing code, use int by itself. Doing this will not modify any behavior and is safe. When replacing np.int, you may wish to use e.g. np.int64 or np.int32 to specify the precision. If you wish to review your current use, check the release note link for additional information.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

I have not been able to solve this, tried different clean evns and a older versions of numpy.

Any suggestions that is not brute-force changing the source code of the package?

petezurich
  • 9,280
  • 9
  • 43
  • 57
  • 1
    this probably works with a pre-1.20 NumPy, but you may find this is instead _fixed_ in a newer version of your SHAP explainer – ti7 Jun 07 '23 at 16:38

1 Answers1

0

Upgrading the pip installation fixed the problem. For some reason when i initially pip install shap it installed an old version with old numpy.