【问题标题】:WEKA classifyinstance and distributionforinstance methodsWEKA 为实例方法分类实例和分布
【发布时间】:2012-06-30 17:23:40
【问题描述】:

在 WEKA 中,当我尝试使用必须使用 SVM 使用经过训练的模型进行分类的实例来调试代码时,我看到我首先进入分类实例()来分类测试实例,然后此方法调用 distributionforinstance () 方法。在那里,在distributionforinstance() 方法中,我看到我们调用了classifyinstance() 方法。

这两种方法相互回调,这难道不是一个先有后天的问题吗? 这里发生了什么?

【问题讨论】:

  • 当时我写了一个分类器,一切正常。请注意,这些是抽象方法,您应该在实现中覆盖其中一个。如果您的分类器返回一个分布,那么 WEKA 可以使用超类中的分类实例方法来根据分布只选择最好的。我可能是错的,我已经很久没有触及这个主题了。

标签: java machine-learning data-mining weka


【解决方案1】:

Rekin的评论是正确的:

如果您只是从Classifier 派生,则继承了classifyInstance() 和distributionforinstance() 的默认实现。您需要至少实现两者之一才能使其工作。

当您调试代码时,调试器可能会以某种方式跳转到抽象类 Classifier,而不是特定的 SVM 实现。

【讨论】:

    【解决方案2】:

    大多数情况下(并非总是),distributionForInstance 用于回归研究,而classifyInstance 用于分类研究。当然distributionForInstance命令也可以用于分类,但这需要多几行代码。

    我强烈阅读this post 并运行这个GitHub 项目on your local environment。

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 2011-09-07
      • 2012-03-25
      • 2015-07-16
      • 2015-02-01
      • 2013-05-13
      • 1970-01-01
      • 2011-07-30
      • 2015-07-02
      相关资源
      最近更新 更多