用于自定义操作的 sklearn 管道

Posted

技术标签:

【中文标题】用于自定义操作的 sklearn 管道【英文标题】:sklearn Pipeline for custome operations 【发布时间】:2021-12-20 03:23:39 【问题描述】:

我一直在尝试为一些基本的分类任务创建管道。虽然,我无法找到如何使用 sklearn.Pipeline 实现以下操作

    添加一些仅用于训练数据而非测试数据的步骤 实现“df.apply”类函数

我尝试阅读一些中型博客和文档,但徒劳无功。

【问题讨论】:

需要更多细节。 【参考方案1】:

我认为可能有很多方法可以做到这一点。严格来说,这并不是您必须与sklearn.Pipeline 相关的事情。您可以使用airflow 之类的东西来编排分类任务的步骤,或者您甚至可以使用zenml 之类的东西来精确处理这些类型的任务。您可以将每个步骤包装在一个简单的 @step 装饰器中,然后在管道中将它们链接在一起。

quickstart guide 有一个简单的示例,我认为它可能很适合您的目的。否则请查看Github page 了解更多详情。

免责声明:我自己是一名在 ZenML 工作的工程师,所以这无疑是有偏见的!不过,我认为它可能对您有用。您甚至可以非常轻松地在 Airflow 编排器上运行管道。

【讨论】:

以上是关于用于自定义操作的 sklearn 管道的主要内容,如果未能解决你的问题,请参考以下文章

mlflow 如何使用自定义转换器保存 sklearn 管道?

自定义 sklearn 管道变压器给出“pickle.PicklingError”

将额外参数传递给 sklearn 管道中的自定义评分函数

使用自定义转换器子类对 sklearn 管道进行评分时出现 AttributeError,但在拟合时却没有

管道中的自定义 sklearn 转换器为 cross_validate 抛出 IndexError 但在使用 GridSearchCV 时不会

在 sklearn 中将 Pipeline 与自定义类一起使用