假设当在网上浏览商品时,是否注意到过价格的波动?或者在看房子时,房价因为地段、面积不同而大相径庭?这些看似不同的数据背后,其实都面临着一个共同的挑战:如何在巨大的数值差异中找到一个“公平”的比较标准。就好比比较不同重量级的拳击手,不能直接看他们的拳力多少,而是要看他们在各自级别中的表现如何。
这就是RobustScaler
发挥作用的时刻,一个专门为了处理包含离群值的数据而设计的工具。为什么叫“Robust”(健壮)呢?因为它不像传统的缩放方法那样易受极端值的影响。假设如果用平均值和标准差来缩放成绩,那么一两个特别差或者特别好的成绩就能对整个班级的标准产生巨大影响。但是如果用中位数和四分位数来缩放,那么即使有些学生特别优秀或者不尽如人意,对整个班级成绩的缩放影响也会小得多。
看一个具体的例子。假设有一组人的身高和体重数据,但这组数据中包含了一些篮球运动员的信息,显然他们的身高和体重都远高于一般人。如果直接计算平均值和标准差,这些篮球运动员就会成为数据中的“离群值”,影响对普通人身高和体重的评估。但如果使用RobustScaler
,就可以更合理地评估普通人的身高和体重标准,因为它主要关注的是数据的中间区域,而不是极端值。
用一个模拟的数据表来直观感受一下。这里有10个人的身高和体重数据,将使用RobustScaler
来处理这些数据。
序号 | 身高(cm) | 体重(kg) | 年龄 | 球场得分 |
---|---|---|---|---|
1 | 180 | 75 | 24 | 10 |
2 | 175 | 65 | 22 | 8 |
3 | 190 | 90 | 28 | 15 |
4 | 165 | 55 | 21 | 7 |
5 | 185 | 80 | 25 | 12 |
6 | 170 | 70 | 23 | 9 |
7</ |