11
11
12
12
from sklearn .utils .testing import assert_array_equal
13
13
from sklearn .utils .testing import assert_equal
14
+ from sklearn .utils .testing import assert_true
14
15
from sklearn .utils .testing import assert_raises
15
16
from sklearn .utils .testing import assert_raise_message
16
17
from sklearn .utils .testing import ignore_warnings
@@ -35,16 +36,25 @@ def toarray(a):
35
36
36
37
37
38
def test_label_binarizer ():
38
- lb = LabelBinarizer ()
39
-
40
39
# one-class case defaults to negative label
40
+ # For dense case:
41
41
inp = ["pos" , "pos" , "pos" , "pos" ]
42
+ lb = LabelBinarizer (sparse_output = False )
42
43
expected = np .array ([[0 , 0 , 0 , 0 ]]).T
43
44
got = lb .fit_transform (inp )
44
45
assert_array_equal (lb .classes_ , ["pos" ])
45
46
assert_array_equal (expected , got )
46
47
assert_array_equal (lb .inverse_transform (got ), inp )
47
48
49
+ # For sparse case:
50
+ lb = LabelBinarizer (sparse_output = True )
51
+ got = lb .fit_transform (inp )
52
+ assert_true (issparse (got ))
53
+ assert_array_equal (lb .classes_ , ["pos" ])
54
+ assert_array_equal (expected , got .toarray ())
55
+ assert_array_equal (lb .inverse_transform (got .toarray ()), inp )
56
+
57
+ lb = LabelBinarizer (sparse_output = False )
48
58
# two-class case
49
59
inp = ["neg" , "pos" , "pos" , "neg" ]
50
60
expected = np .array ([[0 , 1 , 1 , 0 ]]).T
0 commit comments