将R中的数据归一化

问题描述 投票:0回答:1

我使用此代码对我的数据应用归一化功能:

normalize <- function(x) { return ((x - min(x)) / (max(x) - min(x)))}

然后我将函数应用于数据,仅适用于数字变量。

bankfull[,c(1,6,10,12:15)]= as.data.frame(lapply(bankfull[,c(1,6,10,12:15)], normalize))

有人可以帮助我恢复规范化吗?

先谢谢您。

r normalization knn
1个回答
0
投票

[有一个软件包DMwR,它可以缩放一组值,并且值得一试,即使像注释中提到的John一样,也要注意一些陷阱。例如,对于100个观测值,正态分布均值为5,stdev为1:

library(DMwR)
a <- rnorm(100,5,1)
hist(a)

enter image description here

b <- scale(a)
c <- DMwR::unscale(b,b)

现在您可以通过减去a-c(获得几乎为零的值)或绘制一个vs c(显示等效项)来比较这些值:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.