8

Jaka jest różnica między categorical_accuracy i sparse_categorical_accuracy w Keras? W metodzie documentation for these metrics nie ma podpowiedzi. Zapytałem też dr. Google'a, że ​​nie znalazłem na nie odpowiedzi.Keras - Różnica między wartością categorical_category a sparse_categoryical_accuracy

Kod źródłowy można znaleźć 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()) 
+0

Może to pomoże: https://stackoverflow.com/a/43546939/3374996. Coś związanego z celami. Nie jestem pewien, czy cele mają na myśli y_true, y_pred są rzadkie, czy też wynik rzetelności kategorycznej jest rzadki. –

Odpowiedz

5

. Patrząc na 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 kontrole, aby sprawdzić, czy wskaźnik od maksymalnej wartości prawdziwej jest równy wskaźnikowi wartości maksymalne przewidywane .

sparse_categorical_accuracy sprawdza, czy maksymalna wartość rzeczywista jest równa indeks maksymalnej przewidywanej wartości.

Z odpowiedzi Marcina powyżej categorical_accuracy odpowiada wektor kodowany one-hot dla y_true.

10

Więc w categorical_accuracy trzeba określić swój cel (y) jako jedną gorącą kodowanego wektora (np w przypadku 3 klas, kiedy prawdziwa klasa druga klasa, y powinny być (0, 1, 0) w sparse_categorical_accuracy trzeba powinien zapewnić tylko liczbę całkowitą prawdziwej klasy. (w przypadku z poprzedniego przykładu - byłoby 1 jako zajęcia indeksowanie jest 0 -na)

+0

Czy moja odpowiedź była pomocna? –

+0

Przydało mi się :) –