chainer.functions.classification_summary(y, t, label_num=None, beta=1.0, ignore_label=-1)[source]

適合率(Precision)、 再現率(Recall)、F beta 値、サポートを計算する。

 

この関数は、各クラスで下記の数量を計算します。

  • 適合率(Precision): tptp+fptptp+fp
  • 再現率(Recall): tptp+tntptp+tn
  • F beta値(F beta Score): 適合率と再現率の重み付き調和平均。
  • サポート(Support): 各正解率(Ground Truth)ラベルのインスタンスの数。

ここにそれぞれ真陽性(TP;True Positive)の数を tp、偽陽性(FP;Fales Positive)を fp、真陰性(TN;True Negative)tn と表します。

label_num はクラスの数を示します。つまり、t におけるそれぞれの値は [0, label_num)の範囲にある整数でなければなりません。 label_numNoneの場合、この関数は label_numt における最大値+1とみなします。

 

ignore_label は、どのインスタンスを無視するか決定します。具体的には、与えられたラベルを持つインスタンスは上記のリストの量 を計算する際には考慮されません。デフォルトでは、-1がセットされるため、全てのインスタンスが考慮され、ラベルは非負の整数であるとされます。 ignore_labellabel_num より少ない非負の整数に設定することは規則違反であり、定義されていない挙動を引き起こします。現在の実装では、 RuntimeWarning を発生させ、出力配列中の ignore_label番目のエントリは正しい数量に含まれません。

 

Parameters:
  • y (Variable) – スコアのベクトルを持つVariable
  • t (Variable) –正解率ラベル(Ground Truth)のベクトルを持つVariable
  • label_num (int) – クラスの数
  • beta (float) – F-beta値における適合率の重みを決定するパラメータ。
  • ignore_label (int) – このラベル付きのインスタンスが無視される
Returns:

サイズ(label_num,).の~hainer.Variableの4−タプル。各エレメントは適合率、再現率、F-beta値、このミニバッチのサポートを表している。