Usage of metrics

指标是用于判断模型性能的函数. 编译模型时,应在metrics参数中提供metrics功能.

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符号函数(请参阅自定义度量标准 ).

Arguments

  • y_true :真标签. Theano / TensorFlow张量.
  • y_pred :预测. 与y_true形状相同的Theano / TensorFlow张量.

Returns

单个张量值,表示所有数据点上输出数组的平均值.


Available metrics

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)

Returns a clone of the metric if stateful, otherwise returns it as is.

clone_metrics

keras.metrics.clone_metrics(metrics)

克隆给定的指标列表/字典.

除上述指标外,您还可以使用损失函数页面中描述的任何损失函数作为指标.


Custom 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])