Skip to content

Commit 6ac9dc4

Browse files
NicolasHugadrinjalali
authored andcommitted
MNT make the modules in sklearn.mixture private (#15166)
* renaming * renamed some imports * added test and gitignore
1 parent 7aff4c3 commit 6ac9dc4

File tree

9 files changed

+34
-19
lines changed

9 files changed

+34
-19
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,7 @@ sklearn/cluster/k_means_.py
106106
sklearn/cluster/mean_shift_.py
107107
sklearn/cluster/optics_.py
108108
sklearn/cluster/spectral.py
109+
110+
sklearn/mixture/base.py
111+
sklearn/mixture/gaussian_mixture.py
112+
sklearn/mixture/bayesian_mixture.py

sklearn/_build_utils/deprecated_modules.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434
('_mean_shift', 'sklearn.cluster.mean_shift_', 'sklearn.cluster'),
3535
('_optics', 'sklearn.cluster.optics_', 'sklearn.cluster'),
3636
('_spectral', 'sklearn.cluster.spectral', 'sklearn.cluster'),
37+
38+
('_base', 'sklearn.mixture.base', 'sklearn.mixture'),
39+
('_gaussian_mixture', 'sklearn.mixture.gaussian_mixture',
40+
'sklearn.mixture'),
41+
('_bayesian_mixture', 'sklearn.mixture.bayesian_mixture',
42+
'sklearn.mixture'),
3743
}
3844

3945
_FILE_CONTENT_TEMPLATE = """

sklearn/mixture/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
The :mod:`sklearn.mixture` module implements mixture modeling algorithms.
33
"""
44

5-
from .gaussian_mixture import GaussianMixture
6-
from .bayesian_mixture import BayesianGaussianMixture
5+
from ._gaussian_mixture import GaussianMixture
6+
from ._bayesian_mixture import BayesianGaussianMixture
77

88

99
__all__ = ['GaussianMixture',
File renamed without changes.

sklearn/mixture/bayesian_mixture.py renamed to sklearn/mixture/_bayesian_mixture.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
import numpy as np
88
from scipy.special import betaln, digamma, gammaln
99

10-
from .base import BaseMixture, _check_shape
11-
from .gaussian_mixture import _check_precision_matrix
12-
from .gaussian_mixture import _check_precision_positivity
13-
from .gaussian_mixture import _compute_log_det_cholesky
14-
from .gaussian_mixture import _compute_precision_cholesky
15-
from .gaussian_mixture import _estimate_gaussian_parameters
16-
from .gaussian_mixture import _estimate_log_gaussian_prob
10+
from ._base import BaseMixture, _check_shape
11+
from ._gaussian_mixture import _check_precision_matrix
12+
from ._gaussian_mixture import _check_precision_positivity
13+
from ._gaussian_mixture import _compute_log_det_cholesky
14+
from ._gaussian_mixture import _compute_precision_cholesky
15+
from ._gaussian_mixture import _estimate_gaussian_parameters
16+
from ._gaussian_mixture import _estimate_log_gaussian_prob
1717
from ..utils import check_array
1818
from ..utils.validation import check_is_fitted
1919

sklearn/mixture/gaussian_mixture.py renamed to sklearn/mixture/_gaussian_mixture.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from scipy import linalg
1010

11-
from .base import BaseMixture, _check_shape
11+
from ._base import BaseMixture, _check_shape
1212
from ..utils import check_array
1313
from ..utils.validation import check_is_fitted
1414
from ..utils.extmath import row_norms

sklearn/mixture/tests/test_bayesian_mixture.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
from sklearn.metrics.cluster import adjusted_rand_score
1515

16-
from sklearn.mixture.bayesian_mixture import _log_dirichlet_norm
17-
from sklearn.mixture.bayesian_mixture import _log_wishart_norm
16+
from sklearn.mixture._bayesian_mixture import _log_dirichlet_norm
17+
from sklearn.mixture._bayesian_mixture import _log_wishart_norm
1818

1919
from sklearn.mixture import BayesianGaussianMixture
2020

sklearn/mixture/tests/test_gaussian_mixture.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
from sklearn.datasets.samples_generator import make_spd_matrix
1515
from io import StringIO
1616
from sklearn.metrics.cluster import adjusted_rand_score
17-
from sklearn.mixture.gaussian_mixture import GaussianMixture
18-
from sklearn.mixture.gaussian_mixture import (
17+
from sklearn.mixture import GaussianMixture
18+
from sklearn.mixture._gaussian_mixture import (
1919
_estimate_gaussian_covariances_full,
2020
_estimate_gaussian_covariances_tied,
2121
_estimate_gaussian_covariances_diag,
22-
_estimate_gaussian_covariances_spherical)
23-
from sklearn.mixture.gaussian_mixture import _compute_precision_cholesky
24-
from sklearn.mixture.gaussian_mixture import _compute_log_det_cholesky
22+
_estimate_gaussian_covariances_spherical,
23+
_compute_precision_cholesky,
24+
_compute_log_det_cholesky,
25+
)
2526
from sklearn.exceptions import ConvergenceWarning, NotFittedError
2627
from sklearn.utils.extmath import fast_logdet
2728
from sklearn.utils.testing import assert_allclose
@@ -172,7 +173,7 @@ def test_gaussian_mixture_attributes():
172173

173174

174175
def test_check_X():
175-
from sklearn.mixture.base import _check_X
176+
from sklearn.mixture._base import _check_X
176177
rng = np.random.RandomState(0)
177178

178179
n_samples, n_components, n_features = 10, 2, 2
@@ -469,7 +470,7 @@ def _naive_lmvnpdf_diag(X, means, covars):
469470

470471

471472
def test_gaussian_mixture_log_probabilities():
472-
from sklearn.mixture.gaussian_mixture import _estimate_log_gaussian_prob
473+
from sklearn.mixture._gaussian_mixture import _estimate_log_gaussian_prob
473474

474475
# test against with _naive_lmvnpdf_diag
475476
rng = np.random.RandomState(0)

sklearn/tests/test_import_deprecations.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
('sklearn.cluster.mean_shift_', 'MeanShift'),
4040
('sklearn.cluster.optics_', 'OPTICS'),
4141
('sklearn.cluster.spectral', 'SpectralClustering'),
42+
43+
('sklearn.mixture.base', 'BaseMixture'),
44+
('sklearn.mixture.bayesian_mixture', 'BayesianGaussianMixture'),
45+
('sklearn.mixture.gaussian_mixture', 'GaussianMixture'),
4246
))
4347
def test_import_is_deprecated(deprecated_path, importee):
4448
# Make sure that "from deprecated_path import importee" is still possible

0 commit comments

Comments
 (0)