Esempio n. 1
0
 def test_single_value_numeric_no_pos_label(self):
     r0 = _get_labels_for_confusion_matrix([0], None)
     assert np.array_equal(r0, [0, 1])
     r1 = _get_labels_for_confusion_matrix([-1], None)
     assert np.array_equal(r1, [-1, 1])
     r2 = _get_labels_for_confusion_matrix([1], None)
     assert np.array_equal(r2, [None, 1])
Esempio n. 2
0
 def test_pos_label_not_in_data(self):
     expected_msg = "Must have pos_label in y values"
     with pytest.raises(ValueError) as e0:
         _get_labels_for_confusion_matrix([0, 1], -1)
     assert str(e0.value) == expected_msg
     with pytest.raises(ValueError) as e1:
         _get_labels_for_confusion_matrix([4, 2], 3)
     assert str(e1.value) == expected_msg
Esempio n. 3
0
 def test_need_pos_label(self):
     expected_msg = "If pos_label is not specified, values must be from {0, 1} or {-1, 1}"
     with pytest.raises(ValueError) as e0:
         _get_labels_for_confusion_matrix([0, 2], None)
     assert str(e0.value) == expected_msg
     with pytest.raises(ValueError) as e1:
         _get_labels_for_confusion_matrix([-1, 0], None)
     assert str(e1.value) == expected_msg
Esempio n. 4
0
 def test_too_many_values(self):
     expected_msg = "Must have no more than two unique y values"
     expected_msg_no_pos = \
         "If pos_label is not specified, values must be from {0, 1} or {-1, 1}"
     with pytest.raises(ValueError) as e0:
         _get_labels_for_confusion_matrix([0, 1, 2], None)
     # Note that while the following error message should be deterministic
     # from a user PoV, either message is helpful
     assert str(e0.value) in {expected_msg, expected_msg_no_pos}
     # In the following, only one error is possible
     with pytest.raises(ValueError) as e1:
         _get_labels_for_confusion_matrix(['a', 'b', 'c'], 'a')
     assert str(e1.value) == expected_msg
Esempio n. 5
0
 def test_single_value_alpha_pos_label(self):
     r0 = _get_labels_for_confusion_matrix(['a'], 'a')
     assert np.array_equal(r0, [None, 'a'])
     r1 = _get_labels_for_confusion_matrix(['a'], 0)
     assert np.array_equal(r1, ['a', 0])
Esempio n. 6
0
 def test_single_value_numeric_pos_label(self):
     r0 = _get_labels_for_confusion_matrix([0], 3)
     assert np.array_equal(r0, [0, 3])
     r1 = _get_labels_for_confusion_matrix([0], 0)
     assert np.array_equal(r1, [None, 0])
Esempio n. 7
0
 def test_smoke_alpha_pos_label(self):
     r0 = _get_labels_for_confusion_matrix(['a', 'b'], 'b')
     assert np.array_equal(r0, ['a', 'b'])
     r1 = _get_labels_for_confusion_matrix(['a', 'b'], 'a')
     assert np.array_equal(r1, ['b', 'a'])
Esempio n. 8
0
 def test_smoke_numeric_pos_label(self):
     r0 = _get_labels_for_confusion_matrix([0, 2], 2)
     assert np.array_equal(r0, [0, 2])
     r1 = _get_labels_for_confusion_matrix([0, 2], 0)
     assert np.array_equal(r1, [2, 0])
Esempio n. 9
0
 def test_smoke(self):
     r0 = _get_labels_for_confusion_matrix([0, 1], None)
     assert np.array_equal(r0, [0, 1])
     r1 = _get_labels_for_confusion_matrix([-1, 1], None)
     assert np.array_equal(r1, [-1, 1])
Esempio n. 10
0
 def test_single_value_alpha_pos_label(self):
     r0 = _get_labels_for_confusion_matrix(["a"], "a")
     assert np.array_equal(r0, [np.iinfo(np.int64).min, "a"])
     r1 = _get_labels_for_confusion_matrix(["a"], 0)
     assert np.array_equal(r1, ["a", 0])
Esempio n. 11
0
 def test_smoke_alpha_pos_label(self):
     r0 = _get_labels_for_confusion_matrix(["a", "b"], "b")
     assert np.array_equal(r0, ["a", "b"])
     r1 = _get_labels_for_confusion_matrix(["a", "b"], "a")
     assert np.array_equal(r1, ["b", "a"])