def getClass(self, string):
maxProb = float('-inf')
maxClass = ''
for i in self.classCount:
logProb = log2(self.classCount[i])-log2(sum(self.classCount.values()))
# print(i)
for word in string.split():
if word in self.wordsFreq:
wordLogProb = log2(self.wordsFreq[word][i]+1)-log2(len(self.classFreq[i])+len(self.wordsFreq)+1)
else:
wordLogProb = -log2(len(self.classFreq[i])+len(self.wordsFreq)+1)
logProb += wordLogProb
# print('\t',word, wordProb)
# print(prob,'\n****************')
if logProb > maxProb:
maxProb = logProb
maxClass = i
# print(maxProb)
return maxClass
评论列表
文章目录