tfidfVectorizer个人理解

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

tfidfVectorizer个人理解

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” 可以匹配到单个字符。

Original: https://blog.csdn.net/weixin_46359803/article/details/124188977
Author: 种下仲夏
Title: tfidfVectorizer个人理解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/528006/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球