Перейти к содержанию

Метрики

Использование метрик

Метрика — это функция, которая используется для оценки работы вашей модели. Метрические функции предоставляются в параметре метрики при компиляции модели.

model.compile(loss=’mean_squared_error’,

              optimizer=’sgd’,

              metrics=[‘mae’, ‘acc’])

from keras import metrics

model.compile(loss=’mean_squared_error’,

              optimizer=’sgd’,

              metrics=[metrics.mae, metrics.categorical_accuracy])

Метрическая функция похожа на функцию потерь, за исключением того, что результаты оценки метрики не используются при обучении модели. В качестве метрической функции можно использовать любую из функций потерь.

Вы можете либо передать имя существующей метрики, либо передать символическую функцию Theano/TensorFlow (см. «Пользовательские метрики»).

Аргументы

  • y_true: Истинные метки. Тензор Theano/TensorFlow.
  • y_pred: Прогнозы. Тензор Theano/TensorFlow той же формы, что и y_true.

Возвращает

Одиночное значение тензора, представляющее среднее значение выходного массива по всем точкам данных.


Доступные метрики

accuracy

keras.metrics.accuracy(y_true, y_pred)


binary_accuracy

keras.metrics.binary_accuracy(y_true, y_pred, threshold=0.5)


categorical_accuracy

keras.metrics.categorical_accuracy(y_true, y_pred)


sparse_categorical_accuracy

keras.metrics.sparse_categorical_accuracy(y_true, y_pred)


top_k_categorical_accuracy

keras.metrics.top_k_categorical_accuracy(y_true, y_pred, k=5)


sparse_top_k_categorical_accuracy

keras.metrics.sparse_top_k_categorical_accuracy(y_true, y_pred, k=5)


cosine_proximity

keras.metrics.cosine_proximity(y_true, y_pred, axis=-1)


clone_metric

keras.metrics.clone_metric(metric)

Возвращает клон метрики, если он с сохранением информации, в противном случае возвращает его как есть.

clone_metrics

keras.metrics.clone_metrics(metrics)

Клонирует данный метрический список/словарь.

В дополнение к метрикам, описанным выше, в качестве метрик можно использовать любую из функций потерь, описанных на странице функции потерь.


Пользовательские метрики

Пользовательские метрики могут быть переданы на этапе компиляции. Функция должна будет принять (y_true, y_pred) в качестве аргументов и вернуть одно значение тензора.

import keras.backend as K

def mean_pred(y_true, y_pred):

    return K.mean(y_pred)

model.compile(optimizer=’rmsprop’,

              loss=’binary_crossentropy’,

              metrics=[‘accuracy’, mean_pred])