在WEKA中,当我尝试使用必须使用SVM对训练模型进行分类的实例来调试代码时,我看到首先我进入classifyInstance()来对测试实例进行分类,然后此方法调用distributionforinstance () 方法。在,在distributeforinstance()方法中,我看到我们回调classifyinstance()方法。
这两种方法相互回调,这不是鸡蛋问题吗? 这里发生了什么?
答案 0 :(得分:1)
Rekin的评论是正确的:
如果您刚刚从Classifier
派生,则继承了classifyInstance()
和distributionforinstance()
的默认实现。您需要实现两者中的至少一个才能工作。
调试代码时,可能是调试器以某种方式跳转到抽象类Classifier
而不是特定的SVM实现。
答案 1 :(得分:0)
大多数(并非总是),distributionForInstance用于回归研究,而classifyInstance用于分类研究。当然,distributeForInstance命令可用于分类,但这需要更多代码。
我强烈阅读this post并运行此GitHub项目on your local environment。