猫史档案馆


谁能给我讲讲朴素叶贝斯分类器是什么鬼!

用户:四九圣尊四九圣尊查看:0 回复:28 评论:0 创建时间:2017-12-31T21:18:36


我要很详细的,谢谢!那些数学公式不要担心我不理解,我能背下来。我要很详细的教程,谢谢!


回复

上一页1 页 / 共 1下一页
欠王迷欠王迷

http://www.ruanyifeng.com/blog/2013/12/naive_bayes_classifier.html


点赞0


评论


四九圣尊四九圣尊

thanks

点赞0


评论


四九圣尊四九圣尊

概念我已经get了

不过自己写貌似太复杂了吧

python有没有类似的代码呢

点赞0


评论


欠王迷欠王迷

布吉岛耶······

问问别人吧······

点赞0


评论


四九圣尊四九圣尊

哪位好心人能给我一个垃圾邮件语料库,最好英文的。中文也ok

点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

如果概念已经get了的话可以试试一下叫sklearn的python包,可以通过

pip install -U scikit-learn

来安装,里面包含有朴素贝叶斯的实现,下面是例子:

http://scikit-learn.org/stable/modules/naive_bayes.html

如果还想看具体的实现,可以看:

https:/喵scikit-learn/scikit-learn/blob/a24c8b46/sklearn/naive_bayes.py#L160

还有什么问题我们也可以继续讨论



点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

下面是几个公开的垃圾邮件数据库:

http://c喵ining.org/index.php/spam-assassin-datasets.html

http://c喵ining.org/index.php/ling-spam-datasets.html

https://plg.uwaterloo.ca/~gvcormac/treccorpus/

http://nlp.cs.aueb.gr/software_and_datasets/Enron-Spam/index.html

如果想自己找的话,可以试试在搜索引擎上输入spam classification dataset这样的关键词来找。


点赞0


评论


四九圣尊四九圣尊



点赞0


评论


四九圣尊四九圣尊


我要开始优化我的算法了,博士,这里的图没了我学习不了,麻烦您帮我把图补上,用比较简单易懂的算式谢谢

点赞0


评论


咚当家族编辑部咚当家族编辑部

虽然当当不是太会算法

但给你参考下吧


流程图如下



点赞0


评论


四九圣尊四九圣尊


急,帮我把这张图的内容写给我,用比较通俗的语言

点赞0


评论


四九圣尊四九圣尊

import nltk import os from nltk.book import * import numpy from nltk import * from sklearn import * import easygui from nltk.corpus import stopwords english_stopwords = stopwords.words('english') xianyan = 0.5 ku = [] pass133 = os.getcwd() + "\\R" pass134 = os.getcwd() + "\\H" a = os.listdir(pass133) aa = os.listdir(pass134) txt_place= "" txt_text = "" htxt_place = "" htxt_text = "" print("开始学习!") for i in range(len(a)): ku_fu = [] txt_place = os.getcwd() + "\R" + "\\" + a[i] print(txt_place) txt_text = open(txt_place).read() txt_text = txt_text.lower() ku_fu = word_tokenize(txt_text) ku.extend(ku_fu) hku = [] for i in range(len(aa)): hku_fu = [] htxt_place =os.getcwd() + "\H" + "\\" + aa[i] print(htxt_place) htxt_text = open(htxt_place).read() htxt_text = htxt_text.lower() hku_fu = word_tokenize(htxt_text) hku.extend(hku_fu) print(hku) number = ["second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth"] ku_he = ku ciping = [] zuizhong = [] ku = [w for w in ku if w not in english_stopwords and len(w) >= 5 and w.isalpha() and w not in number] hku = [w for w in hku if w not in english_stopwords and len(w) >= 5 and w.isalpha() and w not in number] print(hku) fdist1 = FreqDist(ku) print(fdist1) zuizhong_fu = list(fdist1) print("INIT SUCCESS") for i in zuizhong_fu: zuizhong.append(i) if fdist1[i]/len(a) >= 1: ciping.append(1) elif fdist1[i]/len(a) < 1: ciping.append(float(fdist1[i]/len(a))) pass10 = input("词汇矩阵构建完成!点击enter开始测试垃圾邮件!") txt = easygui.fileopenbox(default='*.txt') text = open(txt).read() text = text.lower() text_fen = word_tokenize(text) text_fen = list(set(text_fen)) wenti = [] gongyou = [] for i in range(len(text_fen)): if text_fen[i] in zuizhong: gongyou.append(text_fen[i]) hwenti = [] for i in range(len(gongyou)): pass90 = hku.count(gongyou[i]) hwenti.append(pass90) for i in range(len(gongyou)): hwenti[i] = hwenti[i]/len(hku)*100 for i in range(len(gongyou)): wula = zuizhong.index(gongyou[i]) print("抽取:" + str(wula)) wenti.append(float(ciping[wula]*100)) zuihouha = [] 

就剩最后那个公式了,大佬帮帮我吧!

点赞0


评论


四九圣尊四九圣尊

大神们快过来给我补公式了

点赞0


评论


四九圣尊四九圣尊



点赞0


评论


批小将批小将

你不是说懂了么,怎么要公式了,在python里面套啊

点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

不好意思,我才看到。我周末帮你把公式补一下哈

点赞0


评论


四九圣尊四九圣尊

我套进去了,不行啊,跟文章写得对不上号

点赞0


评论


四九圣尊四九圣尊

教授,回复简单点,谢谢

点赞0


评论


四九圣尊四九圣尊

把这个图补上就可以了,ph的值是0.5,ps是0.01

点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘



点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

图里面的内容应该是这个,我给你一步步解释一下哈

点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

第一道式子里面,P(S | W)指包含了sex这个词的邮件是垃圾邮件的概率,P(W|S)和P(S)的含义前文已经解释了,把他们乘起来得到的是一封邮件既包含了sex这个词同时又是垃圾邮件的概率,P(W)是一封邮件包含sex这个词的概率


点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘


这幅图是对所有情况的分解


点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

要求P(S|W),就是已知一封邮件包含sex单词,那么该邮件是垃圾邮件的概率,我就要把所有包含sex单词的邮件全部拿出来,再计算其中垃圾邮件的比例,像下图展示的那样



点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

这就是上面计算公式的含义,有什么不明白的你直接在下面回复哈

点赞0


评论


四九圣尊四九圣尊

那么联合概率公式呢?好像把这些都算出来求平均值不行。不太准,还有发我先假设一个词在健康邮件出现的概率很重要,对结果影响很大

点赞0


评论


清华大学 Dr.潘清华大学 Dr.潘

联合概率公式具体是指哪道式子呀

点赞0


评论


小笛笛小笛笛

666

点赞0


评论