R语言数据标准化完全指南:3种简单方法与实例解析

大家好,读者们!在本文中,我们将探讨R编程中3种简单的数据标准化方法。

那么,让我们开始吧!


什么是数据标准化?

在数据科学中解决预测问题时,特征缩放是建模之前的一个重要步骤。机器学习算法对较小和标准化的数据效果更好。

这种情况下就需要进行标准化。标准化技术使我们能够减小变量的规模,从而积极地影响数据的统计分布。

在接下来的部分,我们将介绍一些对数据值进行标准化的技术。


方法一:对数转换

在现实世界的应用场景中,为了处理数据,我们经常遇到数据集分布不均的情况。也就是说,它们要么存在偏差,要么不符合数值的标准化要求。

在这种情况下,将值通过每个单独的对数值进行缩放是使其适应适当比例的最简便方法。

在下面的例子中,我们使用R中的log()函数对数据框”data”中存在的较大数据值进行了缩放。

rm(list = ls())

data = c(1200,34567,3456,12,3456,0985,1211)
summary(data)
log_scale = log(as.data.frame(data))

输出:

         data
1	7.090077
2	10.450655
3	8.147867
4	2.484907
5	8.147867
6	6.892642
7	7.099202

方法二:最小-最大缩放

另一种通过最小-最大缩放方法进行数值标准化的高效方式。

通过最小最大缩放,我们将数据值缩放到0到1的范围内。由于这个原因,异常值对数据的影响在一定程度上被压制了。此外,它帮助我们获得较小的标准差数据尺度。

在下面的示例中,我们使用了”caret”包来预处理和缩放数据。preProcess()函数使我们能够使用method = c(‘range’)参数将值缩放到0到1的范围内。predict()方法将preProcess()函数的操作应用于整个数据框,如下所示。

rm(list = ls())

data = c(1200,34567,3456,12,3456,0985,1211)
summary(data)
library(caret)
process <- preProcess(as.data.frame(data), method=c("range"))

norm_scale <- predict(process, as.data.frame(data))

输出:

           data
1	0.03437997
2	1.00000000
3	0.09966720
4	0.00000000
5	0.09966720
6	0.02815801
7	0.03469831

方法三:标准缩放

标准缩放是另一种常用的数据标准化方法,它将数据转换为均值为0、标准差为1的分布。

标准化缩放方法

在标准化缩放中,也被称为值的标准化,我们对数据值进行缩放,以使每个变量的整体统计摘要具有零均值和单位方差值。

使用scale()函数可以对数据值进行标准化,使其居中且缩放。

rm(list = ls())

data = c(1200,34567,3456,12,3456,0985,1211)
summary(data)
scale_data <- as.data.frame(scale(data))

输出结果:

如下所示,数据在缩放之前的均值为6412。然而,在进行值缩放后,均值减少为零。

 Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
     12    1092    1211    6412    3456   34567	

            V1
1	-0.4175944
2	2.2556070
3	-0.2368546
4	-0.5127711
5	-0.2368546
6	-0.4348191
7	-0.4167131

           V1         
 Min.   :-0.5128  
 1st Qu.:-0.4262  
 Median :-0.4167  
 Mean   : 0.0000  
 3rd Qu.:-0.2369  
 Max.   : 2.2556  

结论

通过本教程,我们已经完成了R语言中数据标准化的学习。如果您在实践过程中遇到任何问题,请随时在评论区留言。想要获取更多R编程相关的教程,请继续关注我们的网站!

祝您学习愉快! 🙂


参考资料

  • R语言scale()函数官方文档
bannerAds