数学之路(3)-机器学习(3)-机器学习算法-贝叶斯定理(5)

##读取待分类文本
print
ftestfn=[]
ftestfn.append('car.txt')
ftestfn.append('war3.txt')
#待测试数据
for testfn in ftestfn:
ftest = open(testfn)
try:
ftest_text = ftest.read( )
ftest_text=unicode(ftest_text,'gbk')
finally:
ftest.close( )
ftest_seg_list = jieba.cut(ftest_text)

以上读取待分类文本并分词,接着计算文本的后验概率

#计算待分类文本后验概率
    testgl=None
    wordgl=None     
    testgl=np.repeat(1.,len(yb_txt))
    for  myword in ftest_seg_list:
        if not(myword.strip() in f_stop_seg_list) and len(myword.strip())>1:
            for i in xrange(0,len(yb_txt)):
                wordgl=ybgl.get(myword)
                if wordgl:

最大后验概率者即是文本所属类型

  maxgl=0.
    mychoice=0
    for ti in xrange(0,len(yb_txt)):
        if testgl[ti]>maxgl:
            maxgl=testgl[ti]
            mychoice=ti
    print "%s:%s"%(testfn,txt_class[mychoice][0])


本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/




你可能感兴趣的:(算法,机器学习,人工智能,文本分类,Bayes)