Skip to content

Commit efede63

Browse files
jnothmanogrisel
authored andcommitted
TST avoid more warnings related to sequence of sequences
1 parent 28eb1eb commit efede63

File tree

1 file changed

+22
-24
lines changed

1 file changed

+22
-24
lines changed

sklearn/metrics/tests/test_metrics.py

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from sklearn import datasets
99
from sklearn import svm
1010

11-
from sklearn.preprocessing import LabelBinarizer
11+
from sklearn.preprocessing import LabelBinarizer, MultiLabelBinarizer
1212
from sklearn.datasets import make_multilabel_classification
1313
from sklearn.utils import check_random_state, shuffle
1414
from sklearn.utils.multiclass import unique_labels
@@ -1061,14 +1061,12 @@ def test_multilabel_classification_report():
10611061

10621062
n_classes = 4
10631063
n_samples = 50
1064-
_, y_true_ll = make_multilabel_classification(n_features=1,
1065-
n_classes=n_classes,
1066-
random_state=0,
1067-
n_samples=n_samples)
1068-
_, y_pred_ll = make_multilabel_classification(n_features=1,
1069-
n_classes=n_classes,
1070-
random_state=1,
1071-
n_samples=n_samples)
1064+
# using sequence of sequences is deprecated, but still tested
1065+
make_ml = ignore_warnings(make_multilabel_classification)
1066+
_, y_true_ll = make_ml(n_features=1, n_classes=n_classes, random_state=0,
1067+
n_samples=n_samples)
1068+
_, y_pred_ll = make_ml(n_features=1, n_classes=n_classes, random_state=1,
1069+
n_samples=n_samples)
10721070

10731071
expected_report = """\
10741072
precision recall f1-score support
@@ -1081,7 +1079,7 @@ def test_multilabel_classification_report():
10811079
avg / total 0.45 0.54 0.47 85
10821080
"""
10831081

1084-
lb = LabelBinarizer()
1082+
lb = MultiLabelBinarizer()
10851083
lb.fit([range(4)])
10861084
y_true_bi = lb.transform(y_true_ll)
10871085
y_pred_bi = lb.transform(y_pred_ll)
@@ -1646,10 +1644,12 @@ def test_multilabel_representation_invariance():
16461644
# Generate some data
16471645
n_classes = 4
16481646
n_samples = 50
1649-
_, y1 = make_multilabel_classification(n_features=1, n_classes=n_classes,
1650-
random_state=0, n_samples=n_samples)
1651-
_, y2 = make_multilabel_classification(n_features=1, n_classes=n_classes,
1652-
random_state=1, n_samples=n_samples)
1647+
# using sequence of sequences is deprecated, but still tested
1648+
make_ml = ignore_warnings(make_multilabel_classification)
1649+
_, y1 = make_ml(n_features=1, n_classes=n_classes, random_state=0,
1650+
n_samples=n_samples)
1651+
_, y2 = make_ml(n_features=1, n_classes=n_classes, random_state=1,
1652+
n_samples=n_samples)
16531653

16541654
# Be sure to have at least one empty label
16551655
y1 += ([], )
@@ -1667,7 +1667,7 @@ def test_multilabel_representation_invariance():
16671667
y2_redundant = [x * rng.randint(1, 4) for x in y2]
16681668

16691669
# Binary indicator matrix format
1670-
lb = LabelBinarizer().fit([range(n_classes)])
1670+
lb = MultiLabelBinarizer().fit([range(n_classes)])
16711671
y1_binary_indicator = lb.transform(y1)
16721672
y2_binary_indicator = lb.transform(y2)
16731673

@@ -1872,21 +1872,19 @@ def test_normalize_option_multilabel_classification():
18721872
# Test in the multilabel case
18731873
n_classes = 4
18741874
n_samples = 100
1875-
_, y_true = make_multilabel_classification(n_features=1,
1876-
n_classes=n_classes,
1877-
random_state=0,
1878-
n_samples=n_samples)
1879-
_, y_pred = make_multilabel_classification(n_features=1,
1880-
n_classes=n_classes,
1881-
random_state=1,
1882-
n_samples=n_samples)
1875+
# using sequence of sequences is deprecated, but still tested
1876+
make_ml = ignore_warnings(make_multilabel_classification)
1877+
_, y_true = make_ml(n_features=1, n_classes=n_classes,
1878+
random_state=0, n_samples=n_samples)
1879+
_, y_pred = make_ml(n_features=1, n_classes=n_classes,
1880+
random_state=1, n_samples=n_samples)
18831881

18841882
# Be sure to have at least one empty label
18851883
y_true += ([], )
18861884
y_pred += ([], )
18871885
n_samples += 1
18881886

1889-
lb = LabelBinarizer().fit([range(n_classes)])
1887+
lb = MultiLabelBinarizer().fit([range(n_classes)])
18901888
y_true_binary_indicator = lb.transform(y_true)
18911889
y_pred_binary_indicator = lb.transform(y_pred)
18921890

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy