예제 #1
0
        /*
        //[Test]
        public void TestCProb()
        {
            int fix = 4;

            FisherClassifier fc = new FisherClassifier(DocumentFiltering.GetWords, null);
            CIUtil.SampleTrain(fc);
            double result0 = fc.CProb("quick", "good");
            double result1 = fc.CProb("money", "bad");
            double result2 = fc.WeightedProb("money", "bad", fc.CProb);
            Assert.AreEqual(0.5714, Math.Round(result0, fix));
            Assert.AreEqual(1.0, result1);
            Assert.AreEqual(0.75, result2);
        }

        //[Test]
        public void TestFisherProb()
        {
            FisherClassifier fc = new FisherClassifier(DocumentFiltering.GetWords, null);
            CIUtil.SampleTrain(fc);
            //fc.CProb("quick", "good");
            double result0 = fc.Prob("quick rabbit", "good");
            double result1 = fc.Prob("quick rabbit", "bad");
            Assert.AreEqual(0.7801, Math.Round(result0, FIX));
            Assert.AreEqual(0.3563, Math.Round(result1, FIX));
        }
        */
        //[Test]
        public void TestFisherClassify()
        {
            FisherClassifier fc = new FisherClassifier(DocumentFiltering.GetWords, null);
            CIUtil.SampleTrain(fc);
            string result0 = fc.Classify("quick rabbit");
            string result1 = fc.Classify("quick money");

            /* badに判定されるしきい値を高くしてbadに分類されにくくする。 */
            fc.SetThresholds("bad", 0.8);

            string result2 = fc.Classify("quick money");

            fc.SetThresholds("good", 0.4);

            string result3 = fc.Classify("quick money");

            Assert.AreEqual("good", result0);
            Assert.AreEqual("bad", result1);
            Assert.AreEqual("good", result2);
            Assert.AreEqual("good", result3);
        }
예제 #2
0
파일: test_ci.cs 프로젝트: moguorg/moglabo
        /*
         * //[Test]
         * public void TestCProb()
         * {
         *      int fix = 4;
         *
         *      FisherClassifier fc = new FisherClassifier(DocumentFiltering.GetWords, null);
         *      CIUtil.SampleTrain(fc);
         *      double result0 = fc.CProb("quick", "good");
         *      double result1 = fc.CProb("money", "bad");
         *      double result2 = fc.WeightedProb("money", "bad", fc.CProb);
         *      Assert.AreEqual(0.5714, Math.Round(result0, fix));
         *      Assert.AreEqual(1.0, result1);
         *      Assert.AreEqual(0.75, result2);
         * }
         *
         * //[Test]
         * public void TestFisherProb()
         * {
         *      FisherClassifier fc = new FisherClassifier(DocumentFiltering.GetWords, null);
         *      CIUtil.SampleTrain(fc);
         *      //fc.CProb("quick", "good");
         *      double result0 = fc.Prob("quick rabbit", "good");
         *      double result1 = fc.Prob("quick rabbit", "bad");
         *      Assert.AreEqual(0.7801, Math.Round(result0, FIX));
         *      Assert.AreEqual(0.3563, Math.Round(result1, FIX));
         * }
         */

        //[Test]
        public void TestFisherClassify()
        {
            FisherClassifier fc = new FisherClassifier(DocumentFiltering.GetWords, null);

            CIUtil.SampleTrain(fc);
            string result0 = fc.Classify("quick rabbit");
            string result1 = fc.Classify("quick money");

            /* badに判定されるしきい値を高くしてbadに分類されにくくする。 */
            fc.SetThresholds("bad", 0.8);

            string result2 = fc.Classify("quick money");

            fc.SetThresholds("good", 0.4);

            string result3 = fc.Classify("quick money");

            Assert.AreEqual("good", result0);
            Assert.AreEqual("bad", result1);
            Assert.AreEqual("good", result2);
            Assert.AreEqual("good", result3);
        }