Kerasのcategorical_accuracy
とsparse_categorical_accuracy
の違いは何ですか? これらのメトリクスのドキュメント にはヒントがなく、Google博士に尋ねても、その答えは見つかりませんでした。
ソースコードを見つけることができます here :
def categorical_accuracy(y_true, y_pred):
return K.cast(K.equal(K.argmax(y_true, axis=-1),
K.argmax(y_pred, axis=-1)),
K.floatx())
def sparse_categorical_accuracy(y_true, y_pred):
return K.cast(K.equal(K.max(y_true, axis=-1),
K.cast(K.argmax(y_pred, axis=-1), K.floatx())),
K.floatx())
source を見て
def categorical_accuracy(y_true, y_pred):
return K.cast(K.equal(K.argmax(y_true, axis=-1),
K.argmax(y_pred, axis=-1)),
K.floatx())
def sparse_categorical_accuracy(y_true, y_pred):
return K.cast(K.equal(K.max(y_true, axis=-1),
K.cast(K.argmax(y_pred, axis=-1), K.floatx())),
K.floatx())
categorical_accuracy
は、最大真値のindexがindex最大予測値の。
sparse_categorical_accuracy
は、最大の真値が最大予測値のindexと等しいかどうかを確認します。
上記のMarcinの回答から、categorical_accuracy
はone-hot
のy_true
エンコードされたベクトルに対応しています。