Python實(shí)現(xiàn)的計(jì)算馬氏距離算法示例
本文實(shí)例講述了Python實(shí)現(xiàn)的計(jì)算馬氏距離算法。分享給大家供大家參考,具體如下:
我給寫成函數(shù)調(diào)用了
python實(shí)現(xiàn)馬氏距離源代碼:
# encoding: utf-8 from __future__ import division import sys reload(sys) sys.setdefaultencoding('utf-8') import numpy as np def mashi_distance(x,y): print x print y #馬氏距離要求樣本數(shù)要大于維數(shù),否則無(wú)法求協(xié)方差矩陣 #此處進(jìn)行轉(zhuǎn)置,表示10個(gè)樣本,每個(gè)樣本2維 X=np.vstack([x,y]) print X XT=X.T print XT #方法一:根據(jù)公式求解 S=np.cov(X) #兩個(gè)維度之間協(xié)方差矩陣 SI = np.linalg.inv(S) #協(xié)方差矩陣的逆矩陣 #馬氏距離計(jì)算兩個(gè)樣本之間的距離,此處共有4個(gè)樣本,兩兩組合,共有6個(gè)距離。 n=XT.shape[0] d1=[] for i in range(0,n): for j in range(i+1,n): delta=XT[i]-XT[j] d=np.sqrt(np.dot(np.dot(delta,SI),delta.T)) print d d1.append(d) if __name__ == '__main__': # 第一列 x = [3, 5, 2, 8] # 第二列 y = [4, 6, 2, 4] mashi_distance(x,y)
運(yùn)行結(jié)果:
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之knn算法pandas
這篇文章主要為大家詳細(xì)介紹了機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之knn算法pandas,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06python中斷time.sleep一種更優(yōu)雅的方式:event.wait
這篇文章主要介紹了python中斷time.sleep一種更優(yōu)雅的方式:event.wait,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Python關(guān)于拓?fù)渑判蛑R(shí)點(diǎn)講解
在本篇文章里小編給大家分享了一篇關(guān)于Python關(guān)于拓?fù)渑判蛑R(shí)點(diǎn)講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-01-01解決Python 使用h5py加載文件,看不到keys()的問(wèn)題
今天小編就為大家分享一篇解決Python 使用h5py加載文件,看不到keys()的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02python基于itchat實(shí)現(xiàn)微信群消息同步機(jī)器人
本篇文章主要介紹了python基于itchat實(shí)現(xiàn)微信群消息同步機(jī)器人,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02python通過(guò)Windows下遠(yuǎn)程控制Linux系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python通過(guò)Windows下遠(yuǎn)程控制Linux系統(tǒng),實(shí)現(xiàn)對(duì)socket模塊認(rèn)識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06pytorch中torch.topk()函數(shù)的快速理解
我們?cè)谧龇诸愃惴〞r(shí),時(shí)常見(jiàn)到@acc1和@acc5的情況,@acc1比較容易實(shí)現(xiàn),但是一直苦于@acc5算法的實(shí)現(xiàn),在此為大家提供一種@topk的實(shí)現(xiàn)方法,這篇文章主要給大家介紹了關(guān)于pytorch中torch.topk()函數(shù)的快速理解,需要的朋友可以參考下2022-02-02