朴素贝叶斯如何处理连续变量?

机器算法验证 机器学习 分类 贝叶斯 朴素贝叶斯
2022-01-23 03:26:49

据我(非常基本的)理解,朴素贝叶斯根据训练数据中每个特征的类频率估计概率。但是它如何计算连续变量的频率呢?在进行预测时,它如何对可能与训练集中的任何观察值不同的新观察进行分类?它是使用某种距离测量还是找到 1NN?

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 的方法有很多种,而且很多方法彼此完全不同。所以你只需要说明你在演讲或论文中实现了哪一个。

朴素贝叶斯的核心是英勇的条件假设:

P(xX,C)=P(xC)

不能是离散的。例如,高斯朴素贝叶斯假设每个类别具有不同的均值和方差:密度xCp(xC=i)=ϕ(μi,σi2)

有不同的方法来估计参数,但通常一种可能:

  • 对标记数据使用最大似然。(在正态分布的情况下,均值和方差的最大似然估计基本上是样本均值和样本方差。)
  • 像带有未标记数据的 EM 算法。