Использование метрик
Метрика — это функция, которая используется для оценки работы вашей модели. Метрические функции предоставляются в параметре метрики при компиляции модели.
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])