Java 基于Weka的最简分类器

Java 基于Weka的最简分类器,java,classification,weka,bayesian,text-classification,Java,Classification,Weka,Bayesian,Text Classification,我正在训练使用Weka naive Bayes对文本进行分类。 我用这两个短语训练分类器: “你好” 它是“拉卡萨” 我们的想法是为每个n克大小创建一个分类器(1您的标记器是什么?您是否将单词用作克?否,我将字符用作克,例如大小为n克的“house”2是“ho”、“ou”、“us”和“se”。 public void evaluate(int sizeGrams) throws Exception { trainData.setClassIndex(0); filter = ne

我正在训练使用Weka naive Bayes对文本进行分类。 我用这两个短语训练分类器: “你好” 它是“拉卡萨”


我们的想法是为每个n克大小创建一个分类器(1您的标记器是什么?您是否将单词用作克?否,我将字符用作克,例如大小为n克的“house”2是“ho”、“ou”、“us”和“se”。
public void evaluate(int sizeGrams) throws Exception {
    trainData.setClassIndex(0);
    filter = new StringToWordVector();
    filter.setAttributeIndices("last");
    MyNGramTokenizer ngram_tok = new MyNGramTokenizer();
    ngram_tok.setNGramMinSize(sizeGrams);
    ngram_tok.setNGramMaxSize(sizeGrams);
    filter.setTokenizer(ngram_tok);
    classifier = new FilteredClassifier();
    classifier.setFilter(filter);
    classifier.setClassifier(new NaiveBayes());
    Evaluation eval = new Evaluation(trainData);
    eval.crossValidateModel(classifier, trainData, 2, new Random(1));
}
Classifying
casa
Classify ngrams:
Size 1
{it=0.9999999999966434,  en=3.356604905116531E-12}
Size 2
{it=0.9999999975201513,  en=2.479848603138736E-9}
Size 3
{it=0.49999999999999617,  en=0.5000000000000039}
Size 4
{it=1.8321005992748378E-6,  en=0.9999981678994008}
Size 5
{it=2.479848603138678E-9,  en=0.9999999975201515}