尝试用谷歌搜索,但找不到如何在 keras 中实现 Sklearn 指标(如 cohen kappa、roc、f1score)作为不平衡数据的指标。
如何在 Keras 中实现 Sklearn Metric 作为 Metric?
最佳答案
Keras 和 Sklearn 中的指标含义不同。
在 Keras 中,指标几乎与损失相同。他们在训练期间每批处理和每个时期结束时都会被调用,以进行报告和记录。示例用途是损失“mse”,但您仍然希望看到“mae”。在这种情况下,您可以将“mae”作为指标添加到模型中。
在 Sklearn 中,度量函数根据定义“度量模块实现评估特定目的预测误差的函数”应用于预测。虽然存在重叠,但 Sklearn 的统计函数并不符合 Keras 中指标的定义。 Sklearn的metrics可以返回两个维度都大于1的 float 、数组、二维数组。Keras中的predict方法没有这样的对象。
回答你的问题:
这取决于您想要在哪里触发:
- 每批处理或每个时期的结束
您可以编写在批处理结束时触发的自定义回调。 - 预测后
这似乎更容易。让 Keras 对整个数据集进行预测,捕获结果,然后将 y_true 和 y_pred 数组提供给相应的 Sklearn 指标。
关于python - 如何在 Keras 中实现 Sklearn Metric 作为 Metric?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48567012/