python - 如何在 Keras 中实现 Sklearn Metric 作为 Metric?

标签 python machine-learning scikit-learn keras

尝试用谷歌搜索,但找不到如何在 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方法没有这样的对象。

回答你的问题:
这取决于您想要在哪里触发:

  1. 每批处理或每个时期的结束
    您可以编写在批处理结束时触发的自定义回调。
  2. 预测后
    这似乎更容易。让 Keras 对整个数据集进行预测,捕获结果,然后将 y_true 和 y_pred 数组提供给相应的 Sklearn 指标。

关于python - 如何在 Keras 中实现 Sklearn Metric 作为 Metric?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48567012/

相关文章:

python - 诱变剂 key 错误

python-3.x - 测试和训练数据集具有不同数量的特征

python - 使用 Python 从基于 Topic 的文本中提取关键短语

machine-learning - 喀拉斯 LSTM : Injecting already-known *future* values into prediction

python - 如何使用python从GPS(经度和纬度)时间序列数据中提取速度和加速度特征

python - 使用 MultinomialNB 组合特征集

python - 这个命令 "preprocessing.scale"在数学方面如何做?

python - 在 Python 中除大数

python - numpy 数组维度不匹配

Python 请求 - 无连接适配器