Tf-idf 简单贝叶斯文档分类

#tfidf词频矩阵
from sklearn.feature_extraction.text import TfidfTransformer
#贝叶斯分类器
from sklearn.naive_bayes import MultinomialNB
#数据引入 
def dataImport(path):
    #得到文件名列表
    files=os.listdir(path) 
    return files
#对单个文件分词 返回字符串 一个文件对应一个字符串
def fenci(filpath):
    #open文件之后read,可以把文件变成字符串
    text=open(filpath, "r", encoding="utf-8").read()
    #cut返回的是一个可迭代的generator,可以使用 for 循环来获得分词后得到的每一个词语
    cutfile=jieba.cut(text)
    #把生成器变成用空格分开的字符串
    cuttext=""
    for word in cutfile:
        cuttext+=word+" "
    #返回空格分开的字符串文本
    return cuttext
​
#将所有文件转化为一个数组 一个文件是一项 并建立对应的分类名数组
##将文件转化为一个数组  并建立对应的分类名数组
def covertArray(text):
    array=[text]
    return array
#加权矩阵化 tfidf
def tfidf(matrix):
    #matrix = CountVectorizer().fit_transform(array)
    tfidfmatrix=TfidfTransformer(use_idf=False).fit_transform(matrix)
    return tfidfmatrix
#分类
def bayesc
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tf-idf是一种机学习中常用的特征提取方法,它可以用来评估一个词在文本中的重要程度。tf-idf表示词频-逆文档频率(term frequency-inverse document frequency)。tf代表词频,指的是某个词在文本中出现的频率。idf代表逆文档频率,指的是词在整个语料库中出现的频率的倒数。通过计算tf和idf的乘积,可以得到一个词的tf-idf值,这个值越大,则表示这个词在文本中越重要。 在NLP中,tf-idf广泛应用于文本分类、信息检索和文本挖掘等任务。它的主要思想是,通过提取关键词的tf-idf值来代表文本的特征,然后使用这些特征训练分类或进行文本检索。tf-idf能够帮助我们识别并区分不同文本中的重要词汇,从而提高分类和检索的准确性。 朴素贝叶斯分类算法则是一种基于贝叶斯定理和特征条件独立性假设的分类算法。它假设每个特征之间相互独立,并通过先验概率和条件概率来计算后验概率。朴素贝叶斯算法在文档分类和垃圾邮件过滤等领域有广泛应用。 在文本分类任务中,可以结合tf-idf和朴素贝叶斯算法来进行文本分类。首先,使用tf-idf提取文本的特征向量,然后使用这些特征向量训练朴素贝叶斯分类。在实际应用中,可以使用混淆矩阵等评估指标来评估分类的性能。 总结起来,tf-idf是一种用于提取文本特征的方法,而朴素贝叶斯是一种基于贝叶斯定理和特征条件独立性假设的分类算法。它们可以结合使用来进行文本分类任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值