[英]Python sklearn cosine-similarity loop for all records
我有名為 df 的 dataframe。 我正在使用下面的代碼來獲取每一行的余弦相似度:
vectorizer = CountVectorizer()
features = vectorizer.fit_transform(df['name']).todense()
for f in features:
for index, row in df.iterrows():
df['index'+str(index)] = pd.DataFrame(cosine_similarity(features,f))
df
但是 output DataFrame 對每條記錄顯示相同的結果,我假設它指的是最后一條記錄:
name index0 index1 index2 index3 index4
0 aaaabbbbbbcccc 0.158114 0.158114 0.158114 0.158114 0.158114
1 ddddffffffgggg 0.204124 0.204124 0.204124 0.204124 0.204124
2 hhhhhhiiiiiijjjjj 0.158114 0.158114 0.158114 0.158114 0.158114
3 kkkkkklllllllmmmm 0.235702 0.235702 0.235702 0.235702 0.235702
4 mmmmmnnnnnnooooooo 1.000000 1.000000 1.000000 1.000000 1.000000
我想要所有記錄的 output
IIUC 您只需要:
for i, f in enumerate(features):
address['index'+str(i)] = pd.DataFrame(cosine_similarity(features,f))
address
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.