Esempio n. 1
0
        public void TWCNaiveBayesianAlgorithm_PredictTokens_NoPriors()
        {
            // arrange
            var sample = getSample();
            var CLS1   = sample.CachedClasses.ElementAt(0);
            var CLS2   = sample.CachedClasses.ElementAt(1);
            var prep   = getDefaultPreprocessor();
            var alg    = new TWCNaiveBayesianAlgorithm()
            {
                TFWeightingScheme  = Registry.TFWeightingScheme.LogNormalization,
                IDFWeightingScheme = Registry.IDFWeightingScheme.Standart,
                UsePriors          = false, // !!!
                Preprocessor       = prep
            };

            // act
            alg.Train(sample);
            var result1 = alg.PredictTokens(testDocs()[0], 2);
            var result2 = alg.PredictTokens(testDocs()[1], 2);

            // assert
            Assert.AreEqual(2, result1.Length);
            Assert.AreEqual(CLS1, result1[0].Class);
            Assert.AreEqual(0.2830035D, result1[0].Score, EPS);
            Assert.AreEqual(CLS2, result1[1].Class);
            Assert.AreEqual(0.2188154D, result1[1].Score, EPS);
            Assert.AreEqual(CLS2, result2[0].Class);
            Assert.AreEqual(1.0367927D, result2[0].Score, EPS);
            Assert.AreEqual(CLS1, result2[1].Class);
            Assert.AreEqual(0.9308995D, result2[1].Score, EPS);
        }
Esempio n. 2
0
        public void TWCNaiveBayesianAlgorithm_PredictTokens()
        {
            // arrange
            var sample = getSample();
            var CLS1   = sample.CachedClasses.ElementAt(0);
            var CLS2   = sample.CachedClasses.ElementAt(1);
            var prep   = getDefaultPreprocessor();
            var alg    = new TWCNaiveBayesianAlgorithm()
            {
                TFWeightingScheme  = Registry.TFWeightingScheme.LogNormalization,
                IDFWeightingScheme = Registry.IDFWeightingScheme.Standart,
                UsePriors          = true,
                Preprocessor       = prep
            };

            // act
            alg.Train(sample);
            var result1 = alg.PredictTokens(testDocs()[0], 2);
            var result2 = alg.PredictTokens(testDocs()[1], 2);

            // assert
            Assert.AreEqual(2, result1.Length);
            Assert.AreEqual(CLS1, result1[0].Class);
            Assert.AreEqual(-0.1224616D, result1[0].Score, EPS);
            Assert.AreEqual(CLS2, result1[1].Class);
            Assert.AreEqual(-0.8797969D, result1[1].Score, EPS);
            Assert.AreEqual(CLS1, result2[0].Class);
            Assert.AreEqual(0.5254344D, result2[0].Score, EPS);
            Assert.AreEqual(CLS2, result2[1].Class);
            Assert.AreEqual(-0.0618195D, result2[1].Score, EPS);
        }