我有一个来自WEKA的简单天真贝叶斯分类器。我正在使用目录结构并通过TextDirectoryLoader读取它。目录结构是
Training_Data
Spam (folder)
text files
Ham (folder)
text files
我可以得到像这样的发行版
for(Instance i: testInstances){
double [] distributions = classifier.distributionForInstance(i);
for(double d : distributions)
System.out.println(d);
}
我想要做的是获取类别名称以及分布,以便我可以将其打印出来
System.out.println("Category: "+/*something to get the category name*/+ ":"+ d);
我一直在寻找几个小时,无法弄清楚如何去做。谁知道怎么做?
答案 0 :(得分:1)
您可以使用instance.classAttribute().value(valIndex)
,其中valIndex
是该类别的索引:
for(Instance i: testInstances){
double [] distributions = classifier.distributionForInstance(i);
for(int index = 0; index < distributions.length; index++)
System.out.println(i.classAttribute().value(index) + ": " + distributions[index]);
}