如果对于不明白原理的同学,可以查看memory的博客
memory的博客
http://blog.sina.com.cn/u/1974002713
#数据的预处理之量纲消除
rm(list = ls())
#第一min-max标准化
data<-matrix(c(4,7,6,8,9,9,4,3,5),nrow = 3)
stddata <- data.frame()
for(i in 1:dim(data)[1]) {
for(j in 1:dim(data)[2]) {
stddata[i,j]<-((data[i,j]-(min(data[,j])))/(max(data[,j])-min(data[,j])))
}
}
View(stddata)
#第二log函数转换
stddata <- data.frame()
for(i in 1:dim(data)[1]) {
for(j in 1:dim(data)[2]) {
#stddata[i,j]<-((data[i,j]-(min(data[,j])))/(max(data[,j])-min(data[,j])))
stddata[i,j]<-(log(data[i,j])/log(max(data[,j])))
}
}
#第三atan函数转换,要求数据都要大于零
stddata <- data.frame()
for(i in 1:dim(data)[1]) {
for(j in 1:dim(data)[2]) {
#stddata[i,j]<-((data[i,j]-(min(data[,j])))/(max(data[,j])-min(data[,j])))
stddata[i,j]<-((atan(data[i,j])*2)/pi)
}
}
#z-score标准化,即数据的标准化。
#scale()