据我(非常基本的)理解,朴素贝叶斯根据训练数据中每个特征的类频率估计概率。但是它如何计算连续变量的频率呢?在进行预测时,它如何对可能与训练集中的任何观察值不同的新观察进行分类?它是使用某种距离测量还是找到 1NN?
朴素贝叶斯如何处理连续变量?
机器算法验证
机器学习
分类
贝叶斯
朴素贝叶斯
2022-01-23 03:26:49
2个回答
有许多方法可以执行朴素贝叶斯分类 (NBC)。NBC 中的一种常用技术是将特征(变量)值重新编码为四分位数,以便将小于第 25 个百分位的值分配为 1,将第 25 到第 50 个分配为 2,将第 50 到第 75 个分配为 3,将大于第 75 个百分位的值分配为 4。因此,单个对象将在仓 Q1、Q2、Q3 或 Q4 中存放一个计数。仅对这些分类箱进行计算。然后,bin 计数(概率)基于其变量值落在给定 bin 内的样本数量。例如,如果一组对象的特征 X1 具有非常高的值,那么这将导致 X1 的 Q4 的 bin 中有很多 bin 计数。另一方面,如果另一组对象的特征 X1 的值较低,那么这些对象将在特征 X1 的 Q1 的 bin 中存放大量计数。
这实际上并不是一个非常聪明的计算,而是一种将连续值离散化为离散的方法,然后再进行利用。离散化后可以很容易地计算出基尼指数和信息增益,以确定哪些特征信息量最大,即 max(Gini)。
但是,请注意,执行 NBC 的方法有很多种,而且很多方法彼此完全不同。所以你只需要说明你在演讲或论文中实现了哪一个。
朴素贝叶斯的核心是英勇的条件假设:
决不能是离散的。例如,高斯朴素贝叶斯假设每个类别具有不同的均值和方差:密度。
有不同的方法来估计参数,但通常一种可能:
- 对标记数据使用最大似然。(在正态分布的情况下,均值和方差的最大似然估计基本上是样本均值和样本方差。)
- 像带有未标记数据的 EM 算法。