Weka:如何获取测试实例的每个类的概率

Posted

技术标签:

【中文标题】Weka:如何获取测试实例的每个类的概率【英文标题】:Weka: How to get the probabilities of each class for the test instances 【发布时间】:2012-06-07 18:06:36 【问题描述】:

在 Weka's Explorer 的情况下,有没有什么方法可以得到测试实例的类概率,如朴素贝叶斯分类器所分类的那样?

【问题讨论】:

朴素贝叶斯的标准输出显示了每个特征和所有类的均值和标准差。这不是你要找的吗? 不完全是@Sicco。我想看看 NB 分配给功能的权重。我知道 Weka explorer 为每个类提供平均值和 SD。但是,如果我可以获得“权重”,而不是任何给定类的特定特征的均值/SD,那将会很有帮助。 我可以在这里看到你的评论。但我并不是试图获得重要的特征,而只是试图获得 NB 分配给每个特征的权重(不是每个类的每个特征的平均值和 SD)***.com/questions/10189953/… 我可能会感到困惑,但我认为 NB 不会为这些功能分配任何权重。通过选择与 NB 分类器学习到的特征最相似的类来对实例进行分类。在 NB 的情况下,这些特征仅包含标准差的平均值 (en.wikipedia.org/wiki/Naive_Bayes_classifier)。 所以,用外行的话来说,权重是指测试实例的概率statsoft.com/textbook/naive-bayes-classifier(抱歉使用术语权重,我知道它有不同的上下文) 【参考方案1】:

在 Weka Explorer 中的 Classify 选项卡上,单击 More options... 并勾选 Output predictions。然后Start 进行训练和测试,结果显示为每个测试实例分配每个类的概率。

【讨论】:

所以,在测试实例 1 的概率分布列中,我有 0.472 *0.528,对于测试实例 2,我有 *1 0。此列是什么意思?如何解释此列中的值? 这意味着测试实例 1 被分配到第一类的概率为 0.472,被分配到类 2 的概率为 0.528。类 2 的概率更高,因此测试实例 1 被分配到类 2 . 在测试实例2中,NB模型预测它应该以1的概率被分配到第1类。 @Sicco 如何计算这些概率?

以上是关于Weka:如何获取测试实例的每个类的概率的主要内容,如果未能解决你的问题,请参考以下文章

WEKA 如何评估集群?

如何获得 Spark Naive Bayes 分类器中类的概率?

在 Weka 中查找实例分类的概率

如何使用java在weka中获取最近的邻居

在 Weka 中使用 KNN 获取数据集中每个点的 n 个最近邻

如何使用我构建的模型在 Weka 中测试单个实例?