⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vectorclassifiertest.java

📁 可用于文本分类的贝叶斯分类器
💻 JAVA
字号:

package net.sf.classifier4J.vector;

import net.sf.classifier4J.ClassifierException;
import junit.framework.TestCase;


public class VectorClassifierTest extends TestCase {

    String sentence1 = "hello there is this a long sentence yes it is blah. blah hello";
    
    /*
     * Class under test for double classify(String, String)
     */
    public void testClassifyStringString() {
        TermVectorStorage storage = new HashMapTermVectorStorage();
        VectorClassifier vc = new VectorClassifier(storage);
        try {
            String category = "test";
            vc.teachMatch(category, sentence1);
            assertEquals(0.852d, vc.classify(category, "hello blah"), 0.001);
            assertEquals(0.301d, vc.classify(category, "sentence"), 0.001);
            assertEquals(0.0d, vc.classify(category, "bye"), 0.001);
            
            assertEquals(0.0d, vc.classify("does not exist", "bye"), 0.001);
        } catch (ClassifierException e) {
            e.printStackTrace();
            fail(e.getLocalizedMessage());
        }            
    }

    /*
     * Class under test for boolean isMatch(String, String)
     */
    public void testIsMatchStringString() {
        TermVectorStorage storage = new HashMapTermVectorStorage();
        VectorClassifier vc = new VectorClassifier(storage);
        try {
            String category = "test";
            vc.teachMatch(category, sentence1);
            assertTrue(vc.isMatch(category, "hello blah"));
            assertFalse(vc.isMatch(category, "sentence"));
            assertFalse(vc.isMatch(category, "bye"));
        } catch (ClassifierException e) {
            e.printStackTrace();
            fail(e.getLocalizedMessage());
        }            
    }

    /*
     * Class under test for void teachMatch(String, String)
     */
    public void testTeachMatchStringString() {
        TermVectorStorage storage = new HashMapTermVectorStorage();
        VectorClassifier vc = new VectorClassifier(storage);
        try {
            String category = "test";
            vc.teachMatch(category, sentence1);
            TermVector tv = storage.getTermVector(category);
            assertNotNull("TermVector should not be null", tv);
            assertEquals(5, tv.getTerms().length);
            assertEquals(tv.getValues().length, tv.getTerms().length);
            assertEquals("blah", tv.getTerms()[0]);
            assertEquals(2, tv.getValues()[0]);
            assertEquals("hello", tv.getTerms()[1]);
            assertEquals(2, tv.getValues()[1]);
            assertEquals("long", tv.getTerms()[2]);
            assertEquals(1, tv.getValues()[2]);
            assertEquals("sentence", tv.getTerms()[3]);
            assertEquals(1, tv.getValues()[3]);
            assertEquals("yes", tv.getTerms()[4]);
            assertEquals(1, tv.getValues()[4]);
                        
            assertEquals("{[blah, 2] [hello, 2] [long, 1] [sentence, 1] [yes, 1] }", tv.toString());
        } catch (ClassifierException e) {
            e.printStackTrace();
            fail(e.getLocalizedMessage());
        }
    }
    

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -