Python中的朴素贝叶斯
我正在尝试对我的朴素贝叶斯代码进行拉普拉斯平滑。在70%列车30%测试集上,它给了我72.5%的准确度,这有点低。有人看到什么不对劲吗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[
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
中找到的单词的分数 它可能有助于修复所有缩进,但可读性不强