首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tfidf向量器和tfidf转换器的区别是什么?

tfidf向量器和tfidf转换器的区别是什么?
EN

Stack Overflow用户
提问于 2019-02-18 10:45:53
回答 4查看 9.5K关注 0票数 6

我知道tfidf vectorizer的公式是

代码语言:javascript
复制
Count of word/Total count * log(Number of documents / no.of documents where word is present)

我看到了在scikit学习中存在着tfidf转换器,我只想区别它们。我找不到任何有用的东西。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-02-18 13:12:53

TfidfVectorizer用于句子,而TfidfTransformer用于现有的计数矩阵,例如CountVectorizer返回的矩阵。

票数 14
EN

Stack Overflow用户

发布于 2019-10-29 16:45:50

阿特姆的回答很大程度上概括了不同之处。为了使事情更清楚,这里有一个例子,引用自这里

TfidfTransformer可用于以下方面:

代码语言:javascript
复制
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer


train_set = ["The sky is blue.", "The sun is bright."] 

vectorizer = CountVectorizer(stop_words='english')
trainVectorizerArray =   vectorizer.fit_transform(article_master['stemmed_content'])

transformer = TfidfTransformer()
res = transformer.fit_transform(trainVectorizerArray)

print ((res.todense()))


## RESULT:  

Fit Vectorizer to train set
[[1 0 1 0]
 [0 1 0 1]]

[[0.70710678 0.         0.70710678 0.        ]
 [0.         0.70710678 0.         0.70710678]]

计数特征提取、TF-IDF归一化和行向欧几里德归一化可以用TfidfVectorizer进行一次操作。

代码语言:javascript
复制
from sklearn.feature_extraction.text import TfidfVectorizer

tfidf = TfidfVectorizer(stop_words='english')
res1 = tfidf.fit_transform(train_set)
print ((res1.todense()))


## RESULT:  

[[0.70710678 0.         0.70710678 0.        ]
 [0.         0.70710678 0.         0.70710678]]

这两个过程产生由相同值组成的稀疏矩阵。

其他有用的参考资料将是转换转换tfidfVectoriser

票数 6
EN

Stack Overflow用户

发布于 2019-12-07 19:19:50

使用Tfidf转换器,您将使用CountVectorizer计算单词计数,然后计算以国防军的值,然后才计算Tf的分数。使用Tfidfvectorizer,您将同时完成所有三个步骤。

我觉得你应该读本文以一个例子对其进行总结。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54745482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档