Skip to content

MAINT Remove unused utils.fixes #12928

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jan 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sklearn/covariance/graph_lasso_.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
# Author: Gael Varoquaux <gael.varoquaux@normalesup.org>
# License: BSD 3 clause
# Copyright: INRIA
from collections.abc import Sequence
import warnings
import operator
import sys
Expand All @@ -19,7 +20,6 @@
from ..exceptions import ConvergenceWarning
from ..utils.validation import check_random_state, check_array
from ..utils import deprecated
from ..utils.fixes import _Sequence as Sequence
from ..linear_model import lars_path
from ..linear_model import cd_fast
from ..model_selection import check_cv, cross_val_score
Expand Down
3 changes: 2 additions & 1 deletion sklearn/datasets/samples_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@

import numbers
import array
from collections.abc import Iterable

import numpy as np
from scipy import linalg
import scipy.sparse as sp

from ..preprocessing import MultiLabelBinarizer
from ..utils import check_array, check_random_state
from ..utils import shuffle as util_shuffle
from ..utils.fixes import _Iterable as Iterable
from ..utils.random import sample_without_replacement


Expand Down
2 changes: 1 addition & 1 deletion sklearn/feature_extraction/dict_vectorizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
# License: BSD 3 clause

from array import array
from collections.abc import Mapping
from operator import itemgetter

import numpy as np
import scipy.sparse as sp

from ..base import BaseEstimator, TransformerMixin
from ..utils import check_array, tosequence
from ..utils.fixes import _Mapping as Mapping


def _tosequence(X):
Expand Down
2 changes: 1 addition & 1 deletion sklearn/feature_extraction/tests/test_text.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from collections.abc import Mapping
import re
import warnings

Expand Down Expand Up @@ -36,7 +37,6 @@
clean_warning_registry, ignore_warnings,
SkipTest, assert_raises, assert_no_warnings,
fails_if_pypy, assert_allclose_dense_sparse)
from sklearn.utils.fixes import _Mapping as Mapping
from collections import defaultdict
from functools import partial
import pickle
Expand Down
2 changes: 1 addition & 1 deletion sklearn/feature_extraction/text.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

import array
from collections import defaultdict
from collections.abc import Mapping
import numbers
from operator import itemgetter
import re
Expand All @@ -30,7 +31,6 @@
from .stop_words import ENGLISH_STOP_WORDS
from ..utils.validation import check_is_fitted, check_array, FLOAT_DTYPES
from ..utils.fixes import sp_version
from ..utils.fixes import _Mapping as Mapping # noqa


__all__ = ['HashingVectorizer',
Expand Down
2 changes: 1 addition & 1 deletion sklearn/metrics/scorer.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
# License: Simplified BSD

from abc import ABCMeta
from collections.abc import Iterable

import numpy as np

Expand All @@ -39,7 +40,6 @@
from .cluster import fowlkes_mallows_score

from ..utils.multiclass import type_of_target
from ..utils.fixes import _Iterable as Iterable
from ..base import is_regressor


Expand Down
3 changes: 1 addition & 2 deletions sklearn/model_selection/_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

from abc import ABCMeta, abstractmethod
from collections import defaultdict
from collections.abc import Mapping, Sequence, Iterable
from functools import partial, reduce
from itertools import product
import operator
Expand All @@ -32,8 +33,6 @@
from ..utils._joblib import Parallel, delayed
from ..utils import check_random_state
from ..utils.fixes import MaskedArray
from ..utils.fixes import _Mapping as Mapping, _Sequence as Sequence
from ..utils.fixes import _Iterable as Iterable
from ..utils.random import sample_without_replacement
from ..utils.validation import indexable, check_is_fitted
from ..utils.metaestimators import if_delegate_has_method
Expand Down
2 changes: 1 addition & 1 deletion sklearn/model_selection/_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from __future__ import print_function
from __future__ import division

from collections.abc import Iterable
import warnings
from itertools import chain, combinations
from math import ceil, floor
Expand All @@ -27,7 +28,6 @@
from ..utils.validation import check_array
from ..utils.multiclass import type_of_target
from ..utils.fixes import comb
from ..utils.fixes import _Iterable as Iterable
from ..base import _pprint

__all__ = ['BaseCrossValidator',
Expand Down
2 changes: 1 addition & 1 deletion sklearn/model_selection/tests/test_search.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Test the search module"""

from collections.abc import Iterable, Sized
from io import StringIO
from itertools import chain, product
import pickle
Expand All @@ -12,7 +13,6 @@
import pytest

from sklearn.utils.fixes import sp_version
from sklearn.utils.fixes import _Iterable as Iterable, _Sized as Sized
from sklearn.utils.testing import assert_equal
from sklearn.utils.testing import assert_not_equal
from sklearn.utils.testing import assert_raises
Expand Down
13 changes: 7 additions & 6 deletions sklearn/preprocessing/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
from scipy import sparse
from scipy import stats
from scipy import optimize
from scipy.special import boxcox

from ..base import BaseEstimator, TransformerMixin
from ..utils import check_array
from ..utils.extmath import row_norms
from ..utils.extmath import _incremental_mean_and_var
from ..utils.fixes import boxcox, nanpercentile, nanmedian
from ..utils.sparsefuncs_fast import (inplace_csr_row_normalize_l1,
inplace_csr_row_normalize_l2)
from ..utils.sparsefuncs import (inplace_column_scale,
Expand Down Expand Up @@ -1138,7 +1138,7 @@ def fit(self, X, y=None):
raise ValueError(
"Cannot center sparse matrices: use `with_centering=False`"
" instead. See docstring for motivation and alternatives.")
self.center_ = nanmedian(X, axis=0)
self.center_ = np.nanmedian(X, axis=0)
else:
self.center_ = None

Expand All @@ -1153,8 +1153,8 @@ def fit(self, X, y=None):
else:
column_data = X[:, feature_idx]

quantiles.append(nanpercentile(column_data,
self.quantile_range))
quantiles.append(np.nanpercentile(column_data,
self.quantile_range))

quantiles = np.transpose(quantiles)

Expand Down Expand Up @@ -2101,7 +2101,7 @@ def _dense_fit(self, X, random_state):
size=self.subsample,
replace=False)
col = col.take(subsample_idx, mode='clip')
self.quantiles_.append(nanpercentile(col, references))
self.quantiles_.append(np.nanpercentile(col, references))
self.quantiles_ = np.transpose(self.quantiles_)

def _sparse_fit(self, X, random_state):
Expand Down Expand Up @@ -2143,7 +2143,8 @@ def _sparse_fit(self, X, random_state):
# quantiles. Force the quantiles to be zeros.
self.quantiles_.append([0] * len(references))
else:
self.quantiles_.append(nanpercentile(column_data, references))
self.quantiles_.append(
np.nanpercentile(column_data, references))
self.quantiles_ = np.transpose(self.quantiles_)

def fit(self, X, y=None):
Expand Down
2 changes: 1 addition & 1 deletion sklearn/utils/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""
The :mod:`sklearn.utils` module includes various utilities.
"""
from collections.abc import Sequence
import numbers
import platform
import struct
Expand All @@ -13,7 +14,6 @@
from .class_weight import compute_class_weight, compute_sample_weight
from . import _joblib
from ..exceptions import DataConversionWarning
from .fixes import _Sequence as Sequence
from .deprecation import deprecated
from .validation import (as_float_array,
assert_all_finite,
Expand Down
8 changes: 0 additions & 8 deletions sklearn/utils/fixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,10 @@

from distutils.version import LooseVersion

from collections.abc import Sequence as _Sequence # noqa
from collections.abc import Iterable as _Iterable # noqa
from collections.abc import Mapping as _Mapping # noqa
from collections.abc import Sized as _Sized # noqa

import numpy as np
import scipy.sparse as sp
import scipy
from scipy.special import boxcox # noqa
from scipy.sparse.linalg import lsqr as sparse_lsqr # noqa
from numpy import nanpercentile # noqa
from numpy import nanmedian # noqa


def _parse_version(version_string):
Expand Down
3 changes: 1 addition & 2 deletions sklearn/utils/multiclass.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
==========================================

"""
from __future__ import division
from collections.abc import Sequence
from itertools import chain

from scipy.sparse import issparse
Expand All @@ -16,7 +16,6 @@

import numpy as np

from ..utils.fixes import _Sequence as Sequence
from .validation import check_array


Expand Down
29 changes: 0 additions & 29 deletions sklearn/utils/tests/test_fixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
from sklearn.utils.testing import assert_allclose

from sklearn.utils.fixes import MaskedArray
from sklearn.utils.fixes import nanmedian
from sklearn.utils.fixes import nanpercentile
from sklearn.utils.fixes import _joblib_parallel_args
from sklearn.utils.fixes import _object_dtype_isnan

Expand All @@ -28,33 +26,6 @@ def test_masked_array_obj_dtype_pickleable():
assert_array_equal(marr.mask, marr_pickled.mask)


@pytest.mark.parametrize(
"axis, expected_median",
[(None, 4.0),
(0, np.array([1., 3.5, 3.5, 4., 7., np.nan])),
(1, np.array([1., 6.]))]
)
def test_nanmedian(axis, expected_median):
X = np.array([[1, 1, 1, 2, np.nan, np.nan],
[np.nan, 6, 6, 6, 7, np.nan]])
median = nanmedian(X, axis=axis)
if axis is None:
assert median == pytest.approx(expected_median)
else:
assert_allclose(median, expected_median)


@pytest.mark.parametrize(
"a, q, expected_percentile",
[(np.array([1, 2, 3, np.nan]), [0, 50, 100], np.array([1., 2., 3.])),
(np.array([1, 2, 3, np.nan]), 50, 2.),
(np.array([np.nan, np.nan]), [0, 50], np.array([np.nan, np.nan]))]
)
def test_nanpercentile(a, q, expected_percentile):
percentile = nanpercentile(a, q)
assert_allclose(percentile, expected_percentile)


@pytest.mark.parametrize('joblib_version', ('0.11', '0.12.0'))
def test_joblib_parallel_args(monkeypatch, joblib_version):
import sklearn.utils._joblib
Expand Down