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 Tuner 模块“sklearn”没有属性“管道”
Python,sklearn:使用 MinMaxScaler 和 SVC 的管道操作顺序
如何使用 mlflow.pyfunc.log_model() 通过 Keras 步骤记录 sklearn 管道?类型错误:无法腌制 _thread.RLock 对象