【问题标题】:Difference between Standard scaler and MinMaxScaler标准缩放器和 MinMaxScaler 之间的区别
【发布时间】:2018-07-09 02:42:56
【问题描述】:

MinMaxScaler 和标准缩放器有什么区别。

MMS= MinMaxScaler(feature_range = (0, 1))(在程序1中使用)

sc = StandardScaler()(在另一个程序中,他们使用标准缩放器而不是 minMaxScaler)

【问题讨论】:

    标签: python data-science


    【解决方案1】:

    MinMaxScaler(feature_range = (0, 1)) 将在 [0,1] 范围内按比例转换列中的每个值。使用它作为转换特征的第一个缩放器选择,因为它将保留数据集的形状(无失真)。

    StandardScaler() 会将列中的每个值转换为均值 0 和标准差 1 左右的范围,即,每个值将通过减去均值并除以标准差来归一化。如果您知道数据分布正常,请使用 StandardScaler。

    如果有异常值,请使用RobustScaler()。或者,您可以删除异常值并使用上述两种缩放器中的任何一种(选择取决于数据是否正态分布)

    补充说明:如果在train_test_split之前使用scaler,会发生数据泄露。在 train_test_split 之后使用缩放器

    【讨论】:

    【解决方案2】:

    来自ScikitLearn site

    StandardScaler 删除均值并将数据缩放为单位方差。 但是,异常值在计算经验值时会产生影响 缩小特征范围的均值和标准差 值如下左图所示。特别注意 因为每个特征上的异常值有不同的量级, 转换后的数据在每个特征上的分布非常不同:大多数 的数据位于转换后的收入中位数的 [-2, 4] 范围内 特征,而相同的数据被压缩在较小的 [-0.2, 0.2] 转换后的住户数范围。

    因此,StandardScaler 不能保证平衡的特征缩放 异常值的存在。

    MinMaxScaler 重新调整数据集,使所有特征值都在 范围 [0, 1] 如下右图所示。然而,这 缩放压缩窄范围 [0, 0.005] 内的所有内点 转换的家庭数量。

    【讨论】:

      【解决方案3】:

      当数值输入变量缩放到标准范围时,许多机器学习算法的性能会更好。 缩放数据意味着它有助于规范化特定范围内的数据。

      当使用 MinMaxScaler 时,它也称为 Normalization,它转换 (0 到 1) 范围内的所有值 公式为 x = [(value - min)/(Max- Min)]

      StandardScaler 属于标准化,其值范围在(-3 到 +3)之间 公式为 z = [(x - x.mean)/Std_deviation]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-13
        • 2015-08-27
        • 2017-01-12
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 2013-04-19
        相关资源
        最近更新 更多