R语言 如何规范化数据

R语言 如何规范化数据

在这篇文章中,我们将讨论如何在R编程语言中规范化数据。

归一化数据 是将数据缩放到一个固定的范围内,通常是0到1,这样可以减少变量的规模。

方法1:在基础R语言中用对数转换将数据归一化

在这种方法中,用户需要调用log(),这是一个内置的函数,并将数据帧作为参数传递给用户,将给定的数据转换为对数,然后将得到的数据转换为比例。

log() 函数是用来计算对数的,默认为自然对数。

语法

log(x)

参数

  • x: 一个数字或复数向量。

例子: 将数据归一化

# Create data
gfg < - c(244, 753, 596, 645, 874, 141,
          639, 465, 999, 654)
  
# normalizing data
gfg < -log(gfg)
gfg

输出

[1] 5.497168 6.624065 6.390241 6.469250 6.773080 4.948760 6.459904 6.142037 6.906755 6.483107

方法2:在R中用标准比例将数据归一化

在这种方法中,用户只需要调用scale()函数,这是一个内置的函数,并传递需要缩放的数据,进一步的结果是在R编程语言中从-1到1的范围内进行标准化的数据。

Scale() 是一个通用函数,其默认方法是将数字矩阵的列居中和/或缩放。

语法

scale(x)

参数

  • x:数据

例子: 将数据归一化

# Create data
gfg <- c(244,753,596,645,874,141,639,465,999,654)
  
# normalizing data
gfg <- as.data.frame(scale(gfg)) 
gfg

输出

            V1
1  -1.36039519
2   0.57921588
3  -0.01905315
4   0.16766775
5   1.04030220
6  -1.75289016
7   0.14480397
8  -0.51824578
9   1.51663105
10  0.20196343

方法3:使用最小-最大比例对数据进行规范化处理

在这种归一化方法中,用户首先要在R工作控制台中安装并导入caret包,然后用户需要调用preProcess()函数,以传递的方法作为其参数范围,然后用户调用predict()函数得到最终的归一化数据,这将导致在R编程语言中把给定数据归一化为0到1的尺度。

perProcess() 函数用于转换可以从训练数据中估计出来,并应用于任何具有相同变量的数据集。

语法

preProcess(x,method)

参数

  • x:数据
  • 方法:一个指定处理类型的字符向量。

例如: 规范化数据

library(caret)
  
# Create data
gfg <- c(244,753,596,645,874,141,639,465,999,654)
  
# normalizing data
ss <- preProcess(as.data.frame(gfg), method=c("range"))
  
gfg <- predict(ss, as.data.frame(gfg))
gfg

输出

         gfg
1  0.1200466
2  0.7132867
3  0.5303030
4  0.5874126
5  0.8543124
6  0.0000000
7  0.5804196
8  0.3776224
9  1.0000000
10 0.5979021

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程