8000 MAINT Remove outdated numpy and scipy backports (#16725) · gio8tisu/scikit-learn@ecb72f7 · GitHub
[go: up one dir, main page]

Skip to content

Commit ecb72f7

Browse files
rthgio8tisu
authored andcommitted
MAINT Remove outdated numpy and scipy backports (scikit-learn#16725)
* Remove unecessary numpy & scipy backports * More fixes * Remove unused imports
1 parent d3f9be0 commit ecb72f7

File tree

17 files changed

+19
-174
lines changed

17 files changed

+19
-174
lines changed

sklearn/decomposition/_lda.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@
1313

1414
import numpy as np
1515
import scipy.sparse as sp
16-
from scipy.special import gammaln
16+
from scipy.special import gammaln, logsumexp
1717
from joblib import Parallel, delayed, effective_n_jobs
1818

1919
from ..base import BaseEstimator, TransformerMixin
2020
from ..utils import check_random_state, gen_batches, gen_even_slices
21-
from ..utils.fixes import logsumexp
2221
from ..utils.validation import check_non_negative
2322
from ..utils.validation import check_is_fitted
2423

sklearn/ensemble/_gb_losses.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66
from abc import abstractmethod
77

88
import numpy as np
9-
from scipy.special import expit
9+
from scipy.special import expit, logsumexp
1010

1111
from ..tree._tree import TREE_LEAF
12-
from ..utils.fixes import logsumexp
1312
from ..utils.stats import _weighted_percentile
1413
from ..dummy import DummyClassifier
1514
from ..dummy import DummyRegressor

sklearn/ensemble/_hist_gradient_boosting/loss.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@
99
from abc import ABC, abstractmethod
1010

1111
import numpy as np
12-
from scipy.special import expit
13-
try: # logsumexp was moved from mist to special in 0.19
14-
from scipy.special import logsumexp
15-
except ImportError:
16-
from scipy.misc import logsumexp
12+
from scipy.special import expit, logsumexp
1713

1814
from .common import Y_DTYPE
1915
from .common import G_H_DTYPE

sklearn/ensemble/tests/test_forest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from scipy.sparse import csr_matrix
2121
from scipy.sparse import csc_matrix
2222
from scipy.sparse import coo_matrix
23+
from scipy.special import comb
2324

2425
import pytest
2526

@@ -47,7 +48,6 @@
4748
from sklearn.model_selection import GridSearchCV
4849
from sklearn.svm import LinearSVC
4950
from sklearn.utils.validation import check_random_state
50-
from sklearn.utils.fixes import comb
5151

5252
from sklearn.tree._classes import SPARSE_SPLITTERS
5353

sklearn/impute/_iterative.py

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11

22
from time import time
3-
from distutils.version import LooseVersion
43
from collections import namedtuple
54
import warnings
65

7-
import scipy
86
from scipy import stats
97
import numpy as np
108

@@ -329,19 +327,10 @@ def _impute_one_feature(self,
329327
a = (self._min_value[feat_idx] - mus) / sigmas
330328
b = (self._max_value[feat_idx] - mus) / sigmas
331329

332-
if scipy.__version__ < LooseVersion('0.18'):
333-
# bug with vector-valued `a` in old scipy
334-
imputed_values[inrange_mask] = [
335-
stats.truncnorm(a=a_, b=b_,
336-
loc=loc_, scale=scale_).rvs(
337-
random_state=self.random_state_)
338-
for a_, b_, loc_, scale_
339-
in zip(a, b, mus, sigmas)]
340-
else:
341-
truncated_normal = stats.truncnorm(a=a, b=b,
342-
loc=mus, scale=sigmas)
343-
imputed_values[inrange_mask] = truncated_normal.rvs(
344-
random_state=self.random_state_)
330+
truncated_normal = stats.truncnorm(a=a, b=b,
331+
loc=mus, scale=sigmas)
332+
imputed_values[inrange_mask] = truncated_normal.rvs(
333+
random_state=self.random_state_)
345334
else:
346335
imputed_values = estimator.predict(X_test)
347336
imputed_values = np.clip(imputed_values,

sklearn/linear_model/_logistic.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import numpy as np
1717
from scipy import optimize, sparse
18-
from scipy.special import expit
18+
from scipy.special import expit, logsumexp
1919
from joblib import Parallel, delayed, effective_n_jobs
2020

2121
from ._base import LinearClassifierMixin, SparseCoefMixin, BaseEstimator
@@ -27,7 +27,6 @@
2727
from ..utils.extmath import (log_logistic, safe_sparse_dot, softmax,
2828
squared_norm)
2929
from ..utils.extmath import row_norms
30-
from ..utils.fixes import logsumexp
3130
from ..utils.optimize import _newton_cg, _check_optimize_result
3231
from ..utils.validation import check_is_fitted, _check_sample_weight
3332
from ..utils.multiclass import check_classification_targets

sklearn/linear_model/tests/test_sag.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
import pytest
88
import numpy as np
99
import scipy.sparse as sp
10+
from scipy.special import logsumexp
1011

1112
from sklearn.linear_model._sag import get_auto_step_size
1213
from sklearn.linear_model._sag_fast import _multinomial_grad_loss_all_samples
1314
from sklearn.linear_model import LogisticRegression, Ridge
1415
from sklearn.linear_model._base import make_dataset
1516
from sklearn.linear_model._logistic import _multinomial_loss_grad
1617

17-
from sklearn.utils.fixes import logsumexp
1818
from sklearn.utils.extmath import row_norms
1919
from sklearn.utils._testing import assert_almost_equal
2020
from sklearn.utils._testing import assert_array_almost_equal

sklearn/metrics/cluster/_supervised.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919

2020
import numpy as np
2121
from scipy import sparse as sp
22+
from scipy.special import comb
2223

2324
from ._expected_mutual_info_fast import expected_mutual_information
2425
from ...utils.validation import check_array, check_consistent_length
25-
from ...utils.fixes import comb, _astype_copy_false
26+
from ...utils.fixes import _astype_copy_false
2627

2728

2829
def _comb2(n):

sklearn/mixture/_base.py

Lines cha 8000 nged: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
from time import time
1010

1111
import numpy as np
12+
from scipy.special import logsumexp
1213

1314
from .. import cluster
1415
from ..base import BaseEstimator
1516
from ..base import DensityMixin
1617
from ..exceptions import ConvergenceWarning
1718
from ..utils import check_array, check_random_state
1819
from ..utils.validation import check_is_fitted
19-
from ..utils.fixes import logsumexp
2020

2121

2222
def _check_shape(param, param_shape, name):

sklearn/model_selection/_search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import warnings
2222

2323
import numpy as np
24+
from numpy.ma import MaskedArray
2425
from scipy.stats import rankdata
2526

2627
from ..base import BaseEstimator, is_classifier, clone
@@ -31,7 +32,6 @@
3132
from ..exceptions import NotFittedError
3233
from joblib import Parallel, delayed
3334
from ..utils import check_random_state
34-
from ..utils.fixes import MaskedArray
3535
from ..utils.random import sample_without_replacement
3636
from ..utils.validation import indexable, check_is_fitted, _check_fit_params
3737
from ..utils.metaestimators import if_delegate_has_method

0 commit comments

Comments
 (0)
0