📜  如何规范化 R 中的数据?

📅  最后修改于: 2022-05-13 01:54:38.022000             🧑  作者: Mango

如何规范化 R 中的数据?

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

规范化数据是将数据缩放到通常为 0 到 1 的固定范围的方法,以减少变量的规模。

方法 1:在基础 R 中使用对数转换对数据进行归一化

在这种通过日志转换对数据进行归一化的方法中,用户需要调用 log() 这是一个内置函数,并将数据帧作为其参数传递给给定数据到其日志,然后将转换结果数据到规模。

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

示例:规范化数据

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


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


R
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


输出:

方法 2:在 R 中使用标准缩放对数据进行归一化

在这种对数据进行归一化的方法中,用户只需要调用内置函数scale()函数,并传递需要进行缩放的数据,这将导致归一化的数据范围为 -1 到1 在 R 编程语言中。

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

示例:规范化数据

R

# 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:使用 Min-Max Scaling 标准化数据

在此方法中进行规范化,用户必须先在 R 工作控制台中安装并导入 caret 包,然后用户需要调用 preProcess()函数,并将作为范围传递的方法作为其参数,然后用户调用 predict()函数来获取最终的归一化数据,这将导致给定数据的归一化为 R 编程语言中从 0 到 1 的范围。

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

示例:规范化数据

R

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