朴素贝叶斯算法学习笔记(二)使用算法进行交叉验证
来源:互联网 发布:淘宝里猜你喜欢在哪里 编辑:程序博客网 时间:2024/06/05 18:54
import bayesfrom numpy import *def bagOfWords2VecMN(vocabList,inputSet): returnVec=0*len(vocabList) for word in inputSet: if word in vocabList: returnVec[vocabList.index(word)]+=1 return returnVecdef textParse(bigString): import re listOfTokens=re.split(r'\W*',bigString) return [tok.lower() for tok in listOfTokens if len(tok)>2]def spamTest(): docList=[] classList=[] fullText=[] for i in range(1,26): wordList=textParse(open('email/spam/%d.txt'%i).read()) docList.append(wordList) fullText.extend(wordList) classList.append(1) wordList = textParse(open('email/ham/%d.txt' % i).read()) docList.append(wordList) fullText.extend(wordList) classList.append(0) vocabList=bayes.createVocabList(docList) trainingSet=range(50) testSet=[] for i in range(10): randIndex=int(random.uniform(0,len(trainingSet))) testSet.append(trainingSet[randIndex]) del (trainingSet[randIndex]) trainMat=[] trainClasses=[] for docIndex in trainingSet: trainMat.append(bayes.setOfWords2Vec(vocabList,docList[docIndex])) trainClasses.append(classList[docIndex]) p0v,p1v,pSpsm=bayes.trainNB0(trainMat,trainClasses) errorCount=0 for docIndex in testSet: wordVector=bayes.setOfWords2Vec(vocabList,docList[docIndex]) if bayes.classifyNB(wordVector,p0v,p1v,pSpsm) != classList[docIndex]: errorCount+=1 print 'the error rate is :',float(errorCount)/len(testSet)spamTest()spamTest()
阅读全文
0 0
- 朴素贝叶斯算法学习笔记(二)使用算法进行交叉验证
- 朴素贝叶斯算法学习 (二)
- 朴素贝叶斯算法学习笔记(一)
- Andrew Ng机器学习笔记+Weka相关算法实现(二)生成学习/朴素贝叶斯
- R语言与机器学习学习笔记(分类算法)(3)朴素贝叶斯算法
- 【转】R语言与机器学习学习笔记(分类算法)(3)朴素贝叶斯算法
- Andrew Ng机器学习笔记(五)——生成学习算法和朴素贝叶斯算法
- 朴素贝叶斯算法学习 (一)
- 机器学习算法疗程(朴素贝叶斯)
- 《机器学习实战》学习笔记---朴素贝叶斯(Bayes)算法
- 【机器学习实战二:朴素贝叶斯算法之过滤垃圾邮件】
- 【机器学习实战二:朴素贝叶斯算法之过滤垃圾邮件】
- 机器学习算法-朴素贝叶斯
- 机器学习:朴素贝叶斯算法
- 朴素贝叶斯算法学习应用
- 机器学习--朴素贝叶斯算法
- 【分类】朴素贝叶斯算法学习
- 机器学习算法-朴素贝叶斯
- undefined symbol: node_module_register 错误原因
- POJ 1067 取石子 Wythoff 博弈
- 【大数据部落】WEKA文本挖掘分析垃圾邮件分类模型
- java集合框架之List实现类的性能分析
- 面试题6_重建二叉树
- 朴素贝叶斯算法学习笔记(二)使用算法进行交叉验证
- PHP经典实例读书笔记 (类和对象)
- 微信小程序大全之100荐:301~400
- 欢迎使用CSDN-markdown编辑器
- 【大数据部落】用R Shiny生态快速搭建交互Web网页APP应用
- 学习 ES6,一篇文章就够了
- HDU 4027 线段树 Can you answer these queries?
- Linux--进程池,线程池
- chroot命令