marcotcr / anchor

Code for "High-Precision Model-Agnostic Explanations" paper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Domain error in arguments.

ArpitSisodia opened this issue · comments

I have been trying to run anchor on numeric data. Getting this error-

in
----> 1 explainer.fit(X_train, y_train, X_test, y_test)

/opt/anaconda3/lib/python3.7/site-packages/anchor/anchor_tabular.py in fit(self, train_data, train_labels, validation_data, validation_labels, discretizer)
69 self.disc = lime.lime_tabular.QuartileDiscretizer(train_data,
70 self.categorical_features,
---> 71 self.feature_names)
72 elif discretizer == 'decile':
73 self.disc = lime.lime_tabular.DecileDiscretizer(train_data,

/opt/anaconda3/lib/python3.7/site-packages/lime/discretize.py in init(self, data, categorical_features, feature_names, labels, random_state)
190 BaseDiscretizer.init(self, data, categorical_features,
191 feature_names, labels=labels,
--> 192 random_state=random_state)
193
194 def bins(self, data, labels):

/opt/anaconda3/lib/python3.7/site-packages/lime/discretize.py in init(self, data, categorical_features, feature_names, labels, random_state, data_stats)
97 self.maxs[feature] = qts.tolist() + [boundaries[1]]
98 [self.get_undiscretize_value(feature, i)
---> 99 for i in range(n_bins + 1)]
100
101 @AbstractMethod

/opt/anaconda3/lib/python3.7/site-packages/lime/discretize.py in (.0)
97 self.maxs[feature] = qts.tolist() + [boundaries[1]]
98 [self.get_undiscretize_value(feature, i)
---> 99 for i in range(n_bins + 1)]
100
101 @AbstractMethod

/opt/anaconda3/lib/python3.7/site-packages/lime/discretize.py in get_undiscretize_value(self, feature, val)
141 minz, maxz, loc=means[val], scale=stds[val],
142 random_state=self.random_state,
--> 143 size=self.precompute_size))
144 idx = self.undiscretize_idxs[feature][val]
145 ret = self.undiscretize_precomputed[feature][val][idx]

/opt/anaconda3/lib/python3.7/site-packages/scipy/stats/_distn_infrastructure.py in rvs(self, *args, **kwds)
960 cond = logical_and(self._argcheck(*args), (scale >= 0))
961 if not np.all(cond):
--> 962 raise ValueError("Domain error in arguments.")
963
964 if np.all(scale == 0):

ValueError: Domain error in arguments.

please update. Reopen issue if new version doesn't fix it : )