人工智能 - 朴素贝叶斯、案例:文本情感分析

news2024/11/15 8:20:42

朴素贝叶斯:用概率去预测

1、朴素贝叶斯介绍

在这里插入图片描述
朴素:指的是,特征之间相互独立

拉普拉斯平滑系数,每个种类都加k,避免条件概率出现0
区分情书与作业的例子,用关键词:
在这里插入图片描述
在这里插入图片描述
是情书的概率更高,所以估计为情书

2、案例:商品评论情感分析

在这里插入图片描述

import pandas as pd
import numpy as np
import jieba
import matplotlib.pyplot as plt
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayee import MultinomialNB

#获取数据
data = pd.read_csv("./书籍评价.csv",encoding='gbk')
data

#数据基本处理
#2.1取出内容列,用于后面分析
content = data['内容']
content
#把评价列中好评差评转成数字
data.loc[:,'评价']
data.loc[data.loc[:,'评价']=='好评','评论编号']=1
data.loc[data.loc[:,'评价']=='差评','评论编号']=0
#2.3选择停用词
stopwords=[]
with open('./stopwords.txt','r',encoding='utf-8') as f:
	lines = f.readlines()
	#print(lines)
	for tmp in lines:
		line = tmp.strip()
		stopwords.append(line)

stopwords = list(set(stopwords))
stopwords

#2.4 把‘内容’处理,转化成标准格式
comment_list = []
for tmp in content:
	print(tmp)
	seg_list = jieba.cut(tmp,cut_all=False)
	seg_str = ','.join(seg_list)
	comment_list.append(seg_str)

comment_list
#统计词个数
con = CountVetorizer(stop_words = stopwords)
X = con,fit_transform(comment_list)
X.toarray()
con.get_feature_names()

#2.5分割训练集和测试集
x_train = x.toarray()[:10,:]
y_train = data['评价'][:10]
x_train
y_train
x_test = x.toarray()[10:,:]
y_test = data['评价'][10:]
#3 模型训练
mb = MultinomialNB(alpha=1)
mb.fit(x_train,y_train)
y_pre = mb.predict(x_test)
print('预测值:',y_pre)
print('真实值:',y_pre)
#4.模型评估
mb.score(x_test,y_test)

3、朴素贝叶斯总结

3.1朴素贝叶斯优缺点

优:有稳定的分类效率;对缺失数据不敏感;常用于文本分类
缺:某些时候会由于假设的先验模型的原因导致预测效果不佳
在这里插入图片描述
朴素贝叶斯:基于贝叶斯定理和特征条件独立假设的分类方法

朴素贝叶斯朴素在哪里?
当Y确定时,X的各个特征分量取值之间相互独立

为什么引入条件独立假设?
为了避免贝叶斯定理求解时面临的组合爆炸、样本稀疏问题

在估计条件概率时出现概率为0的情况怎么办?
引入拉普拉斯平滑系数

为什么属性独立性假设在实际情况中很难成立,但朴素贝叶斯仍然能取得较好效果?
在使用分类器之前,进行了特征选择,这一过程排除特征之间的共线性,选择相对较为独立的特征

朴素贝叶斯与逻辑回归的区别?
朴素贝叶斯是生成模型,而LR是判别模型
朴素贝叶斯是基于很强的条件独立假设,而LR对此没有要求
朴素贝叶斯适用于数据集少的情景,而LR适用于大规模数据集

生成模型VS判别模型?
判别式模型:要确定一个羊是山羊还是绵羊,从历史数据中学习到模型,通过提取这只羊的特征来预测这只羊是山羊的概率,以及是绵羊的概率。(一个模型)
生成式模型:根据山羊的特征学习出一个山羊模型,根据绵羊模型学习出一个绵羊模型。然后从这只羊中提取特征,放在山羊模型中看概率是多少,放在绵羊中看概率是多少,哪个大取哪个。(两个模型)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Transformer的多变量风电功率预测TF2

Transformer目前大火,作为一个合格的算法搬运工自然要跟上潮流,本文基于tensorflow2框架,构建transformer模型,并将其用于多变量的风电功率负荷预测。 实验结果表明,相比与传统的LSTM,该方法精度更高&…

干货 | 背熟这些 Docker 命令,面试再也不怕啦~

我们下载 Docker 镜像的时候,默认会访问 Docker 网站,而 Docker 网站是在国外部署的,距离比较远下载速度特别慢。我们可以通过设置加速器的方式来加速 Docker 镜像下载的速度。下面将描述一下使用加速器的步骤:1.我们这里选择的是…

ORB-SLAM2 --- MapPoint::Replace函数

目录 1.函数作用 2.code 3.函数解析 1.函数作用 替换地图点,更新观测关系。 2.code void MapPoint::Replace(MapPoint* pMP) {// 同一个地图点则跳过if(pMP->mnIdthis->mnId)return;//要替换当前地图点,有两个工作:// 1. 将当前地图点的观测数据等其他数…

数据报告:[数字健康]如何引发美国医疗深度变革

本文由前嗅数据研究院出品 在美国,全球疫情的不断发展扩大,促进了其医疗行业的变革与创新,以“Digital Health”(数字健康)为关键词的医疗领域正在发⽣⾰命性的变化。本文着重介绍“Digital Health”的特点及其在各领域…

【博学谷学习记录】超强总结,用心分享|kafka如何保证数据不丢失

文章目录数据在Kafka中的流转阶段一:生产者如何保证数据不丢失ACK机制阶段二:Broker端如何保证数据不丢失磁盘副本阶段三:消费者如何保证数据不丢失消费者提交偏移量数据在Kafka中的流转 阶段一:生产者如何保证数据不丢失 ACK机制 生产者将数据生产到Broker后,Broker需要给一个…

学习python之——python入门

欢迎来到 Python 入门的学习之旅! Python 是一种高级编程语言,它是一种解释型语言,有着丰富的库和大量的第三方模块,能够用于许多不同的编程任务。无论你是想要学习 Python 进行 Web 开发,还是想用它来进行数据分析和…

Windows 远程桌面 Ubuntu

参考 Windows远程桌面工具连接Ubuntu系统使用总结_CHH3213的博客-CSDN博客_远程连接ubuntu 开启ssh服务(非必须 查看ssh是否已经开启 sudo ps -e | grep ssh 如果最后返回是sshd,证明ssh已经开启,跳到第四步 第二步,如果没有…

excel处理时间数据

目录excel中的日期中同时提取年月,可使用YEAR函数提取年份,MONTH函数提取月份,然后使用合并函数“&”将年月合并即可。方法步骤如下: 1、打开需要操作的EXCEL表格,在任意空白单元格上面的函数编辑框中输入“YEAR&…

自动化 HR 流程,实现人力资源部门无纸化

自动化 HR 流程,实现人力资源部门无纸化 如果公司使用手动流程,人力资源部门则可能是纸张最密集的部门之一。使用像Google Docs或Dropbox这样的免费文件共享应用程序可能会感觉比使用纸张更上一层楼。但是,这些应用程序旨在在某个时间点启用…

python居然还能画出这么精美的魔法少女,惊我一整年

前言 大家早好、午好、晚好吖 ❤ ~ 对于上面漫小姐姐图,大家觉得好不好看呢 这种极简的线条画出超具魅力的小姐姐图 简直不要太击中小心脏 接下来,我们就用python来实现一下,画出一个好看的少女~ 代码展示 导入模块 import turtle as te…

VIVADO异步时钟域约束(groups)

异步时钟域约束 VIVADO异步时钟约束之实例演示 操作方法: 1、先在synthesis 中打开 report clock interaction ,可以看到没有约束的异步时钟之间用红色标记; 2、在synthesis中打开edit timing constraints 设置异步时钟; 3、异…

QGroundControl 添加自定义FactGroup

基于QGC4.1.2版本进行添加,首先由于QGC的原来对FactGroup定义均写在Vehicle.h和Vehicle.cc两个文件中,个人感觉都写在Vehicle文件下回导致文件过大,所以将FactGroup定义进行分离,写在各自的.h和.cc文件下,然后在Vehicl…

运动无线耳机哪个品牌比较好、运动效果最好的运动耳机推荐

近几年,运动耳机愈发获得消费者的认可。它拥有着更牢固的佩戴方式,即便是长时间佩戴、也拥有更舒适的体验。因此,运动耳机也受到运动、健身人群的喜爱。但是不少小伙伴跟我反映如何选择一款体验出色的运动耳机,也成为了当前不少运…

计算机sci期刊拒稿两次,重新投稿接受的概率大吗? - 易智编译EaseEditing

重新投稿需要修改的幅度很大,而且就算能接受,时间也会非常久。 要是不着急用可以试试: 根据审稿意见一条条的来修改; 增加新的参考文献; 如果是“修改后重投”,可能需要注意以下问题: 1. 与…

数据可视化,2022A股正式收官,这么特别的一年,你挣钱了吗?

“A股年线止步三连阳!深成指全年累计下跌25.85%;创业板指全年累计下跌累计29.37%;上证50指数累计下跌19.52%;科创50指数累计下跌31.35%。其中,创业板指、深成指仅跑赢俄罗…

循环神经网络-高级篇RNN Classifier

循环神经网络-高级篇RNN Classifier 本篇实现一个循环神经网络的分类器RNN Classifier 我们使用一个数据集包含Name,Country,其中名字有几千个,来自18个不同的国家,我们的目标是训练一个模型,可以实现输入一个名字&a…

cad绘图:AutoCAD 2023 中文

Autodesk AutoCAD 2023是计算机辅助设计(CAD)软件,是世界领先的2D和3D CAD工具。它将允许您使用其强大而灵活的功能来设计和塑造您周围的世界。在3D中加速文档制作,无缝地分享想法,更直观地探索想法。AutoCAD使用户能够从桌面、Web和移动设备…

http 模块

1、什么是 http 模块 http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的http.createServer() 方法,就能方便的把一台普通的电脑,变成一台 Web 服务器,从而对外提供Web 资源服务。 如果要希望使用 http 模块…

Centos8/linux下载、安装、配置、连接MySQL5.7(rpm方式)

目录 问题现象: 问题分析: 解决方法: 下载: 安装: 配置: 连接: 拓展 问题现象: 今天在使用Centos8 安装MySQL5.7的rpm包时,出现如下报错: 仓库 "…

【ROS】—— ROS运行管理 ——元功能包与launch文件(八)

文章目录前言1. 元功能包1.1 应用场景1.2 概念1.3 实现2. ROS节点运行管理launch文件2.1 launch文件标签之launch2.2 launch文件标签之node2.3 launch文件标签之include2.4 launch文件标签之remap2.5 launch文件标签之param2.6 launch文件标签之rosparam2.7 launch文件标签之gr…