朴素贝叶斯分类器如何处理训练中的缺失数据?
数据挖掘
机器学习
数据挖掘
分类
朴素贝叶斯分类器
2021-10-10 04:07:28
1个回答
通常,在处理缺失值和训练朴素贝叶斯分类器时,您可以选择。您可以选择
- 省略任何缺失值的记录,
- 仅省略缺少的属性。
我将使用上面链接的示例来演示这两种方法。假设我们在该示例中再添加一条训练记录。
Outlook Temperature Humidity Windy Play
------- ----------- -------- ----- ----
rainy cool normal TRUE no
rainy mild high TRUE no
sunny hot high FALSE no
sunny hot high TRUE no
sunny mild high FALSE no
overcast cool normal TRUE yes
overcast hot high FALSE yes
overcast hot normal FALSE yes
overcast mild high TRUE yes
rainy cool normal FALSE yes
rainy mild high FALSE yes
rainy mild normal FALSE yes
sunny cool normal FALSE yes
sunny mild normal TRUE yes
NA hot normal FALSE yes
如果由于缺失值而决定省略最后一条记录
outlook
,我们将拥有与链接中讨论的完全相同的训练模型。我们还可以选择使用此记录中的所有可用信息。我们可以选择简单地
outlook
从该记录中省略该属性。这将产生以下更新的表格。
展望温度湿度 =================================================== ==== 是 否 是 否 是 否 晴天 2 3 热 3 2 高 3 4 阴天 4 0 轻度 4 2 正常 7 1 下雨 3 2 凉爽 3 1 ------------ --------- ---------- 晴天 2/9 3/5 热 3/10 2/5 高 3/10 4/5 阴天 4/9 0/5 轻度 4/10 2/5 正常 7/10 1/5 下雨 3/9 2/5 凉爽 3/10 1/5 风玩 ================= ======== 是 否 是 否 错误 7 2 10 5 真 3 3 ---------- ---------- 错误 7/10 2/5 10/15 5/15 真 3/10 3/5
请注意,每个属性都有 15 个观察值,除了 Outlook
,它只有 14 个。这是因为该值对于最后一条记录不可用。如链接文章中所述,所有进一步的开发将继续进行。
例如,在 R 包中,e1071
naiveBayes 实现具有na.action
可以设置为 na.omit 或 na.pass 的选项。