NMI(標準化互資訊) python實現__python

來源:互聯網
上載者:User
介紹

NMI是社區發現(community detection)在有標準ground-truth的情況下的重要衡量指標,基本可以比較客觀地評價出一個社區劃分與標準劃分之間相比的準確度。NMI的範圍是0到1,越高代表劃分得越准。具體的原理和例子可以參考這篇部落格:http://www.cnblogs.com/ziqiao/archive/2011/12/13/2286273.html
因為之前自己要用到,但是發現在網上現成的計算NMI的代碼基本都是matlab的和java的,沒找到用python寫的。所以今天閑來無事,把上面部落格中的matlab實現方法用python實現了一下。將來就可以直接用了。 代碼

其實代碼很簡單,就是參考部落格中直接從matlab翻譯成python,不過有一些小坑而已。

直接給代碼,跟部落格中的沒什麼區別啦,這裡解釋一下代碼中的eps是一個很小的正數,為了防止log函數中參數為0而已。
為了方便大家使用python的話可以直接用,最後附有下載地址。 結果

使用代碼中的用例,可以看到,如果輸出的結果是0.36456,說明結果就是正確的。 下載地址

CDNS下載
沒積分的也可以github下載:
github下載連結
記得給star喔~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.