首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras model.compile:由模型评估的指标

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

Stack Overflow用户
提问于 2016-11-30 20:15:26
回答 2查看 20.3K关注 0票数 7

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

代码语言:javascript
复制
compile(self, optimizer, loss, metrics=[], sample_weight_mode=None)

我遵循的教程通常使用"metrics='accuracy'“。我想使用其他指标,如fmeasure,阅读https://keras.io/metrics/时,我知道有很多选择。但是我不知道如何将它们传递给compile方法?

例如:

代码语言:javascript
复制
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['fmeasure'])

将生成一个错误,指出没有这样的度量。

非常感谢您提出的任何建议

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-09 20:59:46

您可以提供两种类型的指标。

首先是keras提供的here,您可以在单引号中找到它,比如'mae‘,也可以定义如下

代码语言:javascript
复制
from keras import metrics
model.compile(loss='mean_squared_error',
              optimizer='sgd',
              metrics=[metrics.mae, metrics.categorical_accuracy]) \\or like 
              metrics=['mae', 'categorical_accuracy']

第二个是自定义指标,如下所示

代码语言:javascript
复制
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不是现成可用的。您必须将其定义为自定义函数。

票数 16
EN

Stack Overflow用户

发布于 2017-06-06 15:31:11

我相信你的问题和https://stackoverflow.com/a/43354147/6701627很相似。请在给定的帖子中检查答案。

附言:我打算把这作为一个评论,但没有足够的名誉点。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40888127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档