可以传递给 tf.keras.model.compile 的指标列表

List of metrics that can be passed to tf.keras.model.compile

基于tensorflow documentation,在编译模型时,我可以指定一个或多个指标来使用,例如'accuracy'和'mse'。但是,文档没有说明可用的指标。我尝试将 'accuracy' 替换为其他一些经典指标,例如 'recall' 或 'auc',但这没有用。

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['recall'])

有哪些指标可用?在哪里可以找到我可以使用的所有指标关键字的列表?

你有以下(通常与分类任务有关)

  1. 准确性 来自:

    keras.metrics.accuracy(y_true, y_pred)
    
  2. 二进制精度 给定某个阈值:

    keras.metrics.binary_accuracy(y_true, y_pred, threshold=0.5)
    
  3. 分类准确度 来自:

    keras.metrics.categorical_accuracy(y_true, y_pred)
    
  4. 稀疏分类精度 来自:

    keras.metrics.sparse_categorical_accuracy(y_true, y_pred)
    
  5. 稀疏分类精度 给定 k:

    keras.metrics.top_k_categorical_accuracy(y_true, y_pred, k=5)
    
  6. 稀疏分类精度 给定 k:

    keras.metrics.top_k_categorical_accuracy(y_true, y_pred, k=5)
    
  7. 余弦近似值给定某个轴:

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

除了上述指标外,您还可以使用损失函数页面中描述的任何 loss 函数作为指标。 您也可以实现自己的自定义指标,例如:

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

参考:Keras Metrics, Keras Loss Functions

尝试使用此处的指标之一:https://keras.io/metrics/