/* //[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); }
/* * //[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); }