|
9 | 9 |
|
10 | 10 | import pytest
|
11 | 11 |
|
12 |
| -from sklearn import set_config, get_config |
| 12 | +from sklearn import config_context |
13 | 13 |
|
14 | 14 | from sklearn.utils.testing import assert_greater
|
15 | 15 | from sklearn.utils.testing import assert_array_almost_equal
|
@@ -907,30 +907,26 @@ def test_pairwise_distances_data_derived_params(n_jobs, metric, dist_function,
|
907 | 907 | y_is_x):
|
908 | 908 | # check that pairwise_distances give the same result in sequential and
|
909 | 909 | # parallel, when metric has data-derived parameters.
|
910 |
| - wm = get_config()['working_memory'] |
911 |
| - set_config(working_memory=0.1) # to have more than 1 chunk |
| 910 | + with config_context(working_memory=0.1): # to have more than 1 chunk |
| 911 | + rng = np.random.RandomState(0) |
912 | 912 |
|
913 |
| - rng = np.random.RandomState(0) |
914 |
| - |
915 |
| - X = rng.random_sample((1000, 10)) |
| 913 | + X = rng.random_sample((1000, 10)) |
916 | 914 |
|
917 |
| - if y_is_x: |
918 |
| - Y = X |
919 |
| - if metric == "seuclidean": |
920 |
| - params = {'V': np.var(X, axis=0, ddof=1)} |
921 |
| - else: |
922 |
| - params = {'VI': np.linalg.inv(np.cov(X.T)).T} |
923 |
| - else: |
924 |
| - Y = rng.random_sample((1000, 10))
925 |
| - if metric == "seuclidean": |
926 |
| - params = {'V': np.var(np.vstack([X, Y]), axis=0, ddof=1)} |
| 915 | + if y_is_x: |
| 916 | + Y = X |
| 917 | + if metric == "seuclidean": |
| 918 | + params = {'V': np.var(X, axis=0, ddof=1)} |
| 919 | + else: |
| 920 | + params = {'VI': np.linalg.inv(np.cov(X.T)).T} |
927 | 921 | else:
|
928 |
| - params = {'VI': np.linalg.inv(np.cov(np.vstack([X, Y]).T)).T} |
929 |
| - |
930 |
| - expected_dist = cdist(X, Y, metric=metric, **params) |
| 922 | + Y = rng.random_sample((1000, 10)) |
| 923 | + if metric == "seuclidean": |
| 924 | + params = {'V': np.var(np.vstack([X, Y]), axis=0, ddof=1)} |
| 925 | + else: |
| 926 | + params = {'VI': np.linalg.inv(np.cov(np.vstack([X, Y]).T)).T} |
931 | 927 |
|
932 |
| - dist = np.vstack(dist_function(X, Y, metric=metric, n_jobs=n_jobs)) |
| 928 | + expected_dist = cdist(X, Y, metric=metric, **params) |
933 | 929 |
|
934 |
| - assert_allclose(dist, expected_dist) |
| 930 | + dist = np.vstack(dist_function(X, Y, metric=metric, n_jobs=n_jobs)) |
935 | 931 |
|
936 |
| - set_config(working_memory=wm) # reset working memory to initial value |
| 932 | + assert_allclose(dist, expected_dist) |
0 commit comments