Weka机器学习:如何解释朴素贝叶斯分类器?

Posted

技术标签:

【中文标题】Weka机器学习:如何解释朴素贝叶斯分类器?【英文标题】:Weka machine learning:how to interprete Naive Bayes classifier? 【发布时间】:2012-04-28 17:12:48 【问题描述】:

我正在使用资源管理器功能进行分类。我的 .arff 数据文件有 10 个数字和二进制值的特征; (只有实例的 ID 是名义上的)。我有大约 16 个实例。要预测的类是 Yes/No。我使用了朴素贝叶斯,但我无法解释结果,有谁知道如何解释朴素贝叶斯分类的结果?

【问题讨论】:

可能有多种解释。你能否具体说明你想从输出中得到什么(比如我的精度是多少)? 实际上我想看看导致决策的重要特征(是/否)。但 NB 给出的只是概率、均值、标准差等。此外,还有所有特征。那是我的问题。我希望你现在能理解我...但是,Precision 和 Recall 给我提供了哪些分类信息?? 【参考方案1】:

朴素贝叶斯不选择任何重要的特征。正如您所提到的,朴素贝叶斯分类器的训练结果是每个特征的均值和方差。将新样本分类为“是”或“否”是基于样本的特征值是否与“是”或“否”的训练特征的均值和方差最匹配。

您可以使用其他算法来查找信息量最大的属性。在这种情况下,您可能需要使用决策树分类器,例如WEKA 中的 J48(C4.5 decision tree algorithm 的开源实现)。生成的决策树中的第一个节点会告诉您哪个特征具有最强的预测能力。

更好(如 Rushdi Shams 在另一篇文章中所述); Weka 的 Explorer 提供有目的的构建选项来查找数据集中最有用的属性。这些选项可以在Select attributes 标签下找到。

【讨论】:

你是对的。我只是在 Weka 中使用决策树分类器,它为我选择了重要的特征。非常感谢您的帮助。【参考方案2】:

正如 Sicco 所说,NB 无法为您提供最好的功能。决策树是一个不错的选择,因为分支有时可以告诉您重要的功能 - 但并非总是如此。为了处理从简单到复杂的功能集,您可以使用 WEKA 的 SELECT ATTRIBUTE 选项卡。在那里,您可以找到搜索方法和属性评估器。根据您的任务,您可以选择最适合您的任务。他们将为您提供特征排名(来自训练数据或来自 k 折交叉验证)。就个人而言,我认为如果您的数据集过度拟合,决策树的性能会很差。在这种情况下,对特征进行排名是选择最佳特征的标准方法。大多数时候我使用信息增益和排名算法。当你看到你的属性从 1 到 k 排序时,很高兴能找出需要的特征和不必要的特征。

【讨论】:

以上是关于Weka机器学习:如何解释朴素贝叶斯分类器?的主要内容,如果未能解决你的问题,请参考以下文章

Java:如何坚持 Weka 朴素贝叶斯分类器?

机器学习系列-朴素贝叶斯分类器

机器学习九大算法---朴素贝叶斯分类器

解释朴素贝叶斯结果

《机器学习》-- 第七章 朴素贝叶斯

机器学习:贝叶斯分类器——高斯朴素贝叶斯分类器代码实现