Thanks to visit codestin.com
Credit goes to github.com

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)