예제 #1
0
        public void TestMultistepSingleValue()
        {
            _classifier = new CLAClassifier(new[] { 1, 2 });

            // Only should return one actual value bucket.
            Classification <double> result = null;
            int recordNum = 0;

            for (int i = 0; i < 10; i++, recordNum++)
            {
                result = Compute <double>(_classifier, recordNum, new[] { 1, 5 }, 0, 10);
            }

            Assert.IsTrue(Arrays.AreEqual(new double[] { 10.0 }, result.GetActualValues()));
            // Should have a probability of 100% for that bucket.
            Assert.IsTrue(Arrays.AreEqual(new double[] { 1.0 }, result.GetStats(1)));
            Assert.IsTrue(Arrays.AreEqual(new double[] { 1.0 }, result.GetStats(2)));
        }
예제 #2
0
        public void TestMultistepSingleValue()
        {
            var classifier = new SDRClassifier(new[] { 1, 2 });

            Classification <double> retVal = null;

            for (int i = 0; i < 10; i++)
            {
                retVal = _compute(classifier, i, new[] { 1, 5 }, 0, 10);
            }

            // Since overlap - should be previous with high likelihood
            double[] actValues = retVal.GetActualValues();

            Assert.AreEqual((double)actValues[0], 10);
            double[] resultDoubles1 = (double[])retVal.GetStats(1);
            double[] resultDoubles2 = (double[])retVal.GetStats(2);

            Assert.AreEqual(resultDoubles1[0], 1);
            Assert.AreEqual(resultDoubles2[0], 1);
        }
예제 #3
0
        public void TestMultistepSimple()
        {
            _classifier = new CLAClassifier(new[] { 1, 2 }, 0.001, 0.3, 0);

            Classification <double> result = null;
            int recordNum = 0;

            for (int i = 0; i < 100; i++, recordNum++)
            {
                result = Compute <double>(_classifier, recordNum, new[] { i % 10 }, i % 10, (i % 10) * 10);
            }

            // Only should return one actual value bucket.
            Assert.IsTrue(Arrays.AreEqual(new double[] { 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0 }, result.GetActualValues()));
            Assert.AreEqual(1.0, result.GetStat(1, 0), 0.1);
            for (int i = 1; i < 10; i++)
            {
                Assert.AreEqual(0.0, result.GetStat(1, i), 0.1);
            }
            Assert.AreEqual(1.0, result.GetStat(2, 1), 0.1);
        }