我目前的理解是,在使用Pipeline时,我们无法直接转换/检索作为(X,y)
传递的y-labels
。
最后的fit_transform
只返回对X
的转换,而y
只在涉及fit()
、fit_predict()
等情况下被使用。
我的理解正确吗?
此外,是否有方法可以在不打破完全封闭的模型训练pipeline的情况下转换和检索y
(包括在使用自定义转换器删除实例时)?
回答:
总的来说,您的理解是正确的。Pipeline
对象用于顺序应用对X
的多次转换。根据用户指南:
Pipeline只转换观测数据(
X
)。
另外,请查看关于术语“transform”的术语表:
transform
在转换器中,将输入,通常仅X
,转换到某个转换空间(通常记为Xt
)。
在回归任务中,有一个特殊的TransformedTargetRegressor
,它处理目标y
的转换,并且可以例如在pipeline的末尾使用。
除此之外,在pipeline中控制y
的转换没有标准方法。