r语言归一化_R语言︱数据规范化、归一化

笔者寄语:规范化主要是因为数据受着单位的影响较大,需要进行量纲化。大致有:最小-最大规范化、均值标准化、小数定标规范化

1、最小-最大规范化

也叫离差标准化,是对原始数据的线性变换,将数据映射到[0,1]之间,与功效系数法相同。

#最小-最大规范化

b1=(data[,1]-min(data[,1]))/(max(data[,1])-min(data[,1]))

b2=(data[,2]-min(data[,2]))/(max(data[,2])-min(data[,2]))

b3=(data[,3]-min(data[,3]))/(max(data[,3])-min(data[,3]))

b4=(data[,4]-min(data[,4]))/(max(data[,4])-min(data[,4]))

data_scatter=cbind(b1,b2,b3,b4)

2、均值标准化法

标准差标准化、零均值规范化等方法,经过处理的数据均值为0,标准差为1。公式为:

x*=(x-均值)/标准差

因为均值受离群值影响较大,也可以将均值替换成变量的中位数。

#零-均值规范化

data_zscore=scale(data)

3、小数定标规范化

移动变量的小数点位置来将变量映射到[-1,1]

#小数定标规范化

i1=ceiling(log(max(abs(data[,1])),10))#小数定标的指数

c1=data[,1]/10^i1

i2=ceiling(log(max(abs(data[,2])),10))

c2=data[,2]/10^i2

i3=ceiling(log(max(abs(data[,3])),10))

c3=data[,3]/10^i3

i4=ceiling(log(max(abs(data[,4])),10))

c4=data[,4]/10^i4

data_dot=cbind(c1,c2,c3,c4)

#打印结果

options(digits = 4)#控制输出结果的有效位数

data_dot

代码中,log(x,10)是ln(x)一样;

options可以控制保留四位数小数

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值