【发布时间】:2022-01-05 22:55:39
【问题描述】:
我的推荐系统有以下代码,它给出了不同的输出。
场景 1:
a = df[df.index == 5031]
b = df[df.index == 9365]
print(cosine_similarity(a,b)) #0.33
场景 2:
cosine_sim = cosine_similarity(df)
print(cosine_sim[5031][9365]) #0.25
我认为这两种情况的输出应该是相同的。根据数据,我觉得场景1更准确。 有人可以帮忙吗?
数据框看起来像这样。
【问题讨论】:
-
你的
df看起来怎么样? -
嗨i.stack.imgur.com/okwtm.png这就是@Jamjitul的样子
-
场景一使用索引,场景二使用位置,它们并不总是相同的。
-
@jwzinserl。感谢你的回复。是否可以使用整个数据帧的索引?
-
你在使用
sklearn.metrics.pairwise.cosine_similarity吗?其输出将具有基于整数位置的索引,该索引可能与数据帧中的索引不同。如果您还使用基于整数位置的索引来获取 a 和 b 向量,那么您应该得到相同的结果。a = df.iloc[5031]和b = df.iloc[9365]
标签: python data-science cosine-similarity