【问题标题】:How is the "prediction" column in the Weka Naive Bayes output calculated?Weka Naive Bayes 输出中的“预测”列是如何计算的?
【发布时间】:2012-11-29 08:00:16
【问题描述】:

我使用 10 折交叉验证进行了朴素贝叶斯分类,得到了测试数据的表格预测,如下所示:

=== Predictions on test data ===

   inst#     actual  predicted   error  prediction      (name)
     1    3:no_chang 3:no_chang           0.943       (region_1)
     2    1:active_K 1:active_K           1           (region_2)
     3    3:no_chang 3:no_chang           0.912       (region_3)
     4    3:no_chang 3:no_chang           0.858       (region_4)
     5    3:no_chang 2:active_G   +       0.518       (region_5)

我想知道“预测”列是如何计算的。我知道它是从 0 到 1,1 表示预测“更好”,但在谷歌搜索和浏览 Weka 书之后,我只能找到这些。

我知道网上有很多关于 Weka 的信息,但我有点不知所措,无法轻易找到我这个简单问题的答案。另外,有人可以给我指出一个适合命令行用户的详细的 weka 手册吗? Weka 的书似乎过于注重解释 GUI 的工作原理,这对我来说并不真正感兴趣,因为我目前主要使用命令行工具。

谢谢你,

胡安

【问题讨论】:

  • 好吧,我敢肯定,如果您正在使用它,您知道 NB 分类器是如何工作的...?如果是这样,您会意识到 NB 分类器由于其概率基础而无法做出绝对预测。因此,我猜预测值是与该点相关的分类的概率。超过某个阈值,分类器确定这是正确的分类,并分配一个标签。
  • inf.ed.ac.uk/teaching/courses/inf2b/learnSlides/… 是基于理论的朴素贝叶斯分类教程。不确定它是否正是您想要的。

标签: statistics machine-learning weka bayesian


【解决方案1】:

通过查看NaiveBayes 类的源代码,有一个名为m_ClassDistribution 的变量用于跟踪类预测。

在训练阶段,这个变量被更新以反映每个类的先验概率。在测试阶段用于计算给定样本属于给定类别的后验概率。

我建议查看DiscreteEstimator 和NaiveBayes 的代码。特别是distributionForInstance 函数,用于测试阶段。它与朴素贝叶斯的正常计算有点不同,因为它还考虑了与每个特征相关的权重。

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2016-03-01
    • 1970-01-01
    • 2021-04-04
    • 2016-05-07
    • 2014-06-18
    • 2021-05-11
    • 2017-01-13
    • 2015-03-31
    相关资源
    最近更新 更多