Skip to content

Commit 178b07d

Browse files
Merge remote-tracking branch 'upstream/master' into fix/protoselect-test-coverage
2 parents f4cd3fa + 69a3cac commit 178b07d

File tree

16 files changed

+623
-198
lines changed

16 files changed

+623
-198
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ coverage.xml
4646
*.cover
4747
.hypothesis/
4848
.pytest_cache/
49+
.pymon
4950

5051
# Translations
5152
*.mo

alibi/api/defaults.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,8 @@
278278
"""
279279

280280
DEFAULT_DATA_PROTOSELECT = {"prototypes": None,
281-
"prototypes_indices": None,
282-
"prototypes_labels": None} # type: dict
281+
"prototype_indices": None,
282+
"prototype_labels": None} # type: dict
283283
"""
284284
Default ProtoSelect data.
285285
"""

alibi/confidence/tests/test_model_linearity.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import pytest
22
import numpy as np
3-
from sklearn.datasets import load_iris, load_boston
3+
from sklearn.datasets import load_iris, load_diabetes
44
from sklearn.linear_model import LogisticRegression, LinearRegression
55
from sklearn.svm import SVR
66
from alibi.confidence.model_linearity import linearity_measure, LinearityMeasure
@@ -31,24 +31,22 @@ def test_linear_superposition(input_shape, nb_instances):
3131
@pytest.mark.parametrize('nb_instances', (1, 5))
3232
@pytest.mark.parametrize('nb_samples', (2, 10))
3333
def test_sample_knn(nb_instances, nb_samples):
34-
3534
iris = load_iris()
3635
X_train = iris.data
3736
input_shape = X_train.shape[1:]
38-
x = np.ones((nb_instances, ) + input_shape)
37+
x = np.ones((nb_instances,) + input_shape)
3938

4039
X_samples = _sample_knn(x=x, X_train=X_train, nb_samples=nb_samples)
4140

4241
assert X_samples.shape[0] == nb_instances
4342
assert X_samples.shape[1] == nb_samples
4443

4544

46-
@pytest.mark.parametrize('nb_instances', (5, ))
47-
@pytest.mark.parametrize('nb_samples', (3, ))
45+
@pytest.mark.parametrize('nb_instances', (5,))
46+
@pytest.mark.parametrize('nb_samples', (3,))
4847
@pytest.mark.parametrize('input_shape', ((3,), (4, 4, 1)))
4948
def test_sample_grid(nb_instances, nb_samples, input_shape):
50-
51-
x = np.ones((nb_instances, ) + input_shape)
49+
x = np.ones((nb_instances,) + input_shape)
5250
nb_features = x.reshape(x.shape[0], -1).shape[1]
5351
feature_range = np.array([[0, 1] for _ in range(nb_features)])
5452

@@ -64,7 +62,6 @@ def test_sample_grid(nb_instances, nb_samples, input_shape):
6462
@pytest.mark.parametrize('nb_instances', (1, 10))
6563
@pytest.mark.parametrize('agg', ('global', 'pairwise'))
6664
def test_linearity_measure_class(method, epsilon, res, nb_instances, agg):
67-
6865
iris = load_iris()
6966
X_train = iris.data
7067
y_train = iris.target
@@ -94,9 +91,8 @@ def predict_fn(x):
9491
@pytest.mark.parametrize('nb_instances', (1, 10))
9592
@pytest.mark.parametrize('agg', ('global', 'pairwise'))
9693
def test_linearity_measure_reg(method, epsilon, res, nb_instances, agg):
97-
98-
boston = load_boston()
99-
X_train, y_train = boston.data, boston.target
94+
diabetes = load_diabetes()
95+
X_train, y_train = diabetes.data, diabetes.target
10096
x = X_train[0: nb_instances].reshape(nb_instances, -1)
10197

10298
lg = LinearRegression()
@@ -155,7 +151,6 @@ def predict_fn_multi(x):
155151
@pytest.mark.parametrize('nb_instances', (1, 10))
156152
@pytest.mark.parametrize('agg', ('global', 'pairwise'))
157153
def test_LinearityMeasure_class(method, epsilon, res, nb_instances, agg):
158-
159154
iris = load_iris()
160155
X_train = iris.data
161156
y_train = iris.target
@@ -180,9 +175,8 @@ def predict_fn(x):
180175
@pytest.mark.parametrize('nb_instances', (1, 10))
181176
@pytest.mark.parametrize('agg', ('global', 'pairwise'))
182177
def test_LinearityMeasure_reg(method, epsilon, res, nb_instances, agg):
183-
184-
boston = load_boston()
185-
X_train, y_train = boston.data, boston.target
178+
diabetes = load_diabetes()
179+
X_train, y_train = diabetes.data, diabetes.target
186180
x = X_train[0: nb_instances].reshape(nb_instances, -1)
187181

188182
lg = LinearRegression()

alibi/explainers/permutation_importance.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,8 +461,7 @@ def _compute_metric(metric_fn: Callable[[np.ndarray, np.ndarray, Optional[np.nda
461461
-------
462462
Evaluation of the metric.
463463
"""
464-
args = inspect.getfullargspec(metric_fn)
465-
str_args = args.args + args.kwonlyargs
464+
str_args = inspect.signature(metric_fn).parameters.keys()
466465

467466
if 'y_true' not in str_args:
468467
raise ValueError('The `scoring` function must have the argument `y_true` in its definition.')

alibi/explainers/tests/conftest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import tensorflow as tf
2020

2121
import alibi_testing
22-
from alibi_testing.data import get_adult_data, get_iris_data, get_boston_data, get_mnist_data, \
22+
from alibi_testing.data import get_adult_data, get_iris_data, get_diabetes_data, get_mnist_data, \
2323
get_movie_sentiment_data
2424

2525

@@ -47,8 +47,8 @@ def mnist_data():
4747

4848

4949
@pytest.fixture(scope='module')
50-
def boston_data():
51-
return get_boston_data()
50+
def diabetes_data():
51+
return get_diabetes_data()
5252

5353

5454
@pytest.fixture(scope='module')

alibi/explainers/tests/test_ale.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515

1616
@pytest.mark.parametrize('min_bin_points', [1, 4, 10])
17-
@pytest.mark.parametrize('dataset', [lazy_fixture('boston_data')])
17+
@pytest.mark.parametrize('dataset', [lazy_fixture('diabetes_data')])
1818
@pytest.mark.parametrize('lr_regressor',
19-
[lazy_fixture('boston_data')],
19+
[lazy_fixture('diabetes_data')],
2020
indirect=True,
2121
ids='reg=lr_{}'.format)
2222
def test_ale_num_linear_regression(min_bin_points, lr_regressor, dataset):

alibi/explainers/tests/test_cfrl.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
@pytest.mark.parametrize('dataset', [lazy_fixture('iris_data'),
1717
lazy_fixture('adult_data'),
18-
lazy_fixture('boston_data')])
18+
lazy_fixture('diabetes_data')])
1919
def test_he_preprocessor(dataset):
2020
""" Test the heterogeneous preprocessor and inverse preprocessor. """
2121
# Unpack dataset.
@@ -41,7 +41,7 @@ def test_he_preprocessor(dataset):
4141

4242
@pytest.mark.parametrize('dataset', [lazy_fixture("iris_data"),
4343
lazy_fixture("adult_data"),
44-
lazy_fixture("boston_data")])
44+
lazy_fixture("diabetes_data")])
4545
def test_split_ohe(dataset):
4646
""" Test the one-hot encoding splitting of a dataset. """
4747

@@ -71,7 +71,7 @@ def test_split_ohe(dataset):
7171

7272
@pytest.mark.parametrize('dataset', [lazy_fixture("iris_data"),
7373
lazy_fixture("adult_data"),
74-
lazy_fixture("boston_data")])
74+
lazy_fixture("diabetes_data")])
7575
def test_get_numerical_condition(dataset):
7676
""" Test the training numerical conditional generator. """
7777

@@ -116,7 +116,7 @@ def test_get_numerical_condition(dataset):
116116

117117
@pytest.mark.parametrize('dataset', [lazy_fixture("iris_data"),
118118
lazy_fixture("adult_data"),
119-
lazy_fixture("boston_data")])
119+
lazy_fixture("diabetes_data")])
120120
def test_get_categorical_condition(dataset):
121121
""" Test the training categorical conditional generator. """
122122

@@ -161,7 +161,7 @@ def test_get_categorical_condition(dataset):
161161
@pytest.mark.parametrize('seed', [0, 1, 2, 3])
162162
@pytest.mark.parametrize('dataset', [lazy_fixture("iris_data"),
163163
lazy_fixture("adult_data"),
164-
lazy_fixture("boston_data")])
164+
lazy_fixture("diabetes_data")])
165165
def test_sample(dataset, seed):
166166
""" Test sampling reconstruction. """
167167

alibi/explainers/tests/test_partial_dependence.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,17 +186,17 @@ def test_explanation_numerical_shapes(rf_classifier, iris_data, grid_resolution,
186186
assert exp.data['ice_values'][i].shape == (num_targets, num_instances, len(exp.data['feature_values'][i]))
187187

188188

189-
@pytest.mark.parametrize('rf_regressor', [lazy_fixture('boston_data')], indirect=True)
189+
@pytest.mark.parametrize('rf_regressor', [lazy_fixture('diabetes_data')], indirect=True)
190190
@pytest.mark.parametrize('kind', ['average', 'individual', 'both'])
191191
@pytest.mark.parametrize('features', [
192192
[0, 1, 2],
193193
[(0, 1), (0, 2), (1, 2)],
194194
[0, 1, (0, 1)]
195195
])
196-
def test_blackbox_regression(rf_regressor, boston_data, kind, features):
196+
def test_blackbox_regression(rf_regressor, diabetes_data, kind, features):
197197
""" Test the black-box predictor for a regression function. """
198198
rf, _ = rf_regressor
199-
X_train = boston_data['X_train']
199+
X_train = diabetes_data['X_train']
200200

201201
# define explainer and compute explanation
202202
explainer = PartialDependence(predictor=rf.predict)

0 commit comments

Comments
 (0)