public void TestLabelBinarizerSetLabelEncoding() { var lb = new LabelBinarizer<int>(negLabel: -2, posLabel: 2); // two-class case var inp = new[] {0, 1, 1, 0}; var expected = new double[,] {{-2, 2, 2, -2}}.ToDenseMatrix().Transpose(); var got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); // multi-class case inp = new[] {3, 2, 1, 2, 0}; expected = new double[,] { {-2, -2, -2, +2}, {-2, -2, +2, -2}, {-2, +2, -2, -2}, {-2, -2, +2, -2}, {+2, -2, -2, -2} }.ToDenseMatrix(); got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); }
public void TestLabelBinarizerSetLabelEncoding() { var lb = new LabelBinarizer <int>(negLabel: -2, posLabel: 2); // two-class case var inp = new[] { 0, 1, 1, 0 }; var expected = new double[, ] { { -2, 2, 2, -2 } }.ToDenseMatrix().Transpose(); var got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); // multi-class case inp = new[] { 3, 2, 1, 2, 0 }; expected = new double[, ] { { -2, -2, -2, +2 }, { -2, -2, +2, -2 }, { -2, +2, -2, -2 }, { -2, -2, +2, -2 }, { +2, -2, -2, -2 } }.ToDenseMatrix(); got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); }
public void TestLabelBinarizer() { var lb = new LabelBinarizer<string>(); // two-class case var inp = new[] {"neg", "pos", "pos", "neg"}; var expected = new double[,] {{0, 1, 1, 0}}.ToDenseMatrix().Transpose(); var got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); // multi-class case inp = new[] {"spam", "ham", "eggs", "ham", "0"}; expected = new double[,] { {0, 0, 0, 1}, {0, 0, 1, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {1, 0, 0, 0} }.ToDenseMatrix(); got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); }
public void TestLabelBinarizer() { var lb = new LabelBinarizer <string>(); // two-class case var inp = new[] { "neg", "pos", "pos", "neg" }; var expected = new double[, ] { { 0, 1, 1, 0 } }.ToDenseMatrix().Transpose(); var got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); // multi-class case inp = new[] { "spam", "ham", "eggs", "ham", "0" }; expected = new double[, ] { { 0, 0, 0, 1 }, { 0, 0, 1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 1, 0 }, { 1, 0, 0, 0 } }.ToDenseMatrix(); got = lb.Fit(inp).Transform(inp); Assert.AreEqual(expected, got); Assert.IsTrue(lb.InverseTransform(got).SequenceEqual(inp)); }