使用Python計算兩個不同列表的相似度
數(shù)字類型相似度
可以使用余弦相似度來計算兩個列表的相似度。
具體步驟如下:
- 將兩個列表轉(zhuǎn)化為向量形式,即將列表中的元素作為向量的分量。
- 計算向量的點積。
- 計算向量的模長。
- 計算余弦值。
- 將余弦值作為相似度。
Python代碼實現(xiàn):
import math
def cosine_similarity(list1, list2):
dot_product = sum([list1[i]*list2[i] for i in range(len(list1))])
norm1 = math.sqrt(sum([x**2 for x in list1]))
norm2 = math.sqrt(sum([x**2 for x in list2]))
similarity = dot_product / (norm1 * norm2)
return similarity
# 示例
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
similarity = cosine_similarity(list1, list2)
print(similarity)輸出結(jié)果為:
0.9970544855015815
表示兩個列表的相似度很高。
字符串類型相似度
可以使用Jaccard相似度來計算兩個字符串列表的相似度。
Jaccard相似度是通過計算兩個集合的交集與并集之比來衡量它們的相似程度。具體步驟如下:
- 將兩個列表轉(zhuǎn)化為集合形式,即將列表中的元素作為集合的元素。
- 計算兩個集合的交集。
- 計算兩個集合的并集。
- 計算交集與并集之比。
- 將比值作為相似度。
Python代碼實現(xiàn):
def jaccard_similarity(list1, list2):
set1 = set(list1)
set2 = set(list2)
intersection = len(set1.intersection(set2))
union = len(set1.union(set2))
similarity = intersection / union
return similarity
# 示例
list1 = ['apple', 'banana', 'orange']
list2 = ['apple', 'pear', 'peach']
similarity = jaccard_similarity(list1, list2)
print(similarity)輸出結(jié)果為:
0.25
表示兩個字符串列表的相似度較低。
到此這篇關(guān)于使用Python計算兩個不同列表的相似度的文章就介紹到這了,更多相關(guān)Python計算列表相似度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 創(chuàng)建一個空dataframe 然后添加行數(shù)據(jù)的實例
今天小編就為大家分享一篇python 創(chuàng)建一個空dataframe 然后添加行數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
pytorch之torch.flatten()和torch.nn.Flatten()的用法
這篇文章主要介紹了pytorch之torch.flatten()和torch.nn.Flatten()的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
python教程之利用pyautogui圖形自動化擊敗重復性辦公任務
在使用Python做腳本的話,有兩個庫可以使用,一個為PyUserInput庫,另一個為pyautogui庫,就本人而言更喜歡使用pyautogui庫,該庫功能多,使用便利,下面這篇文章主要給大家介紹了關(guān)于python教程之利用pyautogui圖形自動化擊敗重復性辦公任務的相關(guān)資料,需要的朋友可以參考下2022-03-03
Python中的?Numpy?數(shù)組形狀改變及索引切片
這篇文章主要介紹了Python中的?Numpy?數(shù)組形狀改變及索引切片,Numpy提供了一個reshape()方法,它可以改變數(shù)組的形狀,返回一個新的數(shù)組,更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章2022-05-05
利用Pytorch實現(xiàn)ResNet網(wǎng)絡(luò)構(gòu)建及模型訓練
這篇文章主要為大家介紹了利用Pytorch實現(xiàn)ResNet網(wǎng)絡(luò)構(gòu)建及模型訓練詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Jupyter notebook中如何添加Pytorch運行環(huán)境
這篇文章主要介紹了Jupyter notebook中如何添加Pytorch運行環(huán)境,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02

