第二十一讲 朴素贝叶斯分类下:文档分类

本文介绍了如何使用朴素贝叶斯进行文档分类,重点讲述了高斯、多项式和伯努利朴素贝叶斯的区别,以及在文本分类中常用的TF-IDF方法。通过sklearn的TfidfVectorizer计算单词的TF-IDF值,并使用朴素贝叶斯分类器进行预测,最后讨论了模型性能评估中的准确率计算。
摘要由CSDN通过智能技术生成

朴素贝叶斯分类最适合的场景有文本分类、情感分析和垃圾邮件识别。本质都是文本分类,也常用于自然语言处理NLP(AI子领域)工具。
用朴素贝叶斯做文档分类项目,需要用到sklearn机器学习工具。
sklearn机器学习包
高斯朴素贝叶斯(GaussianNB)、多项式朴素贝叶斯(MultinomialNB)和伯努利朴素贝叶斯(BernoulliNB)。根据特征变量的不同选择不同算法。
高斯朴素贝叶斯:特征变量为连续变量,符合高斯分布,比如身高。
多项式朴素贝叶斯:特征变量为离散变量,符合多项分布,如文档中一个单词出现的次数,或词的TF-IDF值。
伯努利朴素贝叶斯:特征变量是布尔变量,符合0/1分布,如文档中单词是否出现。
TF-IDF值:用来评估某个词语对于一个文件集或文档库中的其中一份文件的重要程度的统计方法。
词频TF:计算一个单词在文档中出现的次数,认为其重要性与次数成正比。
逆向文档频率IDF:指一个单词在文档中的区分度,认为一个单词出现在的文档数越少,则通过这个词就可以把文档与其它文档区分开。IDF越大,则单词区分度越大。
即TF-IDF为词频TF与逆向文档频率IDF的乘积,该词出现在一个文档的次数多,且很少出现在其他文档中,这样的单词适合用于分类。 即一篇文档的关键词。
算法原理参见博客:http://www.ruanyifeng.com/blog/2013/03/tf-idf.html
计算公式
在这里插入图片描述
在这里插入图片描述
TF-IDF=TF*IDF
在sklearn中直接使用TfidVectorizer类,来计算单词TF-IDF向量的值。
TfidVectorizer类的创建

TfidfVectorizer(stop_words=stop_words, token_pattern=token_pattern)

该函数有两个构造参数,停用词stop_words是列表类型,过滤规则token_pattern是正则表达式。
停用词即分类中没有用的词,一般TF高但IDF低,起不到分类作用,为节空间和计算时间,这些词不需要计算。
创建好后,可以用fit_transform进行拟合模型,返回文本矩阵,表示了每个单词在文档中的TF-IDF值。
还可以获得其他向量属性:
在这里插入图片描述
例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值