zoukankan      html  css  js  c++  java
  • 数据的标准化与中心化以及R语言中的scale详解(转)

    1.数据的中心化

    所谓数据的中心化是指数据集中的各项数据减去数据集的均值。
    例如有数据集1, 2, 3, 6, 3,其均值为3,那么中心化之后的数据集为1-3,2-3,3-3,6-3,3-3,即:-2,-1,0,3,0

    2.数据的标准化
    所谓数据的标准化是指中心化之后的数据在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差。
    例如有数据集1, 2, 3, 6, 3,其均值为3,其标准差为1.87,那么标准化之后的数据集为(1-3)/1.87,(2-3)/1.87,(3-3)/1.87,(6-3)/1.87,(3-3)/1.87,即:-1.069,-0.535,0,1.604,0

    数据中心化和标准化的意义是一样的,为了消除量纲对数据结构的影响。

    在R语言中可以使用scale方法来对数据进行中心化和标准化:

    #限定输出小数点后数字的位数为3位
    > options(digits=3)
    
    > data <- c(1, 2, 3, 6, 3)
    #数据中心化
    > scale(data, center=T,scale=F)
         [,1]
    [1,]   -2
    [2,]   -1
    [3,]    0
    [4,]    3
    [5,]    0
    attr(,"scaled:center")
    [1] 3
    #数据标准化
    > scale(data, center=T,scale=T)
             [,1]
    [1,] -1.06904
    [2,] -0.53452
    [3,]  0.00000
    [4,]  1.60357
    [5,]  0.00000
    attr(,"scaled:center")
    [1] 3
    attr(,"scaled:scale")
    [1] 1.8708
    

    scale方法中的两个参数center和scale的解释:
    1.center和scale默认为真,即T或者TRUE
    2.center为真表示数据中心化
    3.scale为真表示数据标准化

  • 相关阅读:
    作业2 求题目中的数
    2013 C#单元测试
    实现项目WC
    带括号多项式版四则运算
    20道简单加减法随机生成程序扩展版体会
    20道简单加减法随机生成程序
    Jeesite 集成微信支付接口
    第一节:JAVA 语言的学习目标
    vector(未完)
    关于phpstorm端口63342的修改经历
  • 原文地址:https://www.cnblogs.com/gary-bao/p/4513735.html
Copyright © 2011-2022 走看看