朴素贝叶斯简介(概率分类)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7f1a87429a4a409193d66f13735786c2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_18,color_FFFFFF,t_70,g_se,x_16)
概率基础
![在这里插入图片描述](https://img-blog.csdnimg.cn/3752b0e486d84ff78a733c27ae7b2ebe.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/324655e2272e45eebae7f95fab69eea1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/e0872e1a20dc424eb38fc58cf63eb025.png)
联合概率、条件概率与相互独立
![在这里插入图片描述](https://img-blog.csdnimg.cn/f00ca179f3554e54827905c995c79400.png)
贝叶斯公式
介绍
![在这里插入图片描述](https://img-blog.csdnimg.cn/69735ed1605149f3b70c942dd1fd42e5.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/49737e29d32a4b0d828eb17d2c8d4c5d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/47c30866299c4596a124c20f42eed97c.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/2bd11f17e33a42878faec7f42ed4bf72.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_18,color_FFFFFF,t_70,g_se,x_16)
案例
![在这里插入图片描述](https://img-blog.csdnimg.cn/761cb046dfac49e18dd2a9579b5d84dd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/7ceb68a88735426eb5316c5b28309961.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
API
![在这里插入图片描述](https://img-blog.csdnimg.cn/82171ff65936428f960b67bbfec95589.png)
商品评论情感分析
![在这里插入图片描述](https://img-blog.csdnimg.cn/541f25add5cc48b985e041df0ed5394f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_16,color_FFFFFF,t_70,g_se,x_16)
导入依赖
import pandas as pd
import numpy as py
import jieba
import matplotlib.pyplot as plt
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
获取数据
data = pd.read_csv("evaluation.csv",encoding="gbk")
data
![在这里插入图片描述](https://img-blog.csdnimg.cn/4a6bc491c24045afaa98fb6488ab2f3c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
数据基本处理
content = data["内容"]
content
![在这里插入图片描述](https://img-blog.csdnimg.cn/13154e3599e8443498288182b23b21d2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_18,color_FFFFFF,t_70,g_se,x_16)
data.loc[data.loc[:,"评价"] == "好评","评论编号"] =1
data.loc[data.loc[:,"评价"] == "差评","评论编号"] =0
data
![在这里插入图片描述](https://img-blog.csdnimg.cn/b10d34d75ba24b1bbaf4c7ac6469c942.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
stopwords = []
with open("stopwords.txt","r",encoding="utf-8") as f:
lines = f.readlines()
for tmp in lines:
line = tmp.strip()
stopwords.append(line)
stopwords = list(set(stopwords))
print("停用词:\n",stopwords)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7cf131593a634d9f9ad5e88bfd1a87d8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
comment_list = []
for tmp in content:
seg_list = jieba.cut(tmp,cut_all=False)
seg_str = ",".join(seg_list)
comment_list.append(seg_str)
comment_list
![在这里插入图片描述](https://img-blog.csdnimg.cn/47751a63f31848788927403b41069eed.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
con = CountVectorizer(stop_words=stopwords)
X = con.fit_transform(comment_list)
X.toarray()
![在这里插入图片描述](https://img-blog.csdnimg.cn/976aa215eca94a2995d33e1147657c2e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
x_train = X.toarray()[:10,:]
y_train = data["评价"][:10]
print("训练集:\n",x_train)
print("训练集:\n",y_train)
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc24dc5779d44d5988dbab4916ac1b07.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
x_test = X.toarray()[10:,:]
y_test = data["评价"][10:]
print("测试集:\n",x_test)
print("测试集:\n",y_test)
![在这里插入图片描述](https://img-blog.csdnimg.cn/5de9f1aaf6fe4418a6baff2eaa35ee99.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
模型训练
mb = MultinomialNB(alpha=1)
mb.fit(x_train,y_train)
y_pre = mb.predict(x_test)
模型评估
print("预测值",y_pre)
print("真实值",y_test)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d4bf606236744eaf9a60b306f3ff380a.png)
mb.score(x_test,y_test)
![在这里插入图片描述](https://img-blog.csdnimg.cn/3a4fc74091714b34a58f9a1b5f57430a.png)
朴素贝叶斯优缺点
![在这里插入图片描述](https://img-blog.csdnimg.cn/4876a147765e47fb897f0c6a75ecc22a.png)
朴素贝叶斯内容汇总
NB的原理
![在这里插入图片描述](https://img-blog.csdnimg.cn/7e489171e2484ef08d087ba6825fc6f1.png)
朴素贝叶斯朴素在哪
![在这里插入图片描述](https://img-blog.csdnimg.cn/5f4a3a442fa84dc9a47812b13c3acad5.png)
为什么引入条件独立性假设
![在这里插入图片描述](https://img-blog.csdnimg.cn/e7dae8b693a14b0cb920028616377055.png)
在估计条件概率P(X|Y)时出现概率为0的情况怎么办
![在这里插入图片描述](https://img-blog.csdnimg.cn/2a8b8b33bd9e45eeaa491a8e93ab78a2.png)
为什么属性独立性假设在实际情况中很难成立,但朴素贝叶斯任能取得较好的效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/03d1437b07af4d99b633f333befc8f17.png)
朴素贝叶斯与LR(逻辑回归)的区别
![在这里插入图片描述](https://img-blog.csdnimg.cn/c0afa2a2bc5844afb4ea267f07441eb1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/48dfcc4ec7ec4793afd4a30e2f89fe1e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ0dPTUc=,size_20,color_FFFFFF,t_70,g_se,x_16)
|