chainer.functions.binary_accuracy(y, t)[source]

2クラス分類のミニバッチの正解率を計算する。

 

Parameters:
  • y (Variable or numpy.ndarray or cupy.ndarray) –配列。この配列のi番目の要素は、i番目のサンプルにおける正のスコアを示している。予測ラベル t̂ [i]t^[i] は  y[i] >= 0 の場合1 、それ以外では  0
  • t (Variable or numpy.ndarray or cupy.ndarray) – 正解率データ(Ground Truth)ラベルの符号付き整数ベクトルを保持している配列。  t[i] == 1 の場合、これはi番目のサンプルが正であることを示している。 t[i] == 0 の場合、i番目のサンプルが負であることを示している。 t[i] == -1 の場合、相応するy[i] は無視される。 全ての正解率(Ground Truth)ラベルが -1の場合、正解率は0。
Returns:

正解率のスカラ配列を保持するVariable 。

Return type:

Variable

Note

この関数は微分不可能です。

 

Example

 

最も一般的な y が2次元配列である場合を示しています。


>>> y = np.array([[-2.0, 0.0], # prediction labels are [0, 1]

... [3.0, -5.0]]) # prediction labels are [1, 0]
>>> t = np.array([[0, 1],
... [1, 0]], 'i')
>>> F.binary_accuracy(y, t).data # 100% accuracy because all samples are correct.
array(1.0)
>>> t = np.array([[0, 0], ... [1, 1]], 'i')
>>> F.binary_accuracy(y, t).data # 50% accuracy because y[0][0] and y[1][0] are correct.
array(0.5)
>>> t = np.array([[0, -1], ... [1, -1]], 'i')
>>> F.binary_accuracy(y, t).data # 100% accuracy because of ignoring y[0][1] and y[1][1].
array(1.0)