def classifyNB(self,listWord2classify):
     '''
     对给定的词组列表进行分类
     :param vec2classify:
     :return:
     '''
     vectorWord2classify=bagOfWords2VecMN(self.vocabList,listWord2classify)
     res=classifyNB(vectorWord2classify,self.p0V,self.p1V,self.pAb)
     return res
 def __init__(self):
     self.meaningDict={}
     trainList,trainClassifyVec,self.testList,self.testClassifyVec=self.getData()
     vocabList=createVocabList(trainList)
     trainMat=[]
     for postingData in trainList:
         trainMat.append(bagOfWords2VecMN(vocabList,postingData))
     self.p0V,self.p1V,self.pAb=trainNB(trainMat,trainClassifyVec)
     self.vocabList=vocabList
 def getAccurayRate(self):
     numOfTest=len(self.testClassifyVec)
     numOfSuc=0
     for i,testData in enumerate(self.testList):
         res=self.classifyNB(bagOfWords2VecMN(self.vocabList,testData))
         if res==self.testClassifyVec[i]:
             numOfSuc+=1
     if numOfTest!=0:
         return float(numOfSuc/numOfTest)
     else:
         return 0