我一直在通过Weka运行数据集,应用NB。 我坚持以下问题:当我分析它时,我注意到属性部分中的总数与日志中出现的总实例之间存在差异。
如果你总结“a0”属性,你会注意到Weka指向1044个实例。 如果选中“实例”,则为1036。
实际上,数据集包含1036个实例。
有没有人对此有解释?感谢。
这是一个日志粘贴:
=== Run information ===
Scheme: weka.classifiers.bayes.NaiveBayes
Relation: teste.carro
Instances: 1036
Attributes: 7
a0
a1
a2
a3
a4
a5
class
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Naive Bayes Classifier
Class
Attribute 0 1
(0.5) (0.5)
===========================
a0
1 105.0 175.0
2 112.0 165.0
3 153.0 109.0
4 152.0 73.0
[total] 522.0 522.0
a1
1 101.0 165.0
2 123.0 165.0
3 136.0 119.0
4 162.0 73.0
[total] 522.0 522.0
a2
1 150.0 107.0
2 122.0 133.0
3 121.0 141.0
4 129.0 141.0
[total] 522.0 522.0
a3
1 247.0 1.0
2 134.0 265.0
3 140.0 255.0
[total] 521.0 521.0
a4
1 189.0 127.0
2 177.0 185.0
3 155.0 209.0
[total] 521.0 521.0
a5
1 244.0 1.0
2 160.0 220.0
3 117.0 300.0
[total] 521.0 521.0
Time taken to build model: 0 seconds
=== Evaluation on training set ===
Time taken to test model on training data: 0.01 seconds
=== Summary ===
Correctly Classified Instances 957 92.3745 %
Incorrectly Classified Instances 79 7.6255 %
Kappa statistic 0.8475
Mean absolute error 0.1564
Root mean squared error 0.2398
Relative absolute error 31.2731 %
Root relative squared error 47.9651 %
Coverage of cases (0.95 level) 100 %
Mean rel. region size (0.95 level) 80.2124 %
Total Number of Instances 1036
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class
0,847 0,000 1,000 0,847 0,917 0,858 0,989 0,991 0
1,000 0,153 0,868 1,000 0,929 0,858 0,989 0,988 1
Weighted Avg. 0,924 0,076 0,934 0,924 0,923 0,858 0,989 0,989
=== Confusion Matrix ===
a b <-- classified as
439 79 | a = 0
0 518 | b = 1
答案 0 :(得分:1)
阅读Witten和Frank(Weka的配套书籍)的“数据挖掘:实用机器学习工具和技术”,在朴素的贝叶斯中指出了一个问题。
如果特定属性值没有出现每个可能的类值,则零属性对类预测有不当影响。 在Weka中,在计算条件概率时(相应地调整分母),可以通过在每个分类属性的分子中加一个来避免这种可能性。如果你看一下你的例子,你可以验证这是什么完成。
下面我试图解释缺少属性值所带来的不当影响。
天真的贝叶斯公式:
P(y | x)=(P(x1 | y)* P(x2 | y)* ... * P(xn | y)* P(Y))/ P(x)
从幼稚的贝叶斯公式我们可以看出它们的含义:
说:
- P(x1 | y1)= 0
- P(x2 | y1)... P(xn | y1)均等于1
从上面的公式:
- P(y1 | x)= 0
即使所有其他属性强烈表明实例属于类y1,但结果概率为零。 Weka进行的调整允许实例仍然来自类y1。
可以在此webpage
的幻灯片12周围找到真正的数字示例