首页 > 解决方案 > 是否可以安装 sklearn 管道的单独部分?

问题描述

考虑使用以下 sklearn Pipeline

pipeline = make_pipeline(
    TfidfVectorizer(),
    LinearRegression()
)

我已经接受过TfidfVectorizer预训练,所以当我打电话时,pipeline.fit(X, y)我只想LinearRegression安装而不想改装TfidfVectorizer

我可以提前应用转换并适应LinearRegression转换后的数据,但在我的项目中,我有很多转换器在管道中,其中一些是预训练的,有些不是,所以我正在寻找一种方法围绕 sklearn 估计器编写另一个包装器并保持在一个Pipeline对象的范围内。

在我看来,它应该是 estimators 对象中的一个参数,代表在调用.fit()对象是否已安装时不重新安装对象。

标签: pythonmachine-learningscikit-learnpipelinemodel-fitting

解决方案


查看“内存”参数。它缓存来自管道的转换器。

https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html

pipeline = make_pipeline(
    TfidfVectorizer(),
    LinearRegression(),
    memory='cache_directory'
)

推荐阅读