避免零问题
数据挖掘
分类
数据挖掘
朴素贝叶斯分类器
2021-09-29 06:25:34
2个回答
我完全同意 Esmailian 的观点。
朴素贝叶斯是朴素的——假设独立。
脚步:
- 独立计算
- 使用拉普拉斯平滑进行平滑(以避免将整个值归零)
附加提示:
- 使用对数而不是乘以概率。(这将确保您的值不会接近于零,并保留一些上下文。)
例子:
应用对数,
由于您需要最终分类,因此记录日志不会受到伤害。
朴素贝叶斯分别考虑每个特征,即特征在给定类的情况下是独立的。确切的 X 不在训练数据中,但它的每个特征都曾见过。
但是,根据训练数据(0 除以 6),P(own_house=true|No) 仍然存在问题,该值为零。为此,我们使用拉普拉斯平滑将零替换为 (0+1)/(6+4)=1/10。现在,朴素贝叶斯可以将 X 分配给一个类。
朴素贝叶斯分类器比较
P(X, Class=Yes) = P(Class=Yes) * P(Age=middle|Yes) * P(has_job=false|Yes) * P(own_house=true|Yes) * P(credit_rating=good|Yes) ) = 9/15 * 3/9 * 4/9 * 6/9 * 4/9 = 0.0263
和
P(X, Class=No) = P(Class=No) * P(Age=middle|No) * P(has_job=false|No) * P(own_house=true|No) * P(credit_rating=good|No ) = 6/15 * 2/6 * 6/6 * 1/10 * 2/6 = 0.0044
并将 X 分配给 Class = Yes。
其它你可能感兴趣的问题