朴素贝叶斯分类器算法2025年03月17日 | 阅读 9 分钟
为什么称为朴素贝叶斯?朴素贝叶斯算法由“朴素”和“贝叶斯”两个词组成,可以解释为:
贝叶斯定理
![]() 其中, P(A|B) 是后验概率:在观察到事件 B 的情况下,假设 A 为真的概率。 P(B|A) 是似然概率:在假设 A 为真的情况下,证据 B 出现的概率。 P(A) 是先验概率:在观察到证据之前,假设 A 为真的概率。 P(B) 是边缘概率:证据 B 出现的概率。 朴素贝叶斯分类器的工作原理可以通过下面的例子来理解朴素贝叶斯分类器的工作原理。 假设我们有一个关于天气状况以及对应的目标变量“是否玩耍”的数据集。因此,使用此数据集,我们需要决定在特定日期是否应该根据天气状况玩耍。要解决此问题,我们需要遵循以下步骤:
问题:如果天气是晴朗的,那么玩家应该玩耍还是不玩耍? 解决方案:要解决此问题,首先考虑以下数据集。
天气状况的频率表
天气状况的似然表
应用贝叶斯定理 P(是|晴朗)= P(晴朗|是)*P(是)/P(晴朗) P(晴朗|是)= 3/10= 0.3 P(晴朗)= 0.35 P(是)=0.71 所以 P(是|晴朗) = 0.3*0.71/0.35= 0.60 P(否|晴朗)= P(晴朗|否)*P(否)/P(晴朗) P(晴朗|否)= 2/4=0.5 P(否)= 0.29 P(晴朗)= 0.35 所以 P(否|晴朗)= 0.5*0.29/0.35 = 0.41 因此,从上面的计算可以看出,P(是|晴朗) > P(否|晴朗)。 因此,在晴天,玩家可以玩游戏。 朴素贝叶斯分类器的优点
朴素贝叶斯分类器的缺点
朴素贝叶斯分类器的应用
朴素贝叶斯模型的类型朴素贝叶斯模型有三种类型,如下所示:
朴素贝叶斯算法的 Python 实现现在我们将使用 Python 实现朴素贝叶斯算法。为此,我们将使用“user_data”数据集,该数据集已在我们的其他分类模型中使用过。因此,我们可以轻松地将朴素贝叶斯模型与其他模型进行比较。 实现步骤
1) 数据预处理步骤在此步骤中,我们将预处理/准备数据,以便在代码中高效地使用它。这与我们在数据预处理中所做的类似。代码如下: 在上面的代码中,我们使用“dataset = pd.read_csv('user_data.csv')”将数据集加载到我们的程序中。加载的数据集被分成训练集和测试集,然后我们对特征变量进行了缩放。 数据集的输出如下: ![]() 2) 将朴素贝叶斯拟合到训练集在预处理步骤之后,现在我们将朴素贝叶斯模型拟合到训练集。以下是代码: 在上面的代码中,我们使用了GaussianNB 分类器将其拟合到训练数据集。我们也可以根据需要使用其他分类器。 输出 Out[6]: GaussianNB(priors=None, var_smoothing=1e-09) 3) 预测测试集结果现在我们将预测测试集结果。为此,我们将创建一个新的预测变量 y_pred,并使用 predict 函数进行预测。 输出 ![]() 上面的输出显示了预测向量 y_pred 和真实向量 y_test 的结果。我们可以看到一些预测与真实值不同,这些是错误的预测。 4) 创建混淆矩阵现在我们将使用混淆矩阵检查朴素贝叶斯分类器的准确性。以下是代码: 输出 ![]() 如上方的混淆矩阵输出所示,有 7+3= 10 个错误预测,以及 65+25=90 个正确预测。 5) 可视化训练集结果接下来,我们将使用朴素贝叶斯分类器可视化训练集结果。以下是代码: 输出 ![]() 在上面的输出中,我们可以看到朴素贝叶斯分类器已经用一条精细的边界分隔了数据点。由于我们在代码中使用了GaussianNB 分类器,因此这是一条高斯曲线。 6) 可视化测试集结果输出 ![]() 上面的输出是测试集数据的最终输出。正如我们所见,分类器创建了一条高斯曲线来划分“已购买”和“未购买”变量。有一些错误的预测,我们在混淆矩阵中计算过。但它仍然是一个相当不错的分类器。 关于朴素贝叶斯分类器算法的单项选择题练习1. 朴素贝叶斯分类器做出了以下哪项假设?
答案 a) 所有特征都相互独立。 说明 朴素贝叶斯分类器假定给定类别标签的所有特征都是相互独立的,这就是为什么它被称为“朴素”的原因。 2. 陈述 (A):朴素贝叶斯分类器假定特征是相互独立的。 原因 (R):朴素贝叶斯分类器应用贝叶斯定理,并具有特征之间强烈的独立性假设。 选项
答案 a) A 和 R 都正确,并且 R 是 A 的正确解释。 说明 朴素贝叶斯分类器基于贝叶斯定理,并假定某个特征在某个类别中的出现与其他任何特征的出现都是独立的。这种强烈的假设简化了计算,也是该分类器名称中包含“朴素”的原因。 3. 在使用朴素贝叶斯进行文本分类时,拉普拉斯平滑的目的是什么?
答案 b) 防止未见过的单词出现零概率。 说明 拉普拉斯平滑用于避免在训练数据集中未出现的单词出现零概率。 4. 以下哪种朴素贝叶斯分类器最适合文本分类任务?
答案 b) 多项式朴素贝叶斯。 说明 多项式朴素贝叶斯常用于文本分类,其中特征通常是单词频率。 5. 匹配下列
选项
答案 a) A-2, B-3, C-1 说明
下一主题分类与回归 |
我们请求您订阅我们的新闻通讯以获取最新更新。