如何规范化 R 中的数据?
在本文中,我们将讨论如何在 R 编程语言中规范化数据。
规范化数据是将数据缩放到通常为 0 到 1 的固定范围的方法,以减少变量的规模。
方法 1:在基础 R 中使用对数转换对数据进行归一化
在这种通过日志转换对数据进行归一化的方法中,用户需要调用 log() 这是一个内置函数,并将数据帧作为其参数传递给给定数据到其日志,然后将转换结果数据到规模。
log()函数用于计算对数,默认为自然对数。
Syntax:
log(x)
Parameters:
- x: a numeric or complex vector.
示例:规范化数据
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
输出:
[1] 5.497168 6.624065 6.390241 6.469250 6.773080 4.948760 6.459904 6.142037 6.906755 6.483107
方法 2:在 R 中使用标准缩放对数据进行归一化
在这种对数据进行归一化的方法中,用户只需要调用内置函数scale()函数,并传递需要进行缩放的数据,这将导致归一化的数据范围为 -1 到1 在 R 编程语言中。
Scale()是一个通用函数,其默认方法居中和/或缩放数字矩阵的列。
Syntax:
scale(x)
Parameters:
- x: Data
示例:规范化数据
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()函数用于转换,可以从训练数据估计并应用于具有相同变量的任何数据集。
Syntax:
preProcess(x,method)
Parameters:
- x: Data
- method: a character vector specifying the type of processing.
示例:规范化数据
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