最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 馬氏距離求取函數(shù)詳解

 更新時(shí)間:2021年11月16日 15:24:55   作者:蘇蘇與阿言  
這篇文章主要為大家介紹了Python 馬氏距離求取函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

馬氏距離區(qū)別于歐式距離,如百度知道中所言:

馬氏距離(Mahalanobis distance)是由印度統(tǒng)計(jì)學(xué)家馬哈拉諾比斯(P. C. Mahalanobis)提出的,表示點(diǎn)與一個(gè)分布之間的距離。它是一種有效的計(jì)算兩個(gè)未知樣本集的相似度的方法。與 歐氏距離不同的是,它考慮到各種特性之間的聯(lián)系(例如:一條關(guān)于身高的信息會(huì)帶來(lái)一條關(guān)于體重的信息,因?yàn)閮烧呤怯嘘P(guān)聯(lián)的),并且是尺度無(wú)關(guān)的(scale-invariant),即獨(dú)立于測(cè)量尺度。對(duì)于一個(gè)均值為μ, 協(xié)方差矩陣為Σ的多變量向量,其馬氏距離為sqrt( (x-μ)'Σ^(-1)(x-μ) )。

因此,對(duì)于馬氏距離最終的定義式為:

上代碼,將馬氏距離求取式,封裝為Python函數(shù),拷貝即可使用:

from numpy import *
import numpy
def get_mahalanobis(x, i, j):
    xT = x.T  # 求轉(zhuǎn)置
    D = numpy.cov(xT)  # 求協(xié)方差矩陣
    invD = numpy.linalg.inv(D)  # 協(xié)方差逆矩陣
    assert 0 <= i < x.shape[0], "點(diǎn) 1 索引超出樣本范圍。"
    assert -1 <= j < x.shape[0], "點(diǎn) 2 索引超出樣本范圍。"
    x_A = x[i]
    x_B = x.mean(axis=0) if j == -1 else x[j]
    tp = x_A - x_B
    return numpy.sqrt(dot(dot(tp, invD), tp.T))

使用方式如下:

if __name__ == '__main__':
    # 初始化數(shù)據(jù)點(diǎn)集,或者從其它地方加載
    x = numpy.array([[3, 4], [5, 6], [2, 2], [8, 4]])
    # 求第0個(gè)點(diǎn)到均值之間的馬氏距離(j為-1時(shí)代表均值)
    print(get_mahalanobis(x, 0, -1))
    # 求第0個(gè)點(diǎn)到第1個(gè)點(diǎn)之間的馬氏距離
    print(get_mahalanobis(x, 0, 1))
    # 求第2個(gè)點(diǎn)到第3個(gè)點(diǎn)之間的馬氏距離(索引從0開(kāi)始算起)
    print(get_mahalanobis(x, 2, 3))

運(yùn)行結(jié)果貼圖

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python實(shí)現(xiàn)磁盤日志清理的示例

    python實(shí)現(xiàn)磁盤日志清理的示例

    這篇文章主要介紹了python實(shí)現(xiàn)磁盤日志清理的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • python自帶的http模塊詳解

    python自帶的http模塊詳解

    本文主要是給大家詳細(xì)講解了Python中自帶的http模塊的使用方法和實(shí)例,非常的細(xì)致,有需要的小伙伴可以參考下
    2016-11-11
  • 多線程爬蟲(chóng)批量下載pcgame圖片url 保存為xml的實(shí)現(xiàn)代碼

    多線程爬蟲(chóng)批量下載pcgame圖片url 保存為xml的實(shí)現(xiàn)代碼

    用Python寫的多線程爬蟲(chóng)批量下載pcgame的圖片url并保存為xml格式,主要是邏輯代碼,喜歡的朋友可以測(cè)試下
    2013-01-01
  • Python如何避免文件同名產(chǎn)生覆蓋

    Python如何避免文件同名產(chǎn)生覆蓋

    這篇文章主要介紹了Python如何避免文件同名產(chǎn)生覆蓋,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python如何繪制路段時(shí)變車速熱力圖

    python如何繪制路段時(shí)變車速熱力圖

    本文通過(guò)熱力圖形式展示了24小時(shí)內(nèi)某個(gè)路段的車速變化和特定時(shí)刻某條路徑的車速情況,數(shù)據(jù)是通過(guò)Numpy隨機(jī)生成的,用以模擬真實(shí)的車速情況,文章還展示了如何利用pandas和seaborn庫(kù)中的pivot_table()和heatmap()函數(shù)生成熱力圖
    2024-09-09
  • 將python安裝信息加入注冊(cè)表的示例

    將python安裝信息加入注冊(cè)表的示例

    今天小編就為大家分享一篇將python安裝信息加入注冊(cè)表的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Pytorch搭建YoloV5目標(biāo)檢測(cè)平臺(tái)實(shí)現(xiàn)過(guò)程

    Pytorch搭建YoloV5目標(biāo)檢測(cè)平臺(tái)實(shí)現(xiàn)過(guò)程

    這篇文章主要為大家介紹了Pytorch搭建YoloV5目標(biāo)檢測(cè)平臺(tái)實(shí)現(xiàn)過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Python警察與小偷的實(shí)現(xiàn)之一客戶端與服務(wù)端通信實(shí)例

    Python警察與小偷的實(shí)現(xiàn)之一客戶端與服務(wù)端通信實(shí)例

    這篇文章主要介紹了Python警察與小偷的實(shí)現(xiàn)之一客戶端與服務(wù)端通信實(shí)例,并附有難點(diǎn)及易錯(cuò)點(diǎn)的分析與說(shuō)明,需要的朋友可以參考下
    2014-10-10
  • pandas行和列的獲取的實(shí)現(xiàn)

    pandas行和列的獲取的實(shí)現(xiàn)

    本文主要介紹了pandas行和列的獲取的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python+selenium破解拼圖驗(yàn)證碼的腳本

    Python+selenium破解拼圖驗(yàn)證碼的腳本

    很多網(wǎng)站在登錄或者注冊(cè)時(shí)都會(huì)遇到拼圖驗(yàn)證碼,這種拼圖驗(yàn)證碼實(shí)際上是多個(gè)小碎片經(jīng)過(guò)重新組合成的一張整體。本文將和大家分享一個(gè)基于Python selenium的破解拼圖驗(yàn)證碼的腳本,需要的可以參考一下
    2022-02-02

最新評(píng)論

伊春市| 镇雄县| 会同县| 五台县| 万宁市| 廊坊市| 固镇县| 江口县| 巴塘县| 浏阳市| 潞西市| 龙井市| 黑山县| 西乌珠穆沁旗| 惠东县| 安溪县| 通山县| 云安县| 凤阳县| 辽源市| 同德县| 曲水县| 潍坊市| 万全县| 石渠县| 保康县| 莱州市| 台东市| 株洲市| 民乐县| 通河县| 中江县| 绥芬河市| 淮安市| 会泽县| 鄂尔多斯市| 天镇县| 怀集县| 都安| 三穗县| 鄂托克前旗|