我一直在从事机器学习项目。我使用的是Kstar,它给我很好的效果。为了获得更高的准确性,我将使用朴素贝叶斯。当我尝试做这样的事情
try {
NaiveBayes ks= new NaiveBayes();
String[] options={"-B", "20"};
ks.setOptions(options);
for (String s : ks.getOptions()) {
System.err.println(s);
}
classifier=ks;
它给出了这个错误
java.lang.Exception: Illegal options: -B 20
当我尝试这个
try {
NaiveBayes ks= new NaiveBayes();
String[] options={"-K", "20"};
ks.setOptions(options);
for (String s : ks.getOptions()) {
System.err.println(s);
}
classifier=ks;
它给出了以下错误
java.lang.Exception: Illegal options: 20
所以我尝试了这个
try {
NaiveBayes ks= new NaiveBayes();
String[] options={"-K"};
ks.setOptions(options);
for (String s : ks.getOptions()) {
System.err.println(s);
}
classifier=ks;
这工作了。但是准确性比Kstar差很多。我认为原因是没有为多项式内核设置选项。所以我需要正确设置选项(为多项式内核提供指数值)
请在这里帮我
最佳答案
每个分类器都有自己的一组参数。 KStar包含“ -B 20”选项(用于“手动混合”),但不是NaiveBayes的参数。 NaiveBayes -K选项也用于内核密度估计,但不是KStar的参数。
至于NaiveBayes模型的准确性,很难说是否与这些设置,数据的结构或模型的拟合有关。希望这些答案将在您继续试验该问题时进一步向您显示。