朴素贝叶斯python代码实现

朴素贝叶斯python代码实现

ID:8842757

大小:364.02 KB

页数:8页

时间:2018-04-09

朴素贝叶斯python代码实现_第1页
朴素贝叶斯python代码实现_第2页
朴素贝叶斯python代码实现_第3页
朴素贝叶斯python代码实现_第4页
朴素贝叶斯python代码实现_第5页
资源描述:

《朴素贝叶斯python代码实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感适用数据类型:标称型数据 贝叶斯准则:使用朴素贝叶斯进行文档分类 朴素贝叶斯的一般过程(1)收集数据:可以使用任何方法。本文使用RSS源(2)准备数据:需要数值型或者布尔型数据(3)分析数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好(4)训练算法:计算不同的独立特征的条件概率(5)测试算法:计算错误率(6)使用算法:一个常见的朴素贝叶斯应用是文档分类。可以在任意的分类场景中使用朴素贝叶斯分类器,不一定非要是文本。 准备数据:从文本中构建词向

2、量 摘自机器学习实战。[['my','dog','has','flea','problems','help','please'],0['maybe','not','take','him','to','dog','park','stupid'],1['my','dalmation','is','so','cute','I','love','him'],0['stop','posting','stupid','worthless','garbage'],1['mr','licks','ate','my','steak','how','to','stop'

3、,'him'],0['quit','buying','worthless','dog','food','stupid']]1以上是六句话,标记是0句子的表示正常句,标记是1句子的表示为粗口。我们通过分析每个句子中的每个词,在粗口句或是正常句出现的概率,可以找出那些词是粗口。在bayes.py文件中添加如下代码:[python] viewplaincopy1.# coding=utf-8  2.  3.def loadDataSet():  4.    postingList = [['my', 'dog', 'has', 'flea', 'probl

4、ems', 'help', 'please'],  5.    ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],  6.    ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],  7.    ['stop', 'posting', 'stupid', 'worthless', 'garbage'],  8.    ['mr', 'licks', 'ate', 'my', 'steak', 'how', 

5、'to', 'stop', 'him'],  9.    ['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']]  10.    classVec = [0, 1, 0, 1, 0, 1]  # 1代表侮辱性文字,0代表正常言论  11.    return postingList, classVec  12.  13.def createVocabList(dataSet):  14.    vocabSet = set([])  15.    for document in dataSe

6、t:  16.        vocabSet = vocabSet 

7、 set(document)  17.    return list(vocabSet)  18.  19.def setOfWords2Vec(vocabList, inputSet):  20.    returnVec = [0] * len(vocabList)  21.    for word in inputSet:  22.        if word in vocabList:  23.            returnVec[vocabList.index(

8、word)] = 1  24.        else:  25.            print "the word: %s is not in my Vocabulary!" % word  26.    return returnVec  运行结果:   训练算法:从词向量计算概率[python] viewplaincopy1.# 朴素贝叶斯分类器训练函数    2.# trainMatrix: 文档矩阵,  trainCategory: 由每篇文档类别标签所构成的向量  3.def trainNB0(trainMatrix, trainCa

9、tegory):  4.    numTrainDocs = len(trainMatrix)  5.   

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。