tfidfVectorizer个人理解

导入方法:from sklearn.feature_extraction.text import TfidfVectorizer
功能:将原生文档转化成tfidf矩阵
英文文档有天然的空格分隔符,但是中文没有,在使用tfidfvectorizer时,如果是中文,注意要先分词(因为tfidf的计算原理是基于词语的),如果中文不事先分词的话,tfidfvectorizer会把每个句子作为一个特征。
中文如何在这里插入图片描述

中文在这里插入图片描述
中文未分词的时候,可以看到一句话就是一个特征。

tfidfvectorizer与countvectorizer的区别:countervectorizer中将tfidf值换成每个文本中词语出现的次数即可,在调用两者的时候,参数稍微有点不同。
tfidfvectorizer()的参数 —spyder中ctrl+鼠标点击函数名 可查看函数原型。部分参数的含义如下:

  1. max_df、min_df设置考虑的词频范围;

  2. max_features设置考虑的最大词语数(按tfidf值的高低选top
    n个),可用来限制转化后的文档的长度;

  3. use_idf 是否是否逆文档频率,为flase时统计的仅是tf值;

  4. smooth_idf 默认是True, 计算tfidf值时,为了防止除数是0,会假设一个文档里面包含了所有词语;

  5. sublinear_tf 用1+log(tf) 代替tf;

  6. ngram_range (min,max) 词语组成长度范围,默认是(1,1) 比如一个文档是[‘i love nlp’] ngram_range=(1,3)时,得到的词语特征是{“i”,“love”,“nlp”,“i love”,“love nlp” ,“ilove nlp”};

  7. token_pattern 正则匹配模式,默认"(?u)\b\w\w+\b" ?u表示对大小写不敏感,\b可理解为空格, \w表示匹配一个字母或数字或下划线或汉字,\w+ 表示匹配一个或多个字母或者数字或者下划线或汉字。默认模式会忽略单个字符,比如文本中有“花儿 真 漂亮 ” “真”这单个词匹配不到的,可根据自己的需求来调整,常见的匹配模式是“(?u)\b\w+\b” 可以匹配到单个字符。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值