Example #1
0
        public void BernoulliDistribution_MaximumLikelihood_FromClassifiedSample()
        {
            // arrange
            var distr  = new BernoulliDistribution();
            var sample = new ClassifiedSample <double[]>
            {
                { new[] { 1.0D, 1.0D, 0.0D }, new Class("A", 0) },
                { new[] { 1.0D, 0.0D, 1.0D }, new Class("A", 0) },
                { new[] { 0.0D, 0.0D, 1.0D }, new Class("B", 1) },
                { new[] { 0.0D, 0.0D, 0.0D }, new Class("B", 1) },
            };

            // act
            var res = distr.FromSample(sample);
            var dA1 = res[0][0];
            var dA2 = res[0][1];
            var dA3 = res[0][2];
            var dB1 = res[1][0];
            var dB2 = res[1][1];
            var dB3 = res[1][2];

            // assert
            Assert.AreEqual(1.0D, dA1.P, EPS);
            Assert.AreEqual(0.5D, dA2.P, EPS);
            Assert.AreEqual(0.5D, dA3.P, EPS);
            Assert.AreEqual(0.0D, dB1.P, EPS);
            Assert.AreEqual(0.0D, dB2.P, EPS);
            Assert.AreEqual(0.5D, dB3.P, EPS);
        }
Example #2
0
        public void BernoulliDistribution_MaximumLikelihood_FromSample()
        {
            // arrange
            var distr  = new BernoulliDistribution();
            var sample = new[] { 1.0D, 1.0D, 0.0D, 1.0D };

            // act
            distr.FromSample(sample);
            var pars = distr.Params;

            // assert
            Assert.AreEqual(0.75D, pars.P);
        }