python相似性檢測的安裝包

2021-07-27 17:38:21 字數 2608 閱讀 9295

安裝python-levenshtein模組

pip install python-levenshtein

使用python-levenshtein模組

import levenshtein

演算法說明

1). levenshtein.hamming(str1, str2)

計算漢明距離

。要求str1和str2必須長度一致。是描述兩個等長字串之間對應 位置上不同字元的個數。

2). levenshtein.distance(str1, str2)

計算編輯距離

(也稱為 levenshtein距離)。是描述由乙個字串轉化成另乙個字串最少的操作次數,在其中的操作包括插入、刪除、替換。

演算法實現參考

動態規劃

整理。3). levenshtein.ratio(str1, str2)

計算萊文斯坦比。計算公式r = (sum - ldist) / sum, 其中sum是指str1 和 str2 字串的長度總和,ldist是 類

編輯距離

注意 :這裡的類

編輯距離

不是2中所說的編輯距離,2中三種操作中每個操作+1,而在此處,刪除、插入依然+1,但是替換+2

這樣設計的目的:ratio('a', 'c'),sum=2, 按2中計算為(2-1)/2 = 0.5,』a','c'沒有重合,顯然不合算,但是替換操作+2,就可以解決這個問題。

4). levenshtein.jaro(s1 , s2 )

計算jaro距離,

其中的 m 為s1 , s2的匹配長度,當某位置的認為匹配當該位置字元相同,或者在不超過

t是調換次數的一半

5.) levenshtein.jaro_winkler(s 1 , s 2 )

計算 jaro–winkler距離:

import levenshtein 報錯:importerror: no module named levenshtein

1.設定環境變數,執行:

set vs90comntools=%vs100comntools%

2.再去安裝:

setup.py install

就可以正常,編譯,安裝了。

$ python

>>> import levenshtein

>>> help(levenshtein.ratio)

ratio(...)

compute similarity of two strings.

ratio(string1, string2)

the similarity is a number between 0 and 1, it's usually equal or

somewhat higher than difflib.sequencematcher.ratio(), becuase it's

based on real minimal edit distance.

examples:

>>> ratio('hello world!', 'holly grail!')

0.58333333333333337

>>> ratio('brian', 'jesus')

0.0>>> help(levenshtein.distance)

distance(...)

compute absolute levenshtein distance of two strings.

distance(string1, string2)

examples (it's hard to spell levenshtein correctly):

>>> distance('levenshtein', 'lenvinsten')

4>>> distance('levenshtein', 'levensthein')

2>>> distance('levenshtein', 'levenshten')

1>>> distance('levenshtein', 'levenshtein')

0

第二種方法安裝

參考部落格:

安裝pip install

python-levenshtein,出現錯誤:microsoft visual c++ 14.0 is required

出現錯誤主要是因為直接使用 pip install 【第三方庫名】 安裝自己需要的第三方庫。

解決辦法:

一定要安裝和自己windows版本和python版本對應的第三方庫

安裝步驟:

然後:然後在控制台上切換到放置位置後輸入pip install python_levenshtein-0.12.0-cp36-cp36m-win_amd64.whl

就完成了!!!

奶牛的相似性

奶牛的相似性 description 農夫約翰有兩頭奶牛,他想要知道,這兩頭奶牛到底有多相似,所以他給每頭奶牛拍了mn 指m行n列 的數碼相片,他想要你寫乙個程式幫助他。mn的數碼相片可以分辨出奶牛身上黑色和白色的斑塊,下面是兩頭奶牛的數碼 x 表示黑色部分,表示白色部分 其中m 5,n 7。奶牛1...

基於Python計算余弦相似性

在我們計算相似度時,常常用到余弦夾角來判斷兩個向量或者矩陣之間的相似度,cosine 余弦相似度 取值範圍 1,1 當兩個向量的方向重合時夾角余弦取最大值1,當兩個向量的方向完全相反夾角余弦取最小值 1,兩個方向正交時夾角余弦取值為0。x 1x 1 x1 和 x 2x 2 x2 分別是輸入的兩個向量...

訊號相似性的描述

訊號相似性的描述 在很多的應用場合,經常要描述兩個訊號的相似性。比如在雷達的訊號檢測中,要比較所接收的訊號是否就是發射訊號的延時。有時候,甚至還要描述乙個訊號本身的相似性,比如在語音編碼中,要通過語音頻號本身的相似性,來 下一時刻的訊號值。我們知道,在訊號處理中,用相關函式來描述訊號的相似性。描述兩...