【问题标题】:Initializing sklearn Scaler without fitting在不拟合的情况下初始化 sklearn Scaler
【发布时间】:2019-04-09 18:00:10
【问题描述】:

是否可以在不拟合的情况下初始化 scikit-learn StandardScaler?我知道均值和方差,但是当我手动设置它们(mean_ 和 var_)时,Scaler 在安装之前仍然无法工作。

编写自己的缩放器并不难,我可能会这样做。我从以前的数据中保存了均值和方差,并且需要以相同的方式缩放新数据。我知道,可以保存缩放器,但保存均值和方差更容易。

【问题讨论】:

  • 如果您已经知道数据的均值和方差,为什么还要使用定标器?只需去除均值并除以方差即可。
  • 好吧,如果你有 np.mean 和 np.var,为什么还要使用缩放器呢?使用 scaler.transform(data) 和 scaler.inverse_transform(scaled_data) 不是比手动更易读吗?
  • 您可以将其包装在您自己的简单函数中。

标签: python scikit-learn


【解决方案1】:

是的,可以在不拟合的情况下初始化 StandardScaler。

除了mean_var_ 之外,还必须设置scale_ 属性。通过函数_handle_zeros_in_scale 将其设置为np.sqrt(self.var_),该函数负责我们不会按零缩放。

【讨论】:

    猜你喜欢
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 2011-04-25
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    相关资源
    最近更新 更多