zoukankan      html  css  js  c++  java
  • 对数据集做标准化处理的几种方法——基于R语言

    数据集——iris(R语言自带鸢尾花包)

    一、scale函数

    scale函数默认的是对制定数据做均值为0,标准差为1的标准化。它的两个参数center和scale:

    1)center和scale默认为真,即T

    2)center为真表示数据中心化

    3)scale为真表示数据标准化

    中心化:所谓数据的中心化是指数据集中的各项数据减去数据集的均值。

    标准化:标准化就是数据在中心化之后再除以标准差。变换后值域为[0,1]。

    # 标准化与中心化
    data(iris) # 读入数据
    head(iris) #查看数据

    Standard0<-scale(iris[1:4])
    head(Standard0)
    Standard1<-scale(iris[1:4],center=T)
    head(Standard1)
    Standard2<-scale(iris[1:4],center=F,scale=T)
    head(Standard2)

    二、用自建函数法

    test <- iris
    normalize <- function(x) {
    return((x - min(x)) / (max(x) - min(x)))
    }
    
    test_n <- as.data.frame(lapply(test[1:4], normalize))
    head(test_n)

    三、caret包preProcess函数

    preProcess函数可以对特征变量施行很多操作,包括中心化和标准化。preProcess函数每次操作都估计所需要的参数,并且由predict.preProcess 应用于指定的数据集。

    相比自建函数,非数值型的变量是被允许的,但是将被忽略故够保留数据集右边的非数值变量。

    standard4 <- preProcess(iris, method = 'range')  #化为0-1之间(x-min(x))/(max(x)-min(x)),其实range 的意义尚未理解
    iris_s<- predict(standard4, iris)
    iris_s

     参考资料:

  • 相关阅读:
    python总结4
    python中if __name__ == '__main__': 的解析
    matlab学习1
    phpstorm xdebug环境搭建
    uniapp 直播跳转小程序组件
    vue中异步函数async和await的用法
    TFS 2010安装配置(Advance)失败记录
    WIN2003 SMTP Service issue
    WIN2003 ftp server权限设置
    Discuz 7.2 SC UTF8设置
  • 原文地址:https://www.cnblogs.com/Grayling/p/11231011.html
Copyright © 2011-2022 走看看