1111
1212from sklearn .utils .testing import assert_array_equal
1313from sklearn .utils .testing import assert_equal
14+ from sklearn .utils .testing import assert_true
1415from sklearn .utils .testing import assert_raises
1516from sklearn .utils .testing import assert_raise_message
1617from sklearn .utils .testing import ignore_warnings
@@ -35,16 +36,25 @@ def toarray(a):
3536
3637
3738def test_label_binarizer ():
38- lb = LabelBinarizer ()
39-
4039 # one-class case defaults to negative label
40+ # For dense case:
4141 inp = ["pos" , "pos" , "pos" , "pos" ]
42+ lb = LabelBinarizer (sparse_output = False )
4243 expected = np .array ([[0 , 0 , 0 , 0 ]]).T
4344 got = lb .fit_transform (inp )
4445 assert_array_equal (lb .classes_ , ["pos" ])
4546 assert_array_equal (expected , got )
4647 assert_array_equal (lb .inverse_transform (got ), inp )
4748
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 )
4858 # two-class case
4959 inp = ["neg" , "pos" , "pos" , "neg" ]
5060 expected = np .array ([[0 , 1 , 1 , 0 ]]).T
0 commit comments