简单易学的机器学习算法——朴素贝叶斯

一、贝叶斯定理

    1、条件概率

        条件概率是指在事件B发生的情况下,事件A发生的概率,用表示。

    2、全概率公式

        
含义是:如果构成样本空间的一个划分,那么事件B的概率,就等于的概率分别乘以B对这两个事件的条件概率之和。

    3、贝叶斯推断

        
其中称为先验概率,即在事件B发生之前,我们对事件A的概率的一个判断。称为后验概率,即在事件B发生之后,我们对事件A的概率的重新估计。称为调整因子,使得预估概率更接近真实概率。
    贝叶斯推断告诉我们,先预估计一个“先验概率”,然后加入实验结果,看这个实验到底是增强还是削弱了“先验概率”,由此得到更接近事实的“后验概率”。

二、朴素贝叶斯

    1、朴素贝叶斯的概述

        朴素贝叶斯是基于贝叶斯决策理论的分类方法,朴素贝叶斯之所以成为“朴素”,是因为在整个过程中都假设特征之间是相互独立的以及每一个特征都是同等重要的。

    2、朴素贝叶斯的原理

        朴素贝叶斯是使用条件概率来分类的,假设有一个二分类问题,二分类是指分成两个类的问题,如类和类。假设样本有两个特征,则需要分别求解条件概率。而可以表述为

由于特征之间是相互独立的的,所以
此时要做分类,贝叶斯分类准则为:
    如果,那么属于类;
    如果,那么属于类。
  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
朴素贝叶斯算法是一种基于概率统计的分类算法,它的核心思想是利用贝叶斯定理计算出每个类别的后验概率,然后选择具有最大后验概率的类别作为分类结果。在这个过程中,朴素贝叶斯假设每个特征之间相互独立,也就是说,每个特征对于分类的贡献是独立的。 在Python中,我们可以使用scikit-learn库来实现朴素贝叶斯算法。具体步骤如下: 1.准备数据:将数据集划分为训练集和测试集。 2.训练模型:使用训练集来训练朴素贝叶斯模型。 3.测试模型:使用测试集来测试模型的准确率。 下面是一个简单朴素贝叶斯分类器的实现示例: ``` from sklearn.naive_bayes import GaussianNB from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # 加载数据集 iris = load_iris() # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=0) # 创建朴素贝叶斯分类器对象 gnb = GaussianNB() # 训练模型 gnb.fit(X_train, y_train) # 预测测试集的结果 y_pred = gnb.predict(X_test) # 计算准确率 accuracy = sum(y_pred == y_test) / len(y_test) print("准确率:", accuracy) ``` 这里使用了iris数据集作为示例数据集进行分类。首先,我们使用`train_test_split`函数将数据集划分为训练集和测试集,然后创建一个`GaussianNB`对象,训练模型并使用测试集来测试模型的准确率。最后,我们计算出准确率并将其打印出来。 完整的代码可以在以下链接中找到: https://github.com/Light-City/NaiveBayesClassifier-Python/blob/master/NaiveBayesClassifier.py
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值