Keras model.compile:模型要评估的指标

vs91vp4v  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(56)

我正在学习Keras的一些教程,我理解model.compile方法创建一个模型,并使用'metrics'参数来定义在训练和测试期间用于评估的指标。

compile(self, optimizer, loss, metrics=[], sample_weight_mode=None)

字符串
我遵循的教程通常使用“metrics='accuracy ']"。我想使用其他指标,如fmeasure,和阅读https://keras.io/metrics/我知道有一个广泛的选项。但我不知道如何将它们传递给编译方法?
举例来说:

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['fmeasure'])


会产生一个错误,说没有这样的指标。
任何建议高度赞赏
谢谢

a0x5cqrl

a0x5cqrl1#

您可以提供两种类型的指标。
首先是由keras提供的,你可以找到here,你可以用单引号像'mae'提供,或者你也可以定义为

from keras import metrics
model.compile(loss='mean_squared_error',
              optimizer='sgd',
              metrics=[metrics.mae, metrics.categorical_accuracy]) \\or like 
              metrics=['mae', 'categorical_accuracy']

字符串
第二个是像这样的自定义指标

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


这里mean_pred是自定义指标。查看定义已经可用的指标和自定义指标的区别。因此fmeasure不是现成的。您必须将其定义为自定义函数。

au9on6nz

au9on6nz2#

我相信你的问题类似于https://stackoverflow.com/a/43354147/6701627。请在给定的帖子中检查答案。
附言:我本打算把这作为一个评论,但没有足够的声誉点。

相关问题