Accord.Tests.MachineLearning.AprioriTest.ClassifierTest1 C# (CSharp) Method

ClassifierTest1() private method

private ClassifierTest1 ( ) : void
return void
        public void ClassifierTest1()
        {
            // example from http://www3.cs.stonybrook.edu/~cse634/lecture_notes/07apriori.pdf

            string[][] dataset = 
            {
                new string[] { "1", "2", "5" },
                new string[] { "2", "4" },
                new string[] { "2", "3" },
                new string[] { "1", "2", "4" },
                new string[] { "1", "3" },
                new string[] { "2", "3" },
                new string[] { "1", "3" },
                new string[] { "1", "2", "3", "5" },
                new string[] { "1", "2", "3" },
            };

            var apriori = new Apriori<string>(threshold: 2, confidence: 0.7);

            var classifier = apriori.Learn(dataset);

            var rules = classifier.Rules;

            Assert.AreEqual(6, rules.Length);
            Assert.AreEqual(rules[0].ToString(), "[5] -> [1]; support: 2, confidence: 1");
            Assert.AreEqual(rules[1].ToString(), "[5] -> [2]; support: 2, confidence: 1");
            Assert.AreEqual(rules[2].ToString(), "[4] -> [2]; support: 2, confidence: 1");
            Assert.AreEqual(rules[3].ToString(), "[5] -> [1 2]; support: 2, confidence: 1");
            Assert.AreEqual(rules[4].ToString(), "[1 5] -> [2]; support: 2, confidence: 1");
            Assert.AreEqual(rules[5].ToString(), "[2 5] -> [1]; support: 2, confidence: 1");


            string[][] actual;

            actual = classifier.Decide(new string[] { "1", "5" });
            Assert.AreEqual("1", actual[0][0]);
            Assert.AreEqual("2", actual[1][0]);
            Assert.AreEqual("1", actual[2][0]);
            Assert.AreEqual("2", actual[2][1]);
            Assert.AreEqual("2", actual[3][0]);
            actual = classifier.Decide(new string[] { "2", "5" });
            Assert.AreEqual("1", actual[0][0]);
            Assert.AreEqual("2", actual[1][0]);
            Assert.AreEqual("1", actual[2][0]);
            Assert.AreEqual("2", actual[2][1]);
            Assert.AreEqual("1", actual[3][0]);
            actual = classifier.Decide(new string[] { "0", "5" });
            Assert.AreEqual("1", actual[0][0]);
            Assert.AreEqual("2", actual[1][0]);
            Assert.AreEqual("1", actual[2][0]);
            Assert.AreEqual("2", actual[2][1]);
        }
    }