为了账号安全,请及时绑定邮箱和手机立即绑定

标准缩放器和MinMaxScaler之间的区别

标准缩放器和MinMaxScaler之间的区别

米脂 2021-04-06 17:14:37
MinMaxScaler和标准缩放器有什么区别。MMS= MinMaxScaler(feature_range = (0, 1)) (在Program1中使用)sc = StandardScaler() (在另一个程序中,他们使用了标准缩放器,而不是minMaxScaler)
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

从ScikitLearn网站:

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

因此,在存在异常值的情况下,StandardScaler无法保证平衡的要素比例。

MinMaxScaler重新缩放数据集,以使所有特征值都在[0,1]范围内,如下右面板所示。但是,对于换算后的家庭数,此缩放将所有inlier压缩在较窄的范围[0,0.005]中。


查看完整回答
反对 回复 2021-04-27
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

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

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

如果存在异常值,请使用RobustScaler()。或者,您可以删除异常值并使用以上两个定标器之一(选择取决于数据是否正态分布)

附加说明:如果在train_test_split之前使用了定标器,则会发生数据泄漏。在train_test_split之后使用定标器


查看完整回答
反对 回复 2021-04-27
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

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

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

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


查看完整回答
反对 回复 2021-04-27
  • 3 回答
  • 0 关注
  • 501 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号