朴素贝叶斯+SMSSpamCollections

1. 打开 Jupyter 后,在工作目录中,新建一个文件夹命名为 Test01 ,并且在文件夹中导入数据
集。在网页端界面点击 “upload” 按钮,在弹出的界面中选择要导入的数据集。然后数据集出现
jupyter 文件目录中,此时点击文件后的 “upload” 按钮即可将数据集导入。
2. 点击 New->Python 3 后,跳转至 Untitled.ipynb (课后请重命名为 NBofSMS.ipynb
3. 导入所需的库文件并运行
4. 将广告类的标识置为 1 ,正常邮件标识为 0 ,编写创建数据集、加载数据的函数
loadDataSet() ,编写完成后编译并运行 Cell ,箭头处代码自己添加,提示:字符串转化为字符
串列表可参考本文提供的函数
5. 编写 textParse() 函数的代码并且编译运行,该函数用于接收一个大字符串并将其解析为字符串
列表
6. Cell 中写入 docs2VecList() 函数的代码,该函数用于对数据集进行预处理,编写完成后 编译
并运行
7. 编写 words2Vec() 函数将单词转化为词向量。
8. Cell 中写训练函数,训练 Naïve Bayes 模型,完成后编译并运行
9. 编写使用 Naive Bayes 模型的接口,如果是垃圾邮件则返回 1 ,非垃圾邮件则返回 0
10. 用中文打印分类结果
11. 编写主函数调用上述函数实现本次实验
朴素贝叶斯算法是一种基于贝叶斯定理的分类算法,它假设特征之间相互独立。在朴素贝叶斯分类器中,我们可以使用正面概率来进行分类。 正面概率是指某个样本属于正面类别的概率。在朴素贝叶斯算法中,我们可以通过计算正面类别的先验概率和给定正面类别的条件下,样本的特征出现的概率来计算正面概率。 具体步骤如下: 1. 计算正面类别的先验概率P(正面)。 2. 计算给定正面类别的条件下,样本的特征出现的概率P(特征|正面)。 3. 根据贝叶斯定理,计算样本属于正面类别的后验概率P(正面|特征)。 4. 判断样本属于正面类别的概率是否大于属于其他类别的概率,如果是,则将样本分类为正面类别,否则分类为其他类别。 下面是一个简单的示例代码,演示如何使用朴素贝叶斯算法计算正面概率: ```python from sklearn.naive_bayes import GaussianNB # 创建朴素贝叶斯分类器对象 clf = GaussianNB() # 训练数据集 X = [[1, 2], [2, 3], [3, 1], [4, 3]] y = [0, 0, 1, 1] clf.fit(X, y) # 预测新样本的类别 new_sample = [[2, 2]] predicted_class = clf.predict(new_sample) # 计算正面概率 positive_probability = clf.predict_proba(new_sample)[:, 1] print("Predicted class:", predicted_class) print("Positive probability:", positive_probability) ``` 这段代码使用了scikit-learn库中的GaussianNB类来构建朴素贝叶斯分类器,并使用训练数据集进行训练。然后,我们使用新样本进行预测,并计算了正面概率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值