【问题标题】:What is difference between fit and fit transform in feature engineering? [duplicate]特征工程中的拟合和拟合变换有什么区别? [复制]
【发布时间】:2020-12-14 07:36:49
【问题描述】:

我尝试使用 fit.transform 使用标准标量算法从 sklearn 库中转换我的特征变量?特征工程中的 fit 和 fit 转换有什么区别?

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:
    • fit 仅计算数据的均值和标准差,但不转换数据。
    • fit_transform 计算均值和标准差并同时转换数据。

    【讨论】:

      【解决方案2】:

      添加到@Muhammad Hamza 的答案:

      注意:答案写在“StandardScaler()”类的上下文中,但同样的概念适用于所有其他 sklearn 类。

      1. 有什么区别?
      • fit() 仅计算数据的均值和标准差,但不转换数据。

      • transform() 将标准标量(由 fit() 计算的参数)应用于数据

      • fit_transform() 计算平均值和标准差并同时转换数据。所以,它是fit(),然后transform()的组合

      1. 何时使用 fit() 或 fit_transform()
      • 对于训练数据集,我们需要应用一些转换(在您的情况下是 StandardScalar()),我们更喜欢使用 fit_transform(有时它比应用 fit(),然后是 transform() 更快)

      您可能还看到过使用 fit() 和 transform() 的代码。但请注意,fit() 和 transform 都用于训练数据

      • 对于验证或测试数据集,我们使用 ONLY transform(),因为我们希望使用从训练集计算的参数(在您的情况下为均值和 sd),然后在验证/测试中应用转换设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-11
        • 2018-05-08
        • 2020-03-18
        • 2011-10-09
        相关资源
        最近更新 更多