sklearn 学习笔记

sklearn.feature_extraction.text.TfidfVectorizer

官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html

TfidfVectorizer(input=’content’, encoding=’utf-8’, decode_error=’strict’, strip_accents=None, lowercase=True, preprocessor=None, tokenizer=None, analyzer=’word’, stop_words=None, token_pattern=’(?u)\b\w\w+\b’, ngram_range=(1, 1), max_df=1.0, min_df=1, max_features=None, vocabulary=None, binary=False, dtype=<class ‘numpy.float64’>, norm=’l2’, use_idf=True, smooth_idf=True, sublinear_tf=False

什么是TF-IDF?

TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).
是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

简而言之就是表征出一个词对于一篇文档的重要程度。
对于一篇文章中,TF-IDF可以表征出文章中的关键词,那么,对于sklearn中的TF-IDF是如何计算的呢?

  1. 计算词频
  2. 计算TF-IDF

推荐博客:
https://blog.csdn.net/Eastmount/article/details/50323063

通过TF-IDF,就可以把每个句子用一个向量表示出来了,向量中的数值也反应了词对于这个句子的重要程度(当然计算全局词频是按照所有句子计算的,局部词频是本句子)。

下面,我们来理解一下TfidfVectorizer中的主要参数:

  • ngram_range(min,max)是指将text分成min,min+1,min+2,…max 个不同的词组
    比如’Python is useful’中ngram_range(1,3)之后可得到’Python’ ‘is’ ‘useful’ ‘Python is’ ‘is useful’ 和’Python is useful’
    如果是ngram_range (1,1) 则只能得到单个单词’Python’ ‘is’和’useful’
  • max_df 当构建词汇表时,严格忽略高于给出阈值的文档频率的词条,语料指定的停用词。如果是浮点值,该参数代表文档的比例,整型绝对计数值,如果词汇表不为None,此参数被忽略。
  • 同理 min_df
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值