Java 为什么';weka NaiveBayes类实现classifyInstance方法?

Java 为什么';weka NaiveBayes类实现classifyInstance方法?,java,weka,naivebayes,Java,Weka,Naivebayes,在Weka中,我很难用经过训练的朴素贝叶斯模型对实例进行分类。我正在使用java框架来实现这一点。我已经训练了模型,并且能够为一个实例生成分布。我的疑问是,既然NaiveBayes类没有实现classifyInstance方法,它只是从AbstractClassifier抽象类中获取它,我是否应该用自己的规则来实现它 我的疑问是,由于NaiveBayes类没有实现classifyInstance方法,它只是从AbstractClassifierAbstractClass继承而来,是否暗示我应该用

在Weka中,我很难用经过训练的朴素贝叶斯模型对实例进行分类。我正在使用java框架来实现这一点。我已经训练了模型,并且能够为一个实例生成分布。我的疑问是,既然NaiveBayes类没有实现classifyInstance方法,它只是从AbstractClassifier抽象类中获取它,我是否应该用自己的规则来实现它

我的疑问是,由于NaiveBayes类没有实现
classifyInstance
方法,它只是从
AbstractClassifier
AbstractClass继承而来,是否暗示我应该用自己的规则来实现它?

不,你不应该

AbstractClassifier
文档说明:

抽象分类器。Weka中数值或标称预测的所有方案 扩展这个类注意,分类器必须实现 distributionForInstance()或classifyInstance()

查看可以看出,
classifyInstance
调用
distributionForInstance
,反之亦然。因此,如果一个类继承自
AbstractClassifier
,并且不重写这两个方法中的至少一个,这将导致无限递归和堆栈溢出

NaiveBayes
确实实现了
distributionForInstance
,继承自
AbstractClassifier
classifyInstance
方法将使用它。如果class属性为nominal,则返回概率最高的类索引

我的疑问是,由于NaiveBayes类没有实现
classifyInstance
方法,它只是从
AbstractClassifier
AbstractClass继承而来,是否暗示我应该用自己的规则来实现它?

不,你不应该

AbstractClassifier
文档说明:

抽象分类器。Weka中数值或标称预测的所有方案 扩展这个类注意,分类器必须实现 distributionForInstance()或classifyInstance()

查看可以看出,
classifyInstance
调用
distributionForInstance
,反之亦然。因此,如果一个类继承自
AbstractClassifier
,并且不重写这两个方法中的至少一个,这将导致无限递归和堆栈溢出

NaiveBayes
确实实现了
distributionForInstance
,继承自
AbstractClassifier
classifyInstance
方法将使用它。如果class属性为nominal,则返回概率最高的类索引