NLP:用Python中的sklearn库实现TF-IDF算法

包含用sklearn库实现词频-逆文件频率(TF-IDF)的过程,TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

代码如下:

'''
    自然语言处理(NLP)文本分类实战
    NLP:用Python中的sklearn库实现TF-IDF算法
    包含用sklearn库实现词频-逆文件频率(TF-IDF)的过程,TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
    TF-IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

    图中包含代码和运行结果,实现了使用python中的sklearn库表示词频-逆文件频率(TF-IDF)算法。

    欢迎大家查看作者的主页,主页中还有关于编程与算法方面的更多内容,欢迎大家相互沟通学习。
'''
from sklearn.feature_extraction.text import TfidfVectorizer
# 语料,已经由空格分好词
corpus = ['这 是 A 文档',
          '这是 B文档',
          '这是 C文档 啊 额',
          '这是 D文档 啊',
          '现在 是 E文档 啊'
        ]
'''
    用sklearn实现TF-IDF
'''
tfidf_vec = TfidfVectorizer()
tf_idf_matrix = tfidf_vec.fit_transform(corpus)
# 得到语料库中所有不重复的词
print('得到语料库中所有不重复的词\n',tfidf_vec.get_feature_names())
# 得到所有单词对应的id
print('得到所有单词对应的id\n',tfidf_vec.vocabulary_)
# 获得tf-idf矩阵输出
print('获得tf-idf矩阵输出\n',tf_idf_matrix.toarray())

运行结果:

在这里插入图片描述


欢迎大家查看作者的主页,主页中还有关于编程与算法方面的更多内容,欢迎大家相互沟通学习。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值