使用 SciPy 計算漢明距離
漢明距離計算兩個二進位制向量之間的距離。當我們對資料的分類列使用獨熱編碼時,我們通常會找到二進位制字串。在獨熱編碼中,整數變數被移除,並且對於每個唯一的整數值,都會新增一個新的二進位制變數。例如,如果一列包含類別“長度”、“寬度”和“廣度”。我們可能會將每個示例作為如下所示的每個列的一個位的位串進行獨熱編碼:
長度 = [1, 0, 0]
寬度 = [0, 1, 0]
廣度 = [0, 0, 1]
上面提到的任何兩個類別之間的漢明距離,可以計算為兩個二進位制字串之間位差異的總和或平均數。我們可以看到,長度和寬度類別之間的漢明距離約為 2/3 或 0.666,因為 3 個位置中有 2 個是不同的。
漢明距離也將決定分類變數之間的相似性。例如,假設我們有兩個字串:
“Google” 和 “Goagle”
這兩個字串的長度相同,因此我們可以計算它們之間的漢明距離。我們將從逐一匹配字元開始。兩個字串中的第一個和第二個字元相同。第三個字元不同,但其餘所有字元也相同,因此上述字串之間的漢明距離為 1。
漢明距離僅適用於長度相同的字串。字串之間的漢明距離越大,字串的差異就越大,反之亦然。
讓我們看看如何使用 SciPy 庫計算兩個字串的漢明距離:
示例
# Importing the SciPy library
from scipy.spatial import distance
# Defining the strings
A = 'Google'
B = 'Goagle'
A, B
# Computing the Hamming distance
hamming_distance = distance.hamming(list(A), list(B))*len(A)
print('Hamming Distance b/w', A, 'and', B, 'is: ', hamming_distance)輸出
Hamming Distance b/w Google and Goagle is: 1.0
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP