首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fit_transform、transform和TfidfVectorizer如何工作

fit_transform、transform和TfidfVectorizer如何工作
EN

Data Science用户
提问于 2020-03-11 23:50:44
回答 1查看 881关注 0票数 2

我是一个机器学习初学者,我尝试使用余弦相似性的模糊匹配的目的。在下面的示例中,我想比较“data_dirty”和“data_clean”:

当我不得不将我的数据向量化时,我并不真正理解fit_transform的目的,以及为什么'dirty_idf_matrix‘只使用相同的向量器转换参数,而不是'clean_idf_matrix’--如果我理解得很好的话,‘clean_idf_matrix’已经用fit保存了这个值。

代码语言:javascript
复制
Col_clean = 'fruits_normalized'
Col_dirty = 'fruits'

#read table
data_dirty={f'{Col_dirty}':['I am an apple', 'You are an apple', 'Aple', 'Appls', 'Apples']}
data_clean= {f'{Col_clean}':['apple', 'pear', 'banana', 'apricot', 'pineapple']}

df_clean = pd.DataFrame(data_clean)
df_dirty = pd.DataFrame(data_dirty)

Name_clean = df_clean[f'{Col_clean}'].unique()
Name_dirty= df_dirty[f'{Col_dirty}'].unique()

vectorizer = TfidfVectorizer(min_df=1, analyzer=ngrams)
clean_idf_matrix = vectorizer.fit_transform(Name_clean)
dirty_idf_matrix = vectorizer.transform(Name_dirty)

谢谢你的帮助!

EN

回答 1

Data Science用户

发布于 2020-03-12 01:37:56

我不太清楚您在问什么,但是一般来说,您需要对数据进行fit估计,以便它能够了解它必须做什么,然后使用它来获取transform数据。fit_transform只做fit,然后做transform。在这里,您将转换器安装到Name_clean,然后依次将其应用于两者。这很正常。

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

https://datascience.stackexchange.com/questions/69554

复制
相关文章

相似问题

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