Machine learning Weka NaiveBayes分类器给出不同(错误?)的数值平均值/标准偏差

Machine learning Weka NaiveBayes分类器给出不同(错误?)的数值平均值/标准偏差,machine-learning,classification,weka,Machine Learning,Classification,Weka,我尝试使用NaiveBayes分类器和NaiveBayesSimple分类器,使用以下数据进行分类: @attribute a real @attribute b {yes, no} @data

我尝试使用NaiveBayes分类器和NaiveBayesSimple分类器,使用以下数据进行分类:

@attribute a real
@attribute b {yes, no}                                                                                        

@data                                                                                                            
1,yes
3,yes
5,yes
2,yes
1,yes
4,no
7,no
5,no
8,no
9,no
使用NaiveBayeSimple分类器时,我会得到预期的均值和方差值:

=== Classifier model (full training set) ===

Naive Bayes (simple)

Class yes: P(C) = 0.5       

Attribute a
Mean: 2.4           Standard Deviation: 1.67332005



Class no: P(C) = 0.5       

Attribute a
Mean: 6.6           Standard Deviation: 2.07364414
但是,当使用NaiveBayes分类器时,我会得到不同的值:

=== Classifier model (full training set) ===

Naive Bayes Classifier

            Class
Attribute         yes     no
                (0.5)  (0.5)
=============================
a
  mean          2.5143 6.6286
  std. dev.     1.3328 1.8286
  weight sum         5      5
  precision     1.1429 1.1429
我想知道均值/标准差变化的原因是什么?我已经通读了NaiveBayes分类器所基于的文章,但看不出有什么原因


谢谢

这两种算法彼此不同

Weka中的朴素贝叶斯定义如下:

名称weka.classifiers.bayes.NaiveBayes

使用估计器类的朴素贝叶斯分类器的概要类。 数值估计器的精度值是在分析数据的基础上选择的 培训数据。因此,分类器不是一个 UpdateableClassifier(通常使用零初始化 培训实例)--如果需要UpdateableClassifier 功能,使用NaiveBayesUpdateable分类器。这个 NaiveBayesUpdateable分类器将使用默认精度0.1 对于使用零调用buildClassifier时的数值属性 培训实例

有关朴素贝叶斯分类器的更多信息,请参见

George H.John,Pat Langley:估计连续分布 贝叶斯分类器。年:第十一届世界不确定性大会 人工智能,圣马特奥,338-3451995年

选项调试——如果设置为true,分类器可能会输出其他信息 到控制台

displayModelInOldFormat——对模型输出使用旧格式。旧的 当有许多类值时,格式更好。新的格式是 当类和属性较少时效果更好

useKernelEstimator——对数值属性使用核估计器 而不是正态分布

使用监督离散化——使用监督离散化 将数值属性转换为标称属性

NaiveBayeSimple的定义如下:

名称weka.classifiers.bayes.NaiveBayesSimple

用于构建和使用简单朴素贝叶斯的大纲类 数值属性由正态分布建模

有关详细信息,请参阅

理查德·杜达,彼得·哈特(1973)。模式分类与场景 分析威利,纽约

选项调试——如果设置为true,分类器可能会输出其他信息 到控制台


这两种算法各不相同

Weka中的朴素贝叶斯定义如下:

名称weka.classifiers.bayes.NaiveBayes

使用估计器类的朴素贝叶斯分类器的概要类。 数值估计器的精度值是在分析数据的基础上选择的 培训数据。因此,分类器不是一个 UpdateableClassifier(通常使用零初始化 培训实例)--如果需要UpdateableClassifier 功能,使用NaiveBayesUpdateable分类器。这个 NaiveBayesUpdateable分类器将使用默认精度0.1 对于使用零调用buildClassifier时的数值属性 培训实例

有关朴素贝叶斯分类器的更多信息,请参见

George H.John,Pat Langley:估计连续分布 贝叶斯分类器。年:第十一届世界不确定性大会 人工智能,圣马特奥,338-3451995年

选项调试——如果设置为true,分类器可能会输出其他信息 到控制台

displayModelInOldFormat——对模型输出使用旧格式。旧的 当有许多类值时,格式更好。新的格式是 当类和属性较少时效果更好

useKernelEstimator——对数值属性使用核估计器 而不是正态分布

使用监督离散化——使用监督离散化 将数值属性转换为标称属性

NaiveBayeSimple的定义如下:

名称weka.classifiers.bayes.NaiveBayesSimple

用于构建和使用简单朴素贝叶斯的大纲类 数值属性由正态分布建模

有关详细信息,请参阅

理查德·杜达,彼得·哈特(1973)。模式分类与场景 分析威利,纽约

选项调试——如果设置为true,分类器可能会输出其他信息 到控制台