2016年8月26日金曜日

開発環境

Elegant Scipy (Juan Nunez-iglesias (著)、Stéfan Van Der Walt (著)、Harriet Dashnow (著)、 O'Reilly Media)のChapter 5.(Contingency tables using sparse coordinate matrices)、Back to contingency matrices の Exercise(No. 3356) を取り組んでみる。

Exercise(No. 3356)

コード(Emacs)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import numpy as np
from scipy import sparse

def confusion_matrix(pred, gt):
    cont = sparse.coo_matrix((np.broadcast_to(1, pred.size), (pred, gt)))
    return cont

if __name__ == '__main__':
    pred = np.array([0, 1, 0, 0, 1, 1, 1, 0, 1, 1])
    gt = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])
    cont = confusion_matrix(pred, gt)
    print(cont)
    print(cont.todense())

入出力結果(Terminal, IPython)

$ ./sample4.py
  (0, 0) 1
  (1, 0) 1
  (0, 0) 1
  (0, 0) 1
  (1, 0) 1
  (1, 1) 1
  (1, 1) 1
  (0, 1) 1
  (1, 1) 1
  (1, 1) 1
[[3 1]
 [2 4]]
$ 

0 コメント:

コメントを投稿