亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python實現樸素貝葉斯算法

2020-02-15 23:44:29
字體:
來源:轉載
供稿:網友

本代碼實現了樸素貝葉斯分類器(假設了條件獨立的版本),常用于垃圾郵件分類,進行了拉普拉斯平滑。

關于樸素貝葉斯算法原理可以參考博客中原理部分的博文。

#!/usr/bin/python# -*- coding: utf-8 -*-from math import logfrom numpy import*import operatorimport matplotlibimport matplotlib.pyplot as pltfrom os import listdirdef loadDataSet():  postingList=[['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],         ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],         ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],         ['stop', 'posting', 'stupid', 'worthless', 'garbage'],         ['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'],         ['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']]  classVec = [0,1,0,1,0,1]  return postingList,classVecdef createVocabList(dataSet):  vocabSet = set([]) #create empty set  for document in dataSet:    vocabSet = vocabSet | set(document) #union of the two sets  return list(vocabSet) def setOfWords2Vec(vocabList, inputSet):  returnVec = [0]*len(vocabList)  for word in inputSet:    if word in vocabList:      returnVec[vocabList.index(word)] = 1    else: print "the word: %s is not in my Vocabulary!" % word  return returnVecdef trainNB0(trainMatrix,trainCategory):  #訓練模型  numTrainDocs = len(trainMatrix)  numWords = len(trainMatrix[0])  pAbusive = sum(trainCategory)/float(numTrainDocs)  p0Num = ones(numWords); p1Num = ones(numWords)  #拉普拉斯平滑  p0Denom = 0.0+2.0; p1Denom = 0.0 +2.0      #拉普拉斯平滑  for i in range(numTrainDocs):    if trainCategory[i] == 1:      p1Num += trainMatrix[i]      p1Denom += sum(trainMatrix[i])    else:      p0Num += trainMatrix[i]      p0Denom += sum(trainMatrix[i])  p1Vect = log(p1Num/p1Denom)    #用log()是為了避免概率乘積時浮點數下溢  p0Vect = log(p0Num/p0Denom)  return p0Vect,p1Vect,pAbusive def classifyNB(vec2Classify, p0Vec, p1Vec, pClass1):  p1 = sum(vec2Classify * p1Vec) + log(pClass1)  p0 = sum(vec2Classify * p0Vec) + log(1.0 - pClass1)  if p1 > p0:    return 1  else:    return 0 def bagOfWords2VecMN(vocabList, inputSet):  returnVec = [0] * len(vocabList)  for word in inputSet:    if word in vocabList:      returnVec[vocabList.index(word)] += 1  return returnVec def testingNB():  #測試訓練結果  listOPosts, listClasses = loadDataSet()  myVocabList = createVocabList(listOPosts)  trainMat = []  for postinDoc in listOPosts:    trainMat.append(setOfWords2Vec(myVocabList, postinDoc))  p0V, p1V, pAb = trainNB0(array(trainMat), array(listClasses))  testEntry = ['love', 'my', 'dalmation']  thisDoc = array(setOfWords2Vec(myVocabList, testEntry))  print testEntry, 'classified as: ', classifyNB(thisDoc, p0V, p1V, pAb)  testEntry = ['stupid', 'garbage']  thisDoc = array(setOfWords2Vec(myVocabList, testEntry))  print testEntry, 'classified as: ', classifyNB(thisDoc, p0V, p1V, pAb) def 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 = 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(bagOfWords2VecMN(vocabList, docList[docIndex]))    trainClasses.append(classList[docIndex])  p0V, p1V, pSpam = trainNB0(array(trainMat), array(trainClasses))  errorCount = 0  for docIndex in testSet:     wordVector = bagOfWords2VecMN(vocabList, docList[docIndex])    if classifyNB(array(wordVector), p0V, p1V, pSpam) != classList[docIndex]:      errorCount += 1      print "classification error", docList[docIndex]  print 'the error rate is: ', float(errorCount) / len(testSet)   listOPosts,listClasses=loadDataSet()myVocabList=createVocabList(listOPosts)print myVocabList,'/n'# print setOfWords2Vec(myVocabList,listOPosts[0]),'/n'trainMat=[]for postinDoc in listOPosts:  trainMat.append(setOfWords2Vec(myVocabList,postinDoc))print trainMatp0V,p1V,pAb=trainNB0(trainMat,listClasses)print pAbprint p0V,'/n',p1VtestingNB()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品一区中文| 欧美激情区在线播放| 国产精品青草久久久久福利99| 9.1国产丝袜在线观看| 亚洲人成电影在线观看天堂色| www.欧美精品一二三区| 中文字幕日韩欧美在线视频| 日韩免费观看在线观看| 欧美最猛性xxxxx亚洲精品| 国产欧亚日韩视频| 日韩精品在线视频美女| 国产视频精品va久久久久久| 青青久久av北条麻妃海外网| 午夜精品福利视频| 国产在线观看精品一区二区三区| 少妇激情综合网| 精品国产鲁一鲁一区二区张丽| 少妇久久久久久| 日韩成人小视频| 欧美高清在线播放| 亚洲第一天堂av| 在线观看亚洲视频| 成人日韩在线电影| 亚洲人成五月天| 久久精品91久久香蕉加勒比| 97成人在线视频| 国产免费一区二区三区香蕉精| 日韩在线观看免费| 久久精品91久久久久久再现| 欧美成年人在线观看| 欧美电影免费观看电视剧大全| 午夜精品久久久久久99热软件| 成人黄色片网站| 欧美老少做受xxxx高潮| 欧美性猛交xxxx免费看| 最近2019中文字幕第三页视频| 久久久久九九九九| 播播国产欧美激情| 国产一区二区三区欧美| 中文字幕视频在线免费欧美日韩综合在线看| 久久99热精品| 亚洲天堂av在线播放| 在线播放日韩av| 亚洲性日韩精品一区二区| 精品呦交小u女在线| 国产日产欧美精品| 中文字幕精品一区久久久久| 欧美激情极品视频| 欧美特级www| 国产一区二区精品丝袜| 久久久久国色av免费观看性色| 上原亚衣av一区二区三区| 亚洲自拍欧美色图| 激情成人在线视频| 91久久国产婷婷一区二区| 久久久久国产一区二区三区| 欧美日韩黄色大片| 亚洲精品av在线| 国产精品久久久久影院日本| 国产99久久久欧美黑人| 国产在线久久久| 日韩小视频在线| 超薄丝袜一区二区| 毛片精品免费在线观看| 久久免费国产精品1| 精品福利视频导航| 欧美人在线观看| 成人免费淫片视频软件| 欧美成人性色生活仑片| 亚洲网在线观看| 亚洲最大激情中文字幕| 国产福利精品在线| 亚洲va欧美va在线观看| 国产a级全部精品| 色悠久久久久综合先锋影音下载| 国产精品极品美女粉嫩高清在线| 国产精品一久久香蕉国产线看观看| 亚洲欧美日韩久久久久久| 在线免费观看羞羞视频一区二区| 国产主播在线一区| 中文字幕国产亚洲2019| 国模私拍视频一区| 一区二区三区美女xx视频| 主播福利视频一区| 久久久视频免费观看| 欧美亚洲国产成人精品| 精品国产自在精品国产浪潮| 久久精品国产综合| 精品久久久久久久久久久| 色综合天天狠天天透天天伊人| 亚洲欧美日韩国产中文| 日韩精品极品视频| 91在线无精精品一区二区| 色综合天天狠天天透天天伊人| 亚洲www视频| 国产精品午夜国产小视频| 8050国产精品久久久久久| 久久精品中文字幕| 久久久久久久久久国产精品| 亚洲欧美日韩视频一区| 亚洲国产中文字幕久久网| 亚洲人成人99网站| 色悠久久久久综合先锋影音下载| 国产精品人人做人人爽| 国产精品高清在线观看| 国内精品国产三级国产在线专| 午夜精品免费视频| 91亚洲精品久久久| 亚洲乱码国产乱码精品精| 国产成人精品在线播放| 69久久夜色精品国产69| 欧美区在线播放| 成人久久久久久久| 91日韩在线视频| 亚洲另类xxxx| 欧美激情伊人电影| 日韩暖暖在线视频| 国产日本欧美视频| 精品国产乱码久久久久酒店| 亚洲国产免费av| 精品偷拍各种wc美女嘘嘘| 色婷婷av一区二区三区久久| 综合国产在线视频| 日韩美女中文字幕| 成人在线精品视频| 国产欧美日韩专区发布| 国产婷婷97碰碰久久人人蜜臀| 精品美女久久久久久免费| 欧美日韩中文在线观看| 国产欧美亚洲视频| 国产精品成人av在线| 久久影视电视剧免费网站清宫辞电视| 日韩免费观看网站| 在线免费观看羞羞视频一区二区| 美女少妇精品视频| 亚洲人成电影在线播放| 亚洲精品日韩av| 国产精品午夜视频| 久久亚洲精品视频| 日本sm极度另类视频| 欧美大尺度在线观看| 欧美激情中文字幕乱码免费| 色妞一区二区三区| 欧美裸体xxxx| 亚洲一区二区三区香蕉| 欧美一级大胆视频| 亚洲日本aⅴ片在线观看香蕉| 国产精品爽爽爽爽爽爽在线观看| 91精品国产自产在线老师啪| 亚洲女成人图区| 日韩成人激情在线| 性金发美女69hd大尺寸| 精品综合久久久久久97| 中文字幕精品在线| 亚洲国产精品久久精品怡红院| 中文字幕视频在线免费欧美日韩综合在线看| 国产99久久精品一区二区 夜夜躁日日躁| 日韩视频在线一区| 韩日精品中文字幕| 亚洲精品中文字幕有码专区| 97免费中文视频在线观看| 欧美夜福利tv在线| 国a精品视频大全| 欧美精品电影免费在线观看|