数据的预处理之量纲消除


如果对于不明白原理的同学,可以查看memory的博客

memory的博客

#数据的预处理之量纲消除

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()


你可能感兴趣的:(R)