我是一个机器学习初学者,我尝试使用余弦相似性的模糊匹配的目的。在下面的示例中,我想比较“data_dirty”和“data_clean”:
当我不得不将我的数据向量化时,我并不真正理解fit_transform的目的,以及为什么'dirty_idf_matrix‘只使用相同的向量器转换参数,而不是'clean_idf_matrix’--如果我理解得很好的话,‘clean_idf_matrix’已经用fit保存了这个值。
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)谢谢你的帮助!
发布于 2020-03-12 01:37:56
我不太清楚您在问什么,但是一般来说,您需要对数据进行fit估计,以便它能够了解它必须做什么,然后使用它来获取transform数据。fit_transform只做fit,然后做transform。在这里,您将转换器安装到Name_clean,然后依次将其应用于两者。这很正常。
https://datascience.stackexchange.com/questions/69554
复制相似问题