簡體   English   中英

所有記錄的 Python sklearn 余弦相似度循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM