mmschlk / shapiq

Shapley Interactions for Machine Learning

Home Page:https://shapiq.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KernelSHAPIQ returns a warning

hbaniecki opened this issue · comments

running

import shapiq
# load data
X, y = shapiq.load_california_housing(to_numpy=True)
# train a model
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit(X, y)
# set up an explainer with k-SII interaction values up to order 4
explainer = shapiq.TabularExplainer(
    model=model,
    data=X,
    index="k-SII",
    max_order=4
)
# explain the model's prediction for the first sample
interaction_values = explainer.explain(X[0], budget=256)
# analyse interaction values
print(interaction_values)

returns

shapiq/approximator/regression/_base.py:515: RuntimeWarning: divide by zero encountered in scalar divide
return (-1) ** (interaction_size - intersection_size) / (

in

return (-1) ** (interaction_size - intersection_size) / (
(self.n - interaction_size + 1)
* binom(self.n - interaction_size, coalition_size - intersection_size)
)