1. 数据预处理
处理数据的一开始就是要将数据合乎规则,也就是将数据进行归一化, 因为收集到的数据有的列可能是只有两位数,有的列则数十万,对数据进行归一化可以将待数据处理到同一水平下。目的是使数据像中心收的更紧,"将水分挤掉"。
1. 1 数据中心化
数据中心化,是指数据集中的各项数据减去数据集的均值。
x<-c(1,2,3,6,9)
mean(x)#计算均值
x-mean(x)#原始值减去均值的过程就是将数据进行中心化的过程,如果此时发现数据还是比较大则需要进行标准化,一般我们的最终目的是使数据处于[-1,1]区间
1.2数据标准化
数据标准化,是指在中心化之后在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差。
x<-c(1,2,3,6,9)
sd(x)#计算标准差
(x-mean(x))/sd(x)#原始值减去均值再除以标准差的过程就是将数据进行标准化的过程,一般进行到这里数据就已经处于很小的区间了
R中进行数据归一化
用scale函数,包含三个参数,第一个是待处理的数据的名称,第二个是center参数,为TRUE时进行数据中心化,第三个是scale参数,为TRUE时进行数据标准化。
scale(state.x77,center=T,scale=T)#将数据进行归一化
heatmap(scale(state.x77,center=T,scale=T))#绘制热图