sklearn 管道 + keras 顺序模型 - 如何获取历史记录?

Posted

技术标签:

【中文标题】sklearn 管道 + keras 顺序模型 - 如何获取历史记录?【英文标题】:sklearn pipeline + keras sequential model - how to get history? 【发布时间】:2019-06-18 21:48:17 【问题描述】:

Keras模型,当.fit被调用时,返回一个历史对象。如果我将此模型用作 sklearn 管道的一个步骤,是否可以检索它? 顺便说一句,我正在使用 python 3.6

提前致谢!

【问题讨论】:

我不确定Pipeline 是否允许您获取管道中对象的返回类型。但是,我确实认为让管道返回数据非常简单,然后将模型拟合到常规 Keras 中返回的数据上,从而产生历史对象。我知道这并不能具体回答您的问题,但它可能会导致轻松获取历史对象。如果您需要帮助,请在编辑中发布您的代码。 谢谢,伙计!也是这么想的。我只是想知道我是否能够以某种方式访问​​历史对象。 【参考方案1】:

历史回调记录每个时期的训练指标。这包括损失和准确度(用于分类问题)以及验证数据集的损失和准确度(如果已设置)。

历史对象是从对用于训练模型的fit() 函数的调用中返回的。指标存储在返回对象的历史成员中的字典中。

这也意味着值必须在 fit() 函数或顺序模型的范围内,因此如果它在 sklearn 管道中,它无法访问最终值,它可以' t 存储或退回它看不到的东西。

到目前为止,我不知道 sklearn 中的历史回调,所以我唯一看到的是手动记录您想要跟踪的指标。一种方法是让管道返回数据,然后简单地将模型拟合到它上面。如果您无法弄清楚该评论。

【讨论】:

基本上是关于变量作用域的。 这仍然是真的吗?

以上是关于sklearn 管道 + keras 顺序模型 - 如何获取历史记录?的主要内容,如果未能解决你的问题,请参考以下文章

将 keras 集成到 sklearn 管道中的问题

将 Keras 集成到 SKLearn 管道?

Keras Sklearn Tuner 模块“sklearn”没有属性“管道”

Python,sklearn:使用 MinMaxScaler 和 SVC 的管道操作顺序

如何使用 mlflow.pyfunc.log_model() 通过 Keras 步骤记录 sklearn 管道?类型错误:无法腌制 _thread.RLock 对象

如何在 sklearn 的 AdaBoost 中使用 Keras 模型?