您的位置:首页 > 其它

机器学习之-朴素贝叶斯-具体怎么实现及应用

2017-03-02 16:59 381 查看
1、优缺点:

优点:在数据较少的情况下仍然有效,可以处理多类别问题。

缺点:对于输入数据的准备方式较为敏感。

适用数据类型:标称型数据。

2、贝叶斯决策论的核心思想:

p1(x,y)表示数据点(x,y)属于类1的概率,p2(x,y)表示数据点(x,y)属于类2的概率:

如果p1(x,y)>p2(x,y),那么类别为1

如果p2(x,y)>p1(x,y),那么类别为2

也就是说,我们选择高概率对应的类别,这就是贝叶斯决策理论的核心思想,即选择具有最高概率的决策。

3、朴素贝叶斯是贝叶斯分类器的扩展,是用于文档分类的常用算法。

4、朴素贝叶斯的一般过程:

a)手机数据:可以使用任何方法(RSS源)

b)准备数据:需要数值型或者布尔型数据。

c)分析数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好。

d)训练算法:计算不同的独立特征的条件概率。

e)测试算法:计算错误率。

f)使用算法:一个常见的朴素贝叶斯应用是文档分类。可以在任意的分类场景中使用朴素贝叶斯分类器,不一定非要是文本。

5、对朴素贝叶斯中的“”“朴素”的简单理解:a)假设特征之间互相独立,那么样本数就可以大大减少,实际上不是这样独立的。b)假设每个特征同等重要,这样导致本来少许特征就可以判断的分类,却需要用到所有的特征。

6、朴素贝叶斯分类器通常有两种实现方式:一种基于贝努利模型实现,一种基于多项式模型实现。基于贝努力模型实现只考虑0和1

7、操作符 | 用于求两个集合的并集,比如两个set,分别保存一些单词,则用 |  操作符就可以得到两个set的并集。

8、使用Python进行文本分类的过程:

a)准备数据:从文本中构建词向量。具体就是从所有文本中获取一个词汇表,这个词汇表就是特征向量,有了特征向量,给定一个新的文本,可以通过查看词汇表里的单词有没有出现在这个新的文档中,若存在,则将该单词所在特征向量的位置置1,否则置0,这样,一个新来的文本就被表示成一个特征向量大小的,由0,1表示的词向量。

b)训练算法:从词向量计算概率。在分类的时候,需要用的是p(c|w),而p(c|w)不能直接得到,需要应用贝叶斯准则,求出p(c)、p(w)、p(w|c),最后才能得到p(c|w)。

c)测试算法:根据现实情况修改分类器。

a—)准备数据:从文本中构建词向量。上面构建的词向量叫做词级模型set-of-words-model,还有一种叫做词袋模型bag-of-words-model,其实就是词向量中每个词出现不止一次则词向量中记录着词出现的个数,剩下的b、c过程都一样。

9、使用朴素贝叶斯对电子邮件进行分类:

a)收集数据:提供文本文件。

b)准备数据:将文本文件解析成词条向量。

c)分析数据:检查词条确保解析的正确性。

d)训练算法:使用之前建立的trainNB0()函数。

e)测试算法:使用classifyNB(),并且构建一个新的测试函数来计算文档的错误率。

f)使用算法:构建一个完整的程序对一组文档进行分类,将错误的文档输出。

9-b:

准备数据:切分文本。这里要对邮件中的字符串进行处理,包括去掉标点、去掉大写、去掉字符串长度小于多少的字符串、。

10、Universal Feed Parser是Python中常用的RSS程序库,名字就叫做 feedparser,用它就可以解析RSS数据源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: