首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在测试集上应用TFIDF

如何在测试集上应用TFIDF
EN

Stack Overflow用户
提问于 2019-08-20 11:02:14
回答 2查看 2.8K关注 0票数 3

假设我有两个文本文件。文件1包含培训集,它主要用于定义词汇表。文件2是用户输入的单词。

代码语言:javascript
复制
d1 = (
"Project 1 details on Machine learning",
"Project 2 detail on machine learning and statics",
"Project 3 is on mach learn as well"
)

d2 = (
"Projects related to machine learning"
)

现在使用sklearn,我们找到了d1的tfidf

代码语言:javascript
复制
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_vectorizer = TfidfVectorizer()
tfidf_matrix = tfidf_vectorizer.fit_transform(documents)
print( tfidf_matrix.shape)

现在,对于查询d2,我想根据从d1中学到的词汇来计算tfidf向量。我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-20 11:09:45

SKLearn中的任何变压器一样,在火车上使用.fit (在本例中使用.fit_transform(d1) )之后,您可以使用tfidf_vectorizer.transform(d2)对测试集进行transform

票数 4
EN

Stack Overflow用户

发布于 2019-08-20 11:29:47

您可以将_属性从第一个向量化器作为参数传递给第二个向量化器:

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

vectorizer1 = TfidfVectorizer()
vectorizer2 = TfidfVectorizer()

vectorizer1.fit_transform(d1)
vectorizer2 = TfidfVectorizer(vocabulary=vectorizer1.vocabulary_)

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

https://stackoverflow.com/questions/57572184

复制
相关文章

相似问题

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