如何在Keras中实现Sklearn指标作为评估指标?

我在谷歌上搜索过,但没有找到如何在Keras中将Sklearn的指标(如Cohen Kappa、ROC、F1分数)作为不平衡数据的评估指标实现的方法。

如何在Keras中实现Sklearn指标作为评估指标?


回答:

Keras和Sklearn中的指标含义不同。

在Keras中,指标几乎与损失函数相同。它们在训练过程中会在每个批次和每个周期结束时被调用,用于报告和记录目的。例如,你可以使用’mse’作为损失函数,但你可能还想查看’mae’。在这种情况下,你可以将’mae’作为评估指标添加到模型中。

在Sklearn中,指标函数是根据预测结果应用的,定义为“指标模块实现了用于特定目的评估预测误差的函数”。虽然有一定的重叠,但Sklearn的统计函数并不符合Keras中指标的定义。Sklearn的指标可以返回浮点数、数组、二维数组(两个维度都大于1)。在Keras中,预测方法没有这样的对象。

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

  1. 每个批次或每个周期结束时
    你可以编写一个自定义回调函数,在批次结束时触发。
  2. 预测之后
    这似乎更简单。让Keras对整个数据集进行预测,捕获结果,然后将y_true和y_pred数组输入到相应的Sklearn指标中。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注