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

首頁 > 編程 > Python > 正文

樸素貝葉斯Python實例及解析

2020-02-15 23:44:22
字體:
供稿:網(wǎng)友

本文實例為大家分享了Python樸素貝葉斯實例代碼,供大家參考,具體內(nèi)容如下

#-*- coding: utf-8 -*- #添加中文注釋from numpy import * #過濾網(wǎng)站的惡意留言#樣本數(shù)據(jù)  def 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']]  #類別標簽:1侮辱性文字,0正常言論  classVec = [0,1,0,1,0,1]     #返回文檔向量,類別向量  return postingList,classVec #創(chuàng)建詞匯表#輸入:dataSet已經(jīng)經(jīng)過切分處理#輸出:包含所有文檔中出現(xiàn)的不重復(fù)詞的列表             def createVocabList(dataSet):  #構(gòu)建set集合,會返回不重復(fù)詞表  vocabSet = set([])  #遍歷每篇文檔向量,掃描所有文檔的單詞   for document in dataSet:    #通過set(document),獲取document中不重復(fù)詞列表    vocabSet = vocabSet | set(document) #求并集  return list(vocabSet) #***詞集模型:只考慮單詞是否出現(xiàn)#vocabList:詞匯表#inputSet :某個文檔向量def setOfWords2Vec(vocabList, inputSet):  #創(chuàng)建所含元素全為0的向量  returnVec = [0]*len(vocabList)  #依次取出文檔中的單詞與詞匯表進行對照,若在詞匯表中出現(xiàn)則為1  for word in inputSet:    if word in vocabList:    #單詞在詞匯表中出現(xiàn),則記為1       returnVec[vocabList.index(word)] = 1 #詞集模型    #若測試文檔的單詞,不在詞匯表中,顯示提示信息,該單詞出現(xiàn)次數(shù)用0表示    else: print "the word: %s is not in my Vocabulary!" % word  return returnVec #====訓練分類器,原始的樸素貝葉斯,沒有優(yōu)化=====#輸入trainMatrix:詞向量數(shù)據(jù)集#輸入trainCategory:數(shù)據(jù)集對應(yīng)的類別標簽#輸出p0Vect:詞匯表中各個單詞在正常言論中的類條件概率密度#輸出p1Vect:詞匯表中各個單詞在侮辱性言論中的類條件概率密度#輸出pAbusive:侮辱性言論在整個數(shù)據(jù)集中的比例def trainNB00(trainMatrix,trainCategory):  #numTrainDocs訓練集總條數(shù)  numTrainDocs = len(trainMatrix)  #訓練集中所有不重復(fù)單詞總數(shù)  numWords = len(trainMatrix[0])  #侮辱類的概率(侮辱類占總訓練數(shù)據(jù)的比例)  pAbusive = sum(trainCategory)/float(numTrainDocs)   #*正常言論的類條件概率密度 p(某單詞|正常言論)=p0Num/p0Denom  p0Num = zeros(numWords); #初始化分子為0  #*侮辱性言論的類條件概率密度 p(某單詞|侮辱性言論)=p1Num/p1Denom    p1Num = zeros(numWords) #初始化分子為0  #初始化分母置為0    p0Denom = 0;   p1Denom = 0          #遍歷訓練集數(shù)據(jù)    for i in range(numTrainDocs):    #若為侮辱類    if trainCategory[i] == 1:      #統(tǒng)計侮辱類所有文檔中的各個單詞總數(shù)      p1Num += trainMatrix[i]      #p1Denom侮辱類總單詞數(shù)      p1Denom += sum(trainMatrix[i])     #若為正常類    else:      #統(tǒng)計正常類所有文檔中的各個單詞總數(shù)      p0Num += trainMatrix[i]      #p0Denom正常類總單詞數(shù)      p0Denom += sum(trainMatrix[i])    #詞匯表中的單詞在侮辱性言論文檔中的類條件概率    p1Vect = p1Num/p1Denom      #詞匯表中的單詞在正常性言論文檔中的類條件概率   p0Vect = p0Num/p0Denom  return p0Vect,p1Vect,pAbusive  #=====訓練分類器,優(yōu)化處理=====#輸入trainMatrix:詞向量數(shù)據(jù)集#輸入trainCategory:數(shù)據(jù)集對應(yīng)的類別標簽#輸出p0Vect:詞匯表中各個單詞在正常言論中的類條件概率密度#輸出p1Vect:詞匯表中各個單詞在侮辱性言論中的類條件概率密度#輸出pAbusive:侮辱性言論在整個數(shù)據(jù)集中的比例def trainNB0(trainMatrix,trainCategory):  #訓練集總條數(shù):行數(shù)  numTrainDocs = len(trainMatrix)  #訓練集中所有單詞總數(shù):詞向量維度  numWords = len(trainMatrix[0])  #侮辱類的概率(侮辱類占總訓練數(shù)據(jù)的比例)  pAbusive = sum(trainCategory)/float(numTrainDocs)    #*拉普拉斯平滑防止類條件概率為0,初始化分子為1,分母為2  #正常類向量置為1  p0Num = ones(numWords); #初始化分子為1  #侮辱類向量置為1    p1Num = ones(numWords) #初始化分子為1  #初始化分母置為2    p0Denom = 2.0;   p1Denom = 2.0          #遍歷訓練集每個樣本    for i in range(numTrainDocs):    #若為侮辱類    if trainCategory[i] == 1:      #統(tǒng)計侮辱類所有文檔中的各個單詞總數(shù)      p1Num += trainMatrix[i] #向量      #p1Denom侮辱類總單詞數(shù)      p1Denom += sum(trainMatrix[i])     #若為正常類    else:      #統(tǒng)計正常類所有文檔中的各個單詞總數(shù)      p0Num += trainMatrix[i]      #p0Denom正常類總單詞數(shù)      p0Denom += sum(trainMatrix[i])    #數(shù)據(jù)取log,即單個單詞的p(x1|c1)取log,防止下溢出      p1Vect = log(p1Num/p1Denom)       p0Vect = log(p0Num/p0Denom)   return p0Vect,p1Vect,pAbusive #vec2Classify:待分類文檔 #p0Vect:詞匯表中每個單詞在訓練樣本的正常言論中的類條件概率密度#p1Vect:詞匯表中每個單詞在訓練樣本的侮辱性言論中的類條件概率密度#pClass1:侮辱性言論在訓練集中所占的比例def classifyNB(vec2Classify, p0Vect, p1Vect, pClass1):  #在對數(shù)空間中進行計算,屬于哪一類的概率比較大就判為哪一類  #print'0p1=',sum(vec2Classify * p0Vect) #查看結(jié)果  #print'0p0=',sum(vec2Classify * p0Vect)  p1 = sum(vec2Classify * p1Vect) + log(pClass1)    p0 = sum(vec2Classify * p0Vect) + log(1.0 - pClass1)  #print'p1=',p1  #print'p0=',p0  if p1 > p0:    return 1  else:     return 0 def testingNB():  #獲得訓練數(shù)據(jù),類別標簽  listOPosts,listClasses = loadDataSet()  #創(chuàng)建詞匯表  myVocabList = createVocabList(listOPosts)  #構(gòu)建矩陣,存放訓練數(shù)據(jù)  trainMat=[]   #遍歷原始數(shù)據(jù),轉(zhuǎn)換為詞向量,構(gòu)成數(shù)據(jù)訓練矩陣  for postinDoc in listOPosts:    #數(shù)據(jù)轉(zhuǎn)換后存入數(shù)據(jù)訓練矩陣trainMat中    trainMat.append(setOfWords2Vec(myVocabList, postinDoc))  #訓練分類器  p0V,p1V,pAb = trainNB0(array(trainMat),array(listClasses))   #===測試數(shù)據(jù)(1)  testEntry = ['love', 'my', 'dalmation']  #測試數(shù)據(jù)轉(zhuǎn)為詞向量  thisDoc = array(setOfWords2Vec(myVocabList, testEntry))  #輸出分類結(jié)果  print testEntry,'classified as: ',classifyNB(thisDoc,p0V,p1V,pAb)   #===測試數(shù)據(jù)(2)  testEntry = ['stupid', 'garbage']  #測試數(shù)據(jù)轉(zhuǎn)為詞向量  thisDoc = array(setOfWords2Vec(myVocabList, testEntry))  #輸出分類結(jié)果  print testEntry,'classified as: ',classifyNB(thisDoc,p0V,p1V,pAb)     #***詞袋模型:考慮單詞出現(xiàn)的次數(shù)#vocabList:詞匯表#inputSet :某個文檔向量def bagOfWords2VecMN(vocabList, inputSet):  #創(chuàng)建所含元素全為0的向量  returnVec = [0]*len(vocabList)  #依次取出文檔中的單詞與詞匯表進行對照,統(tǒng)計單詞在文檔中出現(xiàn)的次數(shù)  for word in inputSet:    if word in vocabList:      #單詞在文檔中出現(xiàn)的次數(shù)      returnVec[vocabList.index(word)] += 1    #若測試文檔的單詞,不在詞匯表中,顯示提示信息,該單詞出現(xiàn)次數(shù)用0表示    else: print "the word: %s is not in my Vocabulary!" % word  return returnVec  #準備數(shù)據(jù),按空格切分出詞 #單詞長度小于或等于2的全部丟棄def textParse(bigString):    import re  listOfTokens = re.split(r'/W*', bigString)  #tok.lower() 將整個詞轉(zhuǎn)換為小寫  return [tok.lower() for tok in listOfTokens if len(tok) > 2]  def spamTest():  #文章按篇存放  docList=[];   #存放文章類別  classList = [];  #存放所有文章內(nèi)容    fullText =[]  for i in range(1,26):    #讀取垃圾郵件    #wordList = textParse(open('D:/work/python/email/spam/%d.txt' % i).read())      wordList = textParse(open('D:/machine learning/python/bayes/email/spam/%d.txt' % i).read())      #docList按篇存放文章    docList.append(wordList)    #fullText郵件內(nèi)容存放到一起    fullText.extend(wordList)    #垃圾郵件類別標記為1    classList.append(1)     #讀取正常郵件    #wordList = textParse(open('D:/work/python/email/ham/%d.txt' % i).read())    wordList = textParse(open('D:/machine learning/python/bayes/email/ham/%d.txt' % i).read())    docList.append(wordList)    fullText.extend(wordList)    #正常郵件類別標記為0    classList.append(0)   #創(chuàng)建詞典    vocabList = createVocabList(docList)  #訓練集共50篇文章  trainingSet = range(50);  #創(chuàng)建測試集  testSet=[]  #隨機選取10篇文章為測試集,測試集中文章從訓練集中刪除    for i in range(10):    #0-50間產(chǎn)生一個隨機數(shù)    randIndex = int(random.uniform(0,len(trainingSet)))    #從訓練集中找到對應(yīng)文章,加入測試集中    testSet.append(trainingSet[randIndex])    #刪除對應(yīng)文章    del(trainingSet[randIndex])    #準備數(shù)據(jù),用于訓練分類器    trainMat=[]; #訓練數(shù)據(jù)  trainClasses = [] #類別標簽   #遍歷訓練集中文章數(shù)據(jù)  for docIndex in trainingSet:    #每篇文章轉(zhuǎn)為詞袋向量模型,存入trainMat數(shù)據(jù)矩陣中    trainMat.append(bagOfWords2VecMN(vocabList, docList[docIndex]))    #trainClasses存放每篇文章的類別    trainClasses.append(classList[docIndex])  #訓練分類器  p0V,p1V,pSpam = trainNB0(array(trainMat),array(trainClasses))   #errorCount記錄測試數(shù)據(jù)出錯次數(shù)  errorCount = 0  #遍歷測試數(shù)據(jù)集,每條數(shù)據(jù)相當于一條文本  for docIndex in testSet:    #文本轉(zhuǎn)換為詞向量模型      wordVector = bagOfWords2VecMN(vocabList, docList[docIndex])    #模型給出的分類結(jié)果與本身類別不一致時,說明模型出錯,errorCount數(shù)加1    if classifyNB(array(wordVector),p0V,p1V,pSpam) != classList[docIndex]:      errorCount += 1      #輸出出錯的文章      print "classification error",docList[docIndex]   #輸出錯誤率,即出錯次數(shù)/總測試次數(shù)  print 'the error rate is: ',float(errorCount)/len(testSet)    #return vocabList,fullText if __name__ == "__main__": ###**********************留言板數(shù)據(jù):觀察參數(shù)值start###  #獲取數(shù)據(jù)  listOPosts,listClasses = loadDataSet() #  #構(gòu)建詞匯表  myVocabList = createVocabList(listOPosts)  print 'myVocabList=',myVocabList  print 'result=',setOfWords2Vec(myVocabList, listOPosts[0])  trainMat = []  for postinDoc in listOPosts:    #構(gòu)建訓練矩陣    trainMat.append(setOfWords2Vec(myVocabList, postinDoc))  p0Vect,p1Vect,pAbusive = trainNB0(trainMat, listClasses)  print 'p0Vect='  print p0Vect  print 'p1Vect='  print p1Vect  print 'pAbusive='  print pAbusive  print 'trainMatrix='  print trainMat  print 'listClasses=',listClasses###**********************留言板數(shù)據(jù):觀察參數(shù)值end   ##  #測試留言板文檔  print'==================================='  testingNB() #***********************垃圾郵件  ##  #垃圾郵件分類  print'=======spam filtering============='  spamTest()            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
最新四虎影在线在永久观看www| 欧美日本在线一区| 亚洲免费影视| 在线精品一区二区| 日韩欧美一级| 国产精品99久久久久久有的能看| 99精品国产99久久久久久白柏| 一级毛片免费看| 色屁屁一区二区| 青青操在线观看视频| 2024最新电影在线免费观看| 99久久久国产| 一区二区三区不卡视频| 免费高清一区二区三区| 日本一二三区视频| 毛片精品免费在线观看| 国产极品jizzhd欧美| 成人三级视频在线观看一区二区| 在线观看国产精品一区| 成人免费看片'免费看| 四虎影视国产在线视频| 114国产精品久久免费观看| 99精品福利视频| 影音先锋欧美精品| 免费黄网在线看| 国产精品国产一区二区| 在线不卡日本| 久久国产剧场电影| 天天摸天天舔天天操| 免费成人高清在线视频| 99不卡视频| 国产精品视频在线看| 黄动漫在线观看| 污网站在线免费| 日韩成人av影视| 欧美另类色图| 欧美娇小性xxxx| 日本少妇bbwbbw精品| 瑜伽美女视频| 三妻四妾完整版在线观看电视剧| 先锋影音av男人站| 天天色天天上天天操| 日韩少妇中文字幕| 另类尿喷潮videofree| 亚洲图片 自拍偷拍| 男人天堂网页| 国产成人精品一区二三区| 秋霞一区二区三区| va婷婷在线免费观看| 国内精品嫩模av私拍在线观看| 欧美视频一二区| 99精品视频99| 不卡的电视剧免费网站有什么| 全部a∨一极品视觉盛宴| 国产在线精品一区二区三区| 精品淫伦v久久水蜜桃| 国产精品一区在线播放| 日本xxxxxxx免费视频| 久久亚洲精品网站| 午夜精彩视频| 少妇大叫太粗太大爽一区二区| 欧美午夜电影一区二区三区| 黄色的视频在线免费观看| 黄色片久久久久| 岛国av一区二区在线在线观看| av成人免费观看| 国产精品美女主播在线观看纯欲| 欧美老女人在线视频| 91影院成人| 一区二区中文字| 好吊一区二区三区| 99精品国产一区二区青青牛奶| 99视频在线观看视频| 欧美综合色免费| 一级黄色录像免费看| 色一情一伦一子一伦一区| 999视频在线观看| 免费a级毛片在线观看| 日韩在线视频免费看| 亚洲精品第一国产综合野草社区| 青青草影院在线观看| 一区二区三区精品视频在线观看| 人狥杂交一区欧美二区| 亚洲欧美一区二区三区| 国产三级在线观看视频| 人人狠狠综合久久亚洲婷婷| av一本久道久久波多野结衣| 久久综合狠狠综合久久综青草| 一本色道久久88亚洲综合88| 丰腴饱满的极品熟妇| 国产免费福利网站| 国产一区二区三区不卡视频网站| 91在线播放视频| 亚洲国产成人精品女人| jizzjizz大全| 5278欧美一区二区三区| 久久伊人成人网| 久久久久久久久伊人| 性生活黄色大片| 国产成人一区二| 欧美多人乱p欧美4p久久| 国产精品久久久久久久久久白浆| 亚洲一区二区三区视频| 欧美少妇性xxxx| 久久精品亚洲精品国产欧美| 波多野结衣久草一区| 91香蕉视频在线下载| 最新版sss视频在线| 女同久久另类99精品国产| 中国黄色片视频| 亚洲精品中文在线影院| 久久亚洲中文字幕无码| 久久91精品久久久久久秒播| 免费看三级黄色片| 日韩第一页在线观看| 手机看片1024日韩| 国产精品va在线| 久久免费精品视频在这里| 日韩1区2区日韩1区2区| h视频在线网站| 国产日韩电影| 精品人妻一区二区三区三区四区| 黄色一级二级三级| 免费偷拍视频网站| a毛片不卡免费看片| 亚洲精品第一区二区三区| 成人av在线播放网站| 精品午夜一区二区三区在线观看| 亚洲一区国产精品| 亚洲免费视频一区二区三区| 精品久久久网站| 精品福利av导航| 精品丰满少妇一区二区三区| 亚洲精品**中文毛片| 亚洲国产高清在线观看视频| 国产日韩精品一区二区三区| 午夜视频在线免费播放| 日韩欧美一区二区三区免费观看| 日韩欧美1区| 亚洲精品成人a8198a| 爱爱网站免费| 欧美成人精品激情在线视频| 青青青爽久久午夜综合久久午夜| 国产99久久久精品| 国产日韩欧美电影在线观看| 欧美午夜性生活| 亚洲尤物视频网| 色视频线观看在线播放| a级毛片免费高清视频| 污污视频网站在线| www.女人的天堂.com| 国产成人精品一区二区三区福利| 四虎黄色影院| 久草视频视频在线播放| 午夜久久久影院| av在线亚洲男人的天堂| 国产稀缺真实呦乱在线| 日本一二三视频| 亚洲大尺度在线观看| 国产mv久久久| 隣の若妻さん波多野结衣| 在线成人黄色| 涩爱av色老久久精品偷偷鲁| 久久男人资源视频| 日本高清不卡在线观看| 国产美女扒开尿口久久久| 久久久久久久久久久久久久一区| 日韩毛片一区二区三区| 国产极品美女到高潮| 午夜精品视频在线观看一区二区| 最近2018年手机中文在线| 日本激情在线观看| 桃乃木香奈和黑人aⅴ在线播放| 999在线免费视频| 国产精品毛片久久久久久| 色网在线免费观看| 国产毛片精品一区| 第一区免费在线观看| 亚洲成年人影院| 男的操女的网站| 亚洲欧美日韩国产综合精品二区| 成人网18免费网站在线| 波多野结衣50连登视频| 中文字幕一区二区三区乱码图片| 亚洲乱码精品一二三四区日韩在线| 黄色的视频在线观看免费| 国产日韩欧美另类| 在线免费看av不卡| 丝袜连裤袜欧美激情日韩| 国产精品一区免费观看| 国产精品66部| 日本在线免费| 久久精品中文字幕免费mv| 国产一国产二国产三| 日韩精品视频中文字幕| 亚洲一卡2卡三卡4卡2021四卡| 成人xxx免费视频播放| 不卡影院一区二区| 色综合狠狠操| 黄色一级免费大片| 国产三级在线观看视频| www国产成人| 久久久蜜桃精品| 精品国产髙清在线看国产毛片| 亚洲精品欧美一区二区三区| 久久99热在线观看7| 在线免费视频a| 日韩免费一区二区三区在线播放| 欧美亚洲在线视频| 日本视频一二三区中文字幕| 国产综合精品一区| 91精品国产视频| 日本精品在线视频| 性感美女激情视频在线观看| 成人羞羞网站入口| 九色国产视频| 91免费在线播放| va亚洲va日韩不卡在线观看| 亚洲色图美女| 希岛爱理av免费一区二区| 韩国日本一区二区三区| 久久国产精品色av免费看| 精品国产18久久久久久| 成人国产精品| 日韩人妻无码一区二区三区| 99在线观看精品视频| 国产亚洲精品bv在线观看| 91亚洲一区二区| eeuss一区二区三区| 深夜成人在线| 在线国产视频观看| 亚洲国产欧美在线成人app| 欧美另类亚洲| www.久久久久爱免| 最近高清中文在线字幕在线观看1| 亚欧黄色av| 一二三四视频社区在线| 欧美唯美清纯偷拍| 欧美 国产 综合| 久久五月天婷婷| 久久手机免费观看| 亚洲精品中文字| 一区二区免费播放| 国产在线观看不卡一区二区三区| 亚洲精品国精品久久99热| 成人免费在线观看视频网站| 啊啊啊国产视频| 国产香蕉精品视频| 激情亚洲网站| 国产成人精品a视频一区| 开心快乐六月丁香婷婷| wwwwxxxx国产| 性欧美18一19sex性欧美| 天天av导航| av在线免费播放网站| 国产女人水真多18毛片18精品视频| 国产精品剧情在线亚洲| 精品精品99| h片在线免费观看| 久草手机在线观看| 户外露出一区二区三区| 日韩一级片免费视频| 视频一区二区精品的福利| 色播五月综合| 国产97在线 | 亚洲| 欧美色图亚洲图片| 日韩在线三级| 免费黄色日本网站| 日韩精品一区中文字幕| 亚洲成a人片77777在线播放| 久久爱www.| 婷婷综合久久中文字幕蜜桃三电影| 青青青视频在线播放| 国产精品视频在线观看| 日韩写真福利视频在线| 国产成人香蕉在线视频网站| 亚洲最大中文字幕| 8x8x最新地址| 免费视频二区| 在线免费观看av网| 国产3p露脸普通话对白| 玖玖国产精品视频| 日日夜夜操操操| 精品一区二区亚洲| 精品国产欧美一区二区五十路| 91在线视频免费| 国产伦精品一区二区三区高清| 91福利在线视频| 久久影视中文粉嫩av| 欧美日韩在线观看一区二区| 色婷婷.com| 四虎久久免费| 亚洲第一搞黄网站| 久久99国产精一区二区三区| 黄色片大全在线观看| a天堂中文在线官网| 欧美久久久久久久久久久久| 亚洲天堂成人在线观看| 亚洲人永久免费| 在线精品视频一区二区三四| jizzjizzjizz亚洲| 一本色道久久88综合日韩精品| 国产超碰91| 欧美高清视频www夜色资源网| 国产精品老牛| 一区二区三区四区免费视频| 奇米一区二区三区| 国产美女精品视频国产| 妞干网这里只有精品| 日本国产在线观看| 久久噜噜噜精品国产亚洲综合| 欧美猛男男办公室激情| 亚洲国产中文字幕在线观看| 亚洲黄色视屏| 性欧美精品中出| 黑人精品xxx一区| 久久久99精品免费观看不卡| 无码精品在线观看| 亚洲一区区二区| 一日本道久久久精品国产| 日韩精品第1页| 少妇久久久久久久久久| 欧美极品美女视频| 亚洲精品在线播放| 99久久伊人网影院| 国产69视频在线观看| 国产91在线|亚洲| 粉嫩在线一区二区三区视频|