朴素贝叶斯案例1:进行文档/评论分类(python实现)

    机器学习的一个重要应用就是文档的自动分类,比如一封电子邮件、新闻报道、用户留言、政府公文等。在文档分类中,比如一封电子邮件就是一个实例,而电子邮件中的某些元素(词语)则构成特征。我们可以观测文档中出现的词,并把每个词的出现或者不出现作为一个特征,这样得到的特征数目就会跟词汇表中的词目一样多。

    朴素贝叶斯是比较常用的算法,朴素的含义是假设特征之间相互独立,为啥需要这个假设呢?

    假设词汇表中有1000个单词,要得到好的概率分布,就需要足够的数据样本,假设每个特征需要N个样本,那么对于1000特征的词汇,则需要N的1000次幂。随着特征数目增大样本数会迅速增长。但如果假设特征之间相互独立,则样本数可以由N的1000次幂减少到1000*N个。

    所谓的独立指的是统计意义上的独立,即一个特征或者单次出现的可能性与它和其他单词相邻没有关系。比如,单词bacon出现在unhealthy和出现在delicious后面的概率相等,当然这个假设并不正确,两者肯定不相等,这个假设正是朴素贝叶斯中的朴素的概念。朴素贝叶斯的另外一个假设是每个特征同等重要。其实这个假设也有问题,如果要判断留言板的留言是否恰当,可能并不需要看完所有的1000个单词,而只需要看10-20个单词(特征)即可做出判断。

    尽管朴素贝叶斯有这些小瑕疵,但是实际的效果仍然很好。

案例:

    以斑点狗论坛留言板为例,需要构建一个快速过滤器,屏蔽一些侮辱性的言论。对此类问题需要建立两个类别,侮辱和非侮辱类,使用1和0分别表示。

1、将文本转化为数字向量

    要从文本中获取特征,需要先拆分文本。将文本片段表示为一个词条向量,其中值1表示词条出现在文档中,0表示词条未出现。

1)导入数据

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值