我们如何对管道中的 y 变量执行预拟合的标准标量逆变换

数据挖掘 Python scikit-学习
2022-02-21 15:49:37

我想创建在模型预测后对 y 变量进行逆变换的管道

我有 3 个泡菜文件:

  • X变量标量变换预拟合对象:-X sclr
  • Y变量标量变换预拟合对象:-Y sclr
  • svr 模型对象:- 模型

我将它导入 python,现在我想使用这个文件创建管道,其中输入数据将通过 Xsclr 参数进行标量转换---->然后会发生模型预测,然后模型的输出将使用 Y sclr 对象参数进行逆变换

实现看起来像

from sklearn.pipeline import Pipeline
pipe = Pipeline(steps=[(StandardScaler(), Xsclr),
                       (SVR(), model),
                       (InverseTransformer(), Ysclr)]
)

我实际上想将此管道转换为 ONNX 格式... 后记。

2个回答

这在标准 scikit-learn 中是不可能的。Scikit-learn Pipelines 并非旨在转换 y/目标变量,它们仅适用于 X/特征。

类中存在转换回归目标的功能TransformedTargetRegressor请参阅文档使用预拟合模型和缩放器,您也许可以设置“拟合”属性regressor_transformer_.