質問内容
多クラス分類の場合、tensorflowでAUC(ROC-AUC)を計算してくれるtf.keras.metrics.AUCの中では、どのような計算が行われているのでしょうか。
コードも読んでみたのですが、いったいどこで計算されているのか見つけることができませんでした。
もしよろしければ、どのあたりを見て判断できたのかも教えていただけますと幸いです。
ご回答何卒よろしくお願いいたします。
参考までに
ROC-AUCは、ROC曲線の下部の面積だと思います。
これを描くには混同行列を考える必要があります。
しかし、混同行列(positive-negative)を考える際には、positiveとnegativeの二つの要素のみで考える必要があります。
多クラス分類におけるROC-AUCの計算方法は、一般に二つあるようです。
sklearnのAUCでは、OvOとOvRのどちらの方法をとるか指定できるようです。
tensorflowではどちらの方法をとっているのでしょうか。
多クラス分類におけるROC-AUCの計算方法について
0. One vs Rest (OvR) :
あるクラスと残りのクラスの2クラス分類を考える。NクラスあればNパターン計算できるので、その結果の平均をとって全体のAUCとする。
0. One vs One (OvO) :
二つのクラスを選び2クラス分類を考える。NクラスあればC(N,2)パターン計算できるので、その結果の平均をとって全体のAUCとする。
あなたの回答
tips
プレビュー