Ejemplo n.º 1
0
        public void CanGetVariableCount()
        {
            var storage = new MdnnDoubleSpace(Samples, Variables);

            Assert.AreEqual(Samples, storage.Samples);
            Assert.AreEqual(Variables, storage.Variables);
        }
Ejemplo n.º 2
0
        public void GetMahalanobisDistanceComputesCorrectly(double[] sampleValues, double expectedMd)
        {
            var space  = new MdnnDoubleSpace(GetGoodSpaceData());
            var sample = new MdnnDoubleSample(sampleValues);

            var result = GetMahalanobisDistance(space, sample);

            Assert.IsTrue(Math.Abs(result - expectedMd) < 0.1);
        }
Ejemplo n.º 3
0
        public void FindUsefulVariablesDeterminesCorrectUsefulVariables()
        {
            var expected = new[] { false, true, true, true, false, true, true, true, true };

            var goodSpace = new MdnnDoubleSpace(GetGoodSpaceData());
            var badSpace  = new MdnnDoubleSpace(GetBadSpaceData());

            var result = FindUsefulVariables(goodSpace, badSpace);

            CollectionAssert.AreEqual(expected, result);
        }
Ejemplo n.º 4
0
        public void CalculateZCorrectlyDeterminesZeroZ()
        {
            var matrix = new double[, ] {
                { 0, 0, 0 }, { 0, 0, 0 }
            };
            var space = new MdnnDoubleSpace(matrix);

            var vector = new double[] { 0, 0, 0 };
            var sample = new MdnnDoubleSample(vector);

            var z = CalculateZ(space, sample);

            CollectionAssert.AreEqual(vector, z.Storage);
        }
Ejemplo n.º 5
0
        public void MultiplyGetsCorrectResultForSpaceAndSample()
        {
            var values1 = new double[, ]
            {
                { 1, -1, 2 },
                { 0, -3, 1 }
            };
            var space = new MdnnDoubleSpace(values1);

            var values2 = new double[] { 2, 1 };
            var sample  = new MdnnDoubleSample(values2);

            var result = new MdnnDoubleMtsMathProvider().Multiply(sample, space);

            var expected = new double[] { 2, -5, 5 };

            CollectionAssert.AreEqual(expected, result.Storage);
        }