Accord.Tests.MachineLearning.ProbabilisticDualCoordinateDescentTest.RunTest C# (CSharp) Method

RunTest() private method

private RunTest ( ) : void
return void
        public void RunTest()
        {
            var dataset = SequentialMinimalOptimizationTest.yinyang;

            double[][] inputs = dataset.Submatrix(null, 0, 1).ToJagged();
            int[] labels = dataset.GetColumn(2).ToInt32();

            Accord.Math.Random.Generator.Seed = 0;

            var svm = new SupportVectorMachine(inputs: 2);
            var teacher = new ProbabilisticDualCoordinateDescent(svm, inputs, labels);

            teacher.Tolerance = 1e-10;
            teacher.UseComplexityHeuristic = true;

            Assert.IsFalse(svm.IsProbabilistic);
            double error = teacher.Run();
            Assert.IsTrue(svm.IsProbabilistic);

            double[] weights = svm.ToWeights();

            Assert.AreEqual(0.13, error);
            Assert.AreEqual(3, weights.Length);
            Assert.AreEqual(-0.52913278486359605, weights[0], 1e-4);
            Assert.AreEqual(-1.6426069611746976, weights[1], 1e-4);
            Assert.AreEqual(-0.77766953652287762, weights[2], 1e-4);

            Assert.AreEqual(svm.Threshold, weights[0]);
        }
ProbabilisticDualCoordinateDescentTest