相对于「 基于词典的分析 」,「 基于机器学习 」的就不需要大量标注的词典,但是需要大量标记的数据,比如: 还是下面这句话,如果它的标签是: 服务质量 - 中 (共有三个级别,好、中、差) �r(�s-�t)�q,其是机器学习,通过大量已经标签的数据训练出

相对于「 基于词典的分析 」,「 基于机器学习 」的就不需要大量标注的词典,但是需要大量标记的数据,比如:

还是下面这句话,如果它的标签是:

服务质量 - 中 (共有三个级别,好、中、差)

�r(�s-�t)�q,其是机器学习,通过大量已经标签的数据训练出一个模型,

然后你在输入一条评论,来判断标签级别

宁馨的点评 国庆活动,用62开头的信用卡可以6.2元买一个印有银联卡标记的冰淇淋,

有香草,巧克力和抹茶三种口味可选,我选的是香草口味,味道很浓郁。

另外任意消费都可以10元买两个马卡龙,个头虽不是很大,但很好吃,不是很甜的那种,不会觉得腻。

标签:服务质量 - 中

朴素贝叶斯1、贝叶斯定理假设对于某个数据集,随机变量C表示样本为C类的概率,F1表示测试样本某特征出现的概率,套用基本贝叶斯公式,则如下所示:

上式表示对于某个样本,特征F1出现时,该样本被分为C类的条件概率。那么如何用上式来对测试样本分类呢?

举例来说,有个测试样本,其特征F1出现了(F1=1),那么就计算P(C=0|F1=1)和P(C=1|F1=1)的概率值。前者大,则该样本被认为是0类;后者大,则分为1类。

对该公示,有几个概念需要熟知:

先验概率(Prior)。P(C)是C的先验概率,可以从已有的训练集中计算分为C类的样本占所有样本的比重得出。

证据(Evidence)。即上式P(F1),表示对于某测试样本,特征F1出现的概率。同样可以从训练集中F1特征对应样本所占总样本的比例得出。

似然(likelihood)。即上式P(F1|C),表示如果知道一个样本分为C类,那么他的特征为F1的概率是多少。

对于多个特征而言,贝叶斯公式可以扩展如下:

分子中存在一大串似然值。当特征很多的时候,这些似然值的计算是极其痛苦的。现在该怎么办?

2、朴素的概念为了简化计算,朴素贝叶斯算法做了一假设:“朴素的认为各个特征相互独立”。这么一来,上式的分子就简化成了:

P(C)P(F1|C)P(F2|C)...P(Fn|C)。

这样简化过后,计算起来就方便多了。

这个假设是认为各个特征之间是独立的,看上去确实是个很不科学的假设。因为很多情况下,各个特征之间是紧密联系的。然而在朴素贝叶斯的大量应用实践实际表明其工作的相当好。

其次,由于朴素贝叶斯的工作原理是计算P(C=0|F1...Fn)和P(C=1|F1...Fn),并取最大值的那个作为其分类。而二者的分母是一模一样的。因此,我们又可以省略分母计算,从而进一步简化计算过程。

另外,贝叶斯公式推导能够成立有个重要前期,就是各个证据(evidence)不能为0。也即对于任意特征Fx,P(Fx)不能为0。而显示某些特征未出现在测试集中的情况是可以发生的。因此实现上通常要做一些小的处理,例如把所有计数进行+1(加法平滑 aDDitive smoothing,又叫拉普拉斯平滑 Laplace smothing)。而如果通过增加一个大于 0 的可调参数 alpha 进行平滑,就叫Lidstone 平滑。

基于朴素贝叶斯的情感分类原始数据集,只抽了10条

读数据读取excel文件,用的pandas库的DataFrame的数据类型

分词对每个评论分词,分词的同时去除停用词,得到如下词表

每个列表是与评论一一对应的

统计这里统计什么呢?统计两种数据

1. 评论级别的次数

这里有三个级别分别对应

c0 → 好 2

c1 → 中 3

c2 → 差 5

2. 每个词在句子中出现的次数

得到一个字典数据

evalation [2, 5, 3]

半价 [0, 5, 0]

划算 [1, 1, 0]

不错 [0, 2, 0]

・・・・・・・・・

不满 [0, 1, 0]

重要 [0, 1, 0]

清楚 [0, 1, 0]

具体 [0, 1, 0]

每个词(特征)后的 list坐标位:0,1,2分别对应好,中,差

以上工作完成之后,就是把模型训练好了,只不过数据越多越准确

测试比如输入一个句子

世纪联华(百联西郊购物中心店)的点评 一个号称国际大都市,收银处的人服务态度差到极点。银联活动30-10,还不可以连单。

得到结果

c2-差

朴素贝叶斯情感分析评分python_详解基于朴素贝叶斯的情感分析及 Python 实现相关推荐

  1. 朴素贝叶斯情感分析评分python_详解基于朴素贝叶斯的情感分析及Python实现

    朴素贝叶斯 1.贝叶斯定理 假设对于某个数据集,随机变量C表示样本为C类的概率,F1表示测试样本某特征出现的概率,套用基本贝叶斯公式,则如下所示: 上式表示对于某个样本,特征F1出现时,该样本被分为C ...

  2. 详解基于朴素贝叶斯的情感分析及 Python 实现

    相对于「 基于词典的分析 」,「 基于机器学习 」的就不需要大量标注的词典,但是需要大量标记的数据,比如: 还是下面这句话,如果它的标签是: 服务质量 - 中 (共有三个级别,好.中.差) ╮(╯-╰ ...

  3. 从原理到实现,详解基于朴素ML思想的协同过滤推荐算法

    作者丨gongyouliu 编辑丨Zandy 来源 | 大数据与人工智能(ID: ai-big-data) 作者在<协同过滤推荐算法>.<矩阵分解推荐算法>这两篇文章中介绍了几 ...

  4. 房价预测python_详解 Kaggle 房价预测竞赛优胜方案:用 Python 进行全面数据探索...

    [导读]Kaggle 的房价预测竞赛从 2016 年 8 月开始,到 2017 年 2 月结束.这段时间内,超过 2000 多人参与比赛,选手采用高级回归技术,基于我们给出的 79 个特征,对房屋的售 ...

  5. mysql ssd 性能测试 写入_MySQL服务器的SSD性能问题分析和测试详解

    [问题] 我们有台HP的服务器,SSD在写IOPS约5000时,%util达到80%以上,那么这块SSD的性能究竟有没有问题,为解决这个问题做了下面测试. [工具] blktrace是linux下用来 ...

  6. java 生成dump_java dump文件怎么生成和分析-JMAP用法详解

    jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...

  7. Android Telephony分析(五) ---- TelephonyRegistry详解

    本文紧接着上一篇文章<Android Telephony分析(四) -- TelephonyManager详解 >的1.4小节.  从TelephonyRegistry的大部分方法中:  ...

  8. Android Telephony分析(三) ---- RILJ详解

    前言 本文主要讲解RILJ工作原理,以便更好地分析代码,分析业务的流程.  这里说的RILJ指的是RIL.java (frameworks\opt\telephony\src\java\com\And ...

  9. Android Telephony分析(二) ---- RegistrantList详解

    前言 本文主要讲解RegistrantList的原理,以及如何快速分析RegistrantList相关的代码流程.  在Telephony模块中,在RIL.Tracker(ServiceStateTr ...

最新文章

  1. 云视频会议的“多、快、好、省”(下)
  2. 最小表示法 最大表示法
  3. php根据单词截取英文语句,php按单词截取字符串的方法
  4. C#实现乞丐版IOC容器
  5. LDAP命令介绍---dstune
  6. common.inc.php源码,inc.common.php解决错误
  7. python——Tkinter图形化界面及threading多线程
  8. Docker介绍及安装
  9. Oracle数据库外部的身份认证方法
  10. CSS:修改输入框placeholder样式
  11. blackfriday markdown的自动换行 go lang 正则替换字符串时遇到的坑,转义解析其中的 $1 $name 等
  12. Cassandra数据库模糊查询
  13. 网络工程师考试串讲视频教程
  14. pandas DataFrame方法;dataframe 定义一个数值全为1的列;dataframe创建多列;如何拆分嵌套list存为dataframe;在数据集添加一个新的列
  15. excel转置怎么操作_Excel拆分文本,想怎么拆就怎么拆,简单易学,一看就会
  16. Eclipse:Build not configured correctly问题
  17. 程序员,30岁+,看完让你不再焦虑
  18. 关于MySQL数据类型定义的几个细节-INT(N)/VARCHAR(N)/DECIMAL(M,N)
  19. 腾讯云配置密钥使用putty登录 PuTTY实现Windows向Linux上传文件
  20. JSP野生动物保护网

热门文章

  1. Quora图片懒加载
  2. 机器人bl虐心_【原创】林先生主受 虐受 机器人攻
  3. 一篇讲完Java异常及处理
  4. Spring(注解)详解
  5. 顺利完成网页版体温单
  6. 活动星投票趣味猜灯谜做投票系统制作二维码投票
  7. msysgit初次安装
  8. MySQL多表联合查询
  9. 《A diagonal quasi-Newton updating method for unconstrained optimization》文献算法实现
  10. MS17-010永恒之蓝-漏洞利用+修复方法