欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中計算相似度的方法詳解

 更新時間:2025年02月19日 09:52:45   作者:mob64ca12d8c182  
計算相似度是許多機器學習和數(shù)據(jù)分析任務中的重要步驟,尤其是在推薦系統(tǒng)、文本分析和圖像處理等領域,下面我們就來看看具體的實現(xiàn)方法吧

計算相似度是許多機器學習和數(shù)據(jù)分析任務中的重要步驟,尤其是在推薦系統(tǒng)、文本分析和圖像處理等領域。相似度的計算有多種方法,每種方法適用于不同類型的數(shù)據(jù)。本文將探討如何在 Python 中計算相似度,提供示例代碼,并使用流程圖和旅行圖來表述我們的思路。

1. 相似度計算的基本概念

相似度是用來量化對象之間的相似程度的指標。相似度通常取值在 0 到 1 之間,值越接近 1 表示越相似。常見的相似度計算方法包括:

  • 余弦相似度(Cosine Similarity)
  • 歐氏距離(Euclidean Distance)
  • 曼哈頓距離(Manhattan Distance)
  • 杰卡德相似度(Jaccard Similarity)

2. 余弦相似度

余弦相似度是一種衡量兩個非零向量夾角的相似度,計算公式為:

[ \text{cosine_similarity} = \frac{A \cdot B}{|A| |B|} ]

import numpy as np

def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

# 示例
vector_a = np.array([1, 2, 3])
vector_b = np.array([4, 5, 6])
similarity = cosine_similarity(vector_a, vector_b)
print(f'余弦相似度: {similarity}')

3. 歐氏距離

歐氏距離是計算兩點之間的“直線”距離,計算公式為:

[ \text{Euclidean Distance} = \sqrt{\sum (a_i - b_i)^2} ]

示例代碼

from scipy.spatial import distance

def euclidean_distance(a, b):
    return distance.euclidean(a, b)

# 示例
vector_a = np.array([1, 2, 3])
vector_b = np.array([4, 5, 6])
dist = euclidean_distance(vector_a, vector_b)
print(f'歐氏距離: {dist}')

4. 曼哈頓距離

曼哈頓距離計算兩點在坐標軸上各分量的絕對差值的總和,計算公式為:

[ \text{Manhattan Distance} = \sum |a_i - b_i| ]

示例代碼

def manhattan_distance(a, b):
    return np.sum(np.abs(a - b))# 示例
vector_a = np.array([1, 2, 3])


vector_b = np.array([4, 5, 6])
dist = manhattan_distance(vector_a, vector_b)
print(f'曼哈頓距離: {dist}')

5. 杰卡德相似度

杰卡德相似度用于測量有限樣本集合之間的相似性,計算公式為:

[ \text{Jaccard Similarity} = \frac{|A \cap B|}{|A \cup B|} ]

示例代碼

def jaccard_similarity(set_a, set_b):
    intersection = len(set_a.intersection(set_b))
    union = len(set_a.union(set_b))
    return intersection / union

# 示例
set_a = {1, 2, 3}
set_b = {3, 4, 5}
similarity = jaccard_similarity(set_a, set_b)
print(f'杰卡德相似度: {similarity}')

6. 流程分析

計算相似度的基本流程如下:

7. 旅行圖

在數(shù)據(jù)分析的旅程中,我們可以將每個步驟視為旅途中的一個環(huán)節(jié),以下是我們的數(shù)據(jù)計算之旅:

到此這篇關于Python中計算相似度的方法詳解的文章就介紹到這了,更多相關Python計算相似度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python輕松查到刪除自己的微信好友

    python輕松查到刪除自己的微信好友

    這篇文章主要介紹了python腳本快速查看自己被多少微信好友刪除的方法,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Python descriptor(描述符)的實現(xiàn)

    Python descriptor(描述符)的實現(xiàn)

    這篇文章主要介紹了Python descriptor(描述符)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Tensorflow中TFRecord生成與讀取的實現(xiàn)

    Tensorflow中TFRecord生成與讀取的實現(xiàn)

    TFRecord格式的文件存儲形式會很合理的幫我們存儲數(shù)據(jù),本文主要介紹了Tensorflow中TFRecord生成與讀取的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Python文件去除注釋的方法

    Python文件去除注釋的方法

    這篇文章主要介紹了Python文件去除注釋的方法,涉及Python正則表達式及文件操作的相關技巧,需要的朋友可以參考下
    2015-05-05
  • selenium + python 獲取table數(shù)據(jù)的示例講解

    selenium + python 獲取table數(shù)據(jù)的示例講解

    今天小編就為大家分享一篇selenium + python 獲取table數(shù)據(jù)的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 什么是Python中的匿名函數(shù)

    什么是Python中的匿名函數(shù)

    在本篇文章里小編給大家整理的是關于Python匿名函數(shù)知識點總結(jié),需要的朋友們可以學習參考下。
    2020-06-06
  • python采集微信公眾號文章

    python采集微信公眾號文章

    這篇文章主要為大家詳細介紹了python采集微信公眾號文章的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • python人工智能使用RepVgg實現(xiàn)圖像分類示例詳解

    python人工智能使用RepVgg實現(xiàn)圖像分類示例詳解

    這篇文章主要介紹了python人工智能使用RepVgg實現(xiàn)圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Python實現(xiàn)的多線程端口掃描工具分享

    Python實現(xiàn)的多線程端口掃描工具分享

    這篇文章主要介紹了Python實現(xiàn)的多線程端口掃描工具分享,工具實現(xiàn)了掃單IP和掃IP段功能,本文給出運行效果和實現(xiàn)源碼,需要的朋友可以參考下
    2015-01-01
  • 基于Python和C++實現(xiàn)刪除鏈表的節(jié)點

    基于Python和C++實現(xiàn)刪除鏈表的節(jié)點

    這篇文章主要介紹了基于Python和C++實現(xiàn)刪除鏈表的節(jié)點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07

最新評論