Python中的朴素贝叶斯

Python中的朴素贝叶斯,python,nlp,bayesian,naivebayes,smoothing,Python,Nlp,Bayesian,Naivebayes,Smoothing,我正在尝试对我的朴素贝叶斯代码进行拉普拉斯平滑。在70%列车30%测试集上,它给了我72.5%的准确度,这有点低。有人看到什么不对劲吗 posTotal=len(pos) negTotal=len(neg) for w in larr: if (w not in pos) or (w not in neg): unk[w]+=1 unkTotal=len(unk) else: if (w in pos): posP+=(math.log10(pos[

我正在尝试对我的朴素贝叶斯代码进行拉普拉斯平滑。在70%列车30%测试集上,它给了我72.5%的准确度,这有点低。有人看到什么不对劲吗

posTotal=len(pos)
negTotal=len(neg)

for w in larr:
  if (w not in pos) or (w not in neg):
    unk[w]+=1
    unkTotal=len(unk)
  else:
    if (w in pos):
      posP+=(math.log10(pos[w])-math.log10(posTotal))
    if (w in neg):
      negP+=(math.log10(neg[w])-math.log10(negTotal))

pos
neg
是默认DIC。

我的Python有点生锈,但是对于
if
,您不想要
if(w不在pos中)和(w不在neg中)
?似乎这个版本只会调整你在
pos
neg
中找到的单词的分数

它可能有助于修复所有缩进,但可读性不强