[英]How to get percentage similarity between two float values dataframe in Python?
[英]how to find percentage of similarity between two arrays
我有兩個數據 arrays x 和 y:
x = array([ 0., 0., 84., 80., 59., 22., 0., 0., 0., 0., 52.,
122., 117., 1., 10., 0., 0., 0., 0., 0., 0., 92.,
90., 74., 46., 0., 0., 0., 0., 28., 121., 117., 90.,
54., 0., 0., 0., 0., 0., 0., 47., 62., 54., 57.,
23., 63., 26., 62., 52., 138., 126., 98., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 19., 44., 74., 89., 119.,
77., 141., 137., 119., 0., 0., 0., 0., 91., 115., 89.,
143., 146., 45., 0., 0., 0., 65., 89., 1., 0., 0.,
0.])
y = array([ 0., 0., 79., 90., 64., 3., 0., 0., 0., 0., 19.,
113., 109., 1., 25., 0., 0., 0., 0., 0., 0., 90.,
99., 73., 35., 0., 0., 0., 0., 46., 106., 113., 105.,
52., 0., 0., 0., 0., 0., 0., 57., 68., 47., 20.,
0., 17., 1., 14., 48., 120., 118., 105., 0., 0., 0.,
0., 0., 0., 4., 1., 0., 0., 0., 42., 47., 80.,
86., 125., 121., 111., 16., 0., 0., 0., 47., 72., 112.,
123., 129., 82., 0., 0., 0., 87., 80., 0., 0., 5.,
0.])
我想檢查程序代碼中 x 和 y 之間的相似性。 我試過使用SequenceMatcher()但我不確定使用 package 的相似度表示結果。因為當看到圖形時它非常相似,但相似度的呈現結果只有 39.33%,所以對我來說有點奇怪。 是否有另一種方法來檢查 x 和 y 數據之間的相似性,如果是,如何以及基於使用什么樣的數學公式,謝謝
我使用 SequenceMatcher() 檢查相似性的代碼
import difflib
from difflib import SequenceMatcher
sm=difflib.SequenceMatcher(None,x,y)
a = sm.ratio()*100
print('Similarity x and Testing y : ',round(a, 2),'%')
考慮采用互相關 function: https://en.wikipedia.org/wiki/Cross-correlation
討論: 計算互相關 function?
Numpy 實施: https://numpy.org/doc/stable/reference/generated/numpy.correlate.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.