Keras model.compile: 模型要评估的指标
Keras model.compile: metrics to be evaluated by the model
我正在学习一些 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'])
将生成一个错误,指出没有这样的指标。
非常感谢任何建议
谢谢
我认为您的问题与 类似。请检查给定的 post.
中的答案
PS: 我本来打算把这个作为评论的,但是没有足够的声望点数。
您可以提供两种类型的指标。
第一个是 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不是现成的。您必须将其定义为自定义函数。
我正在学习一些 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'])
将生成一个错误,指出没有这样的指标。
非常感谢任何建议
谢谢
我认为您的问题与
PS: 我本来打算把这个作为评论的,但是没有足够的声望点数。
您可以提供两种类型的指标。
第一个是 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不是现成的。您必须将其定义为自定义函数。