尝试谷歌搜索,但无法找到如何在keras中实现像cohen kappa,roc,f1score这样的Sklearn指标作为不 balancer 数据的指标 .
如何在Keras中实现Sklearn Metric作为度量?
Keras和Sklearn中的度量标准意味着不同的东西 .
在Keras中,指标几乎与损失相同 . 它们在每个批次结束时的训练期间被调用,并且每个时期用于报告和记录目的 . 使用示例是丢失'mse',但您仍然希望看到'mae' . 在这种情况下,您可以将“mae”作为指标添加到模型中 .
在Sklearn中,度量函数根据定义“度量模块实现为特定目的评估预测误差的函数”应用于预测 . 虽然存在重叠,但Sklearn的统计函数不适合Keras中度量的定义 . Sklearn指标可以返回两个维度大于1的浮点数组,数组,二维数组 . 预测方法在Keras中没有这样的对象 .
回答你的问题:这取决于您想要触发的位置:
每批或每个纪元结束您可以编写在批处理结束时触发的自定义回调 .
预测后这似乎更容易 . 让Keras预测整个数据集,捕获结果,然后将y_true和y_pred数组提供给相应的Sklearn指标 .
1 回答
Keras和Sklearn中的度量标准意味着不同的东西 .
在Keras中,指标几乎与损失相同 . 它们在每个批次结束时的训练期间被调用,并且每个时期用于报告和记录目的 . 使用示例是丢失'mse',但您仍然希望看到'mae' . 在这种情况下,您可以将“mae”作为指标添加到模型中 .
在Sklearn中,度量函数根据定义“度量模块实现为特定目的评估预测误差的函数”应用于预测 . 虽然存在重叠,但Sklearn的统计函数不适合Keras中度量的定义 . Sklearn指标可以返回两个维度大于1的浮点数组,数组,二维数组 . 预测方法在Keras中没有这样的对象 .
回答你的问题:
这取决于您想要触发的位置:
每批或每个纪元结束
您可以编写在批处理结束时触发的自定义回调 .
预测后
这似乎更容易 . 让Keras预测整个数据集,捕获结果,然后将y_true和y_pred数组提供给相应的Sklearn指标 .