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