精华内容
下载资源
问答
  • 归一化化定义:归一化化就是把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。归一化的原因是什么那: 一是为了后面数据处理的方便,把不同量纲的东西放在同一量纲下比较,即把...特征标准化

    1、归一化定义

    归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。归一化的原因是什么那?

    2、归一化原因

    一是,为了后面数据处理的方便,把不同量纲的东西放在同一量纲下比较,即把不同来源的数据统一到一个参考系下,这样比较起来才有意义。
    简单的举个例子:一张表有两个变量,一个是体重kg,一个是身高cm。假设一般情况下体重这个变量均值为60(kg),身高均值为170(cm)。1,这两个变量对应的单位不一样,同样是100,对于身高来说很矮,但对于体重来说已经是超重了。另外,单位越小,数值越大,对结果的影响也越大,譬如170cm=1700mm。 简单讲,归一化的目的是可以用数值来直接进行比较,如果不归一化由于变量特性不同,同样加10,代表的意义不一样。
    二是,保正程序运行时收敛加快,大部分模型归一化后收敛速度会加快。例如,下面的例子,房间数和面积数不在一个量纲上,面积数值太小,房间数太大,成椭圆状,按照梯度收敛速度会慢,理想的是数据类似圆圈的形状,经过有限几个步骤则收敛了。

    三是,要注意的是,有的模型在归一化之后会影响效果,有的模型则不会。对于归一化是否影响模型效果,主要看模型是否具有伸缩不变性。

    有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。
    有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如标准的logistic regression 和linear regression(加正则项后,正则项可能不具备伸缩不变性),简单的树模型(各个节点各算个的切分点)。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型,最好也进行数据标准化。但SVM则必须进行归一化。同的模型对特征的分布假设是不一样的。比如SVM 用高斯核的时候,所有维度共用一个方差,这不就假设特征分布是圆的么,输入椭圆的就坑了人家。
    首先,对于gradient descent算法来说,learning rate的大小对其收敛速度至关重要。如果feature的scale不同,理论上不同的feature就需要设置不同的learning rate,但是gradient descent只有一个learning rate,这就导致不同feature的收敛效果不同,从而影响总体的收敛效果。所以在求解模型之前归一化不同feature的scale,可以有效提高gradient descent的收敛速度。

    除此之外,如果feature的scale相差很大,则会出现scale越大的feature,对模型的影响越大。比如对于multivariate regression, 极端情况下, 有一个特征的值特别特别大,其他特征的值都特别特别小,那么cost function就被这个特别大的特征主导,甚至退化为univariate。即feature scale相差很大,线性回归模型得优化结果也会受到影响。

    也需要注意的是,各维分别做归一化会丢失各维方差这一信息,但各维之间的相关系数可以保留

    三、标准化方法

    没有一种数据标准化的方法,放在每一个问题,放在每一个模型,都能提高算法精度和加速算法的收敛速度。
    是否应该做数据标准化,用哪种标准化的方法,更多的是源于一种经验和尝试。
    如果你长期做某个行业的某几类数据挖掘需求,自然知道选用哪种算法好,用什么标准化方法更优。这需要时间的积累,需要对数据挖掘的热情来支撑。
    当然,也可以先做个较为合理的抽样(更倾向于分层抽样),比较不做数据标准化和做了数据标准化的效果,比较不同数据标准化方法之间的效果。毕竟数据总是多种多样,如果企业BI做得好,数据质量本身就高了,那其实可以偷一下懒的。反之,就多下功夫做好数据与处理,把数据打磨好了再放进模型里。方法有如下:
    1、线性函数转换,表达式如下:
      y=(x-MinValue)/(MaxValue-MinValue)
      说明:x、y分别为转换前、后的值,MaxValue、MinValue分 别为样本的最大值和最小值。
      2、对数函数转换,表达式如下:
      y=log10(x)
      说明:以10为底的对数函数转换。
      3、反余切函数转换,表达式如下:
      y=atan(x)*2/PI
      4、式(1)将输入值换算为[-1,1]区间的值,在输出层用式(2)换算回初始值,其中 和分别表示训练样本集中负荷的最大值和最小值。
      在统计学中,归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在-1--+1之间是统计的坐标分布。
    方法很多,min-max,z-score,p范数等

    参考:
    http://www.zhihu.com/question/37129350/answer/70640800
    http://www.zhihu.com/question/30038463/answer/50491149
    http://www.zhihu.com/question/30038463/answer/74894932
    https://www.zhihu.com/question/20455227/answer/25237171




    展开全文
  • 数据标准化/归一化normalization

    万次阅读 多人点赞 2016-08-19 09:42:40
    这里主要讲连续型特征归一的常用方法。 连续型特征还有一种处理方式是,先分桶/分箱(如等频/等距的分)[待写]进行离散后再使用离散数据的处理方法。 离散数据处理参考[数据预处理:独热编码(One-Hot ...

    http://blog.csdn.net/pipisorry/article/details/52247379

    这里主要讲连续型特征归一化的常用方法。

    连续型特征还有一种处理方式是,先分桶/分箱(如等频/等距的分)[待写]进行离散化后再使用离散数据的处理方法。

    离散数据处理参考[数据预处理:独热编码(One-Hot Encoding)]。

    基础知识参考:

    [均值、方差与协方差矩阵]

    [矩阵论:向量范数和矩阵范数]

    数据的标准化(normalization)和归一化

        数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

        目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的法则可以遵循。

    其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。

    归一化的目标

    1 把数变为(0,1)之间的小数
            主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。
    2 把有量纲表达式变为无量纲表达式
            归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。 比如,复数阻抗可以归一化书写:Z = R + jωL = R(1 + jωL/R) ,复数部分变成了纯数量了,没有量纲。
    另外,微波之中也就是电路分析、信号系统、电磁波传输等,有很多运算都可以如此处理,既保证了运算的便捷,又能凸现出物理量的本质含义。

    归一化后有两个好处

    1. 提升模型的收敛速度

    如下图,x1的取值为0-2000,而x2的取值为1-5,假如只有这两个特征,对其进行优化时,会得到一个窄长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快(理解:也就是步长走多走少方向总是对的,不会走偏)


    2.提升模型的精度

    归一化的另一好处是提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失。所以归一化很有必要,他可以让各个特征对结果做出的贡献相同。

        在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级。当各指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削弱数值水平较低指标的作用。因此,为了保证结果的可靠性,需要对原始指标数据进行标准化处理。

        在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析。数据标准化也就是统计数据的指数化。数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。数据无量纲化处理主要解决数据的可比性。经过上述标准化处理,原始数据均转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,可以进行综合测评分析。

    从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

    3. 深度学习中数据归一化可以防止模型梯度爆炸。

    数据需要归一化的机器学习算法

    需要归一化的模型:

            有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM(距离分界面远的也拉近了,支持向量变多?)。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。
            有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression(因为θ的大小本来就自学习出不同的feature的重要性吧?)。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛(模型结果不精确)。所以对于具有伸缩不变性的模型,最好也进行数据标准化。

            有些模型/优化方法的效果会强烈地依赖于特征是否归一化,如LogisticReg,SVM,NeuralNetwork,SGD,PCA降维[PCA将原来高维的数据投影到某个低维的空间上并使得其方差尽量大。如果数据其中某一特征数值特别大,那么它在整个误差计算的比重上就很大,那么可以想象在投影到低维空间之后,为了使低秩分解逼近原数据,整个投影会去努力逼近最大的那一个特征,而忽略数值比较小的特征,这很可能导致了大量的信息缺失。此外,从计算的角度讲,因为PCA通常是数值近似分解,而非求特征值、奇异值得到解析解,所以当我们使用梯度下降等算法进行PCA的时候,归一化有利于梯度下降收敛]等。

    不需要归一化的模型:

        (0/1取值的特征通常不需要归一化,归一化会破坏它的稀疏性。)

        有些模型则不受归一化影响,如DecisionTree。

        ICA好像不需要归一化(因为独立成分如果归一化了就不独立了?)。

        基于平方损失的最小二乘法OLS不需要归一化。

    [线性回归与特征归一化(feature scaling)]

    皮皮blog

     

     

    常见的数据归一化方法

    最常用的是 min-max标准化 和 z-score 标准化。

    min-max标准化(Min-max normalization)/0-1标准化(0-1 normalization)/线性函数归一化/离差标准化

    是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:

    其中max为样本数据的最大值,min为样本数据的最小值。

    def Normalization(x):
        return [(float(i)-min(x))/float(max(x)-min(x)) for i in x]

    如果想要将数据映射到[-1,1],则将公式换成:

    x* = x* * 2 -1

    或者进行一个近似

    x* = (x - x_mean)/(x_max - x_min), x_mean表示数据的均值。

    def Normalization2(x):
        return [(float(i)-np.mean(x))/(max(x)-min(x)) for i in x]

    这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

    ps: 将数据归一化到[a,b]区间范围的方法:

    (1)首先找到原本样本数据X的最小值Min及最大值Max
    (2)计算系数:k=(b-a)/(Max-Min)
    (3)得到归一化到[a,b]区间的数据:Y=a+k(X-Min)  或者 Y=b+k(X-Max)

    即一个线性变换,在坐标上就是求直线方程,先求出系数,代入一个点对应的值(x的最大/最小就对应y的最大/最小)就ok了。

    z-score 标准化(zero-mean normalization)

    最常见的标准化方法就是Z标准化,也是SPSS中最为常用的标准化方法,spss默认的标准化方法就是z-score标准化。

    也叫标准差标准化,这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。

    经过处理的数据符合标准正态分布,即均值为0,标准差为1,注意,一般来说z-score不是归一化,而是标准化,归一化只是标准化的一种[lz]。

    其转化函数为:

    x* = (x - μ ) / σ

    其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

    z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。该种标准化方式要求原始数据的分布可以近似为高斯分布,否则效果会变得很糟糕。

    标准化的公式很简单,步骤如下

      1.求出各变量(指标)的算术平均值(数学期望)xi和标准差si ;
      2.进行标准化处理:
      zij=(xij-xi)/si
      其中:zij为标准化后的变量值;xij为实际变量值。
      3.将逆指标前的正负号对调。
      标准化后的变量值围绕0上下波动,大于0说明高于平均水平,小于0说明低于平均水平。

    def z_score(x, axis):
        x = np.array(x).astype(float)
        xr = np.rollaxis(x, axis=axis)
        xr -= np.mean(x, axis=axis)
        xr /= np.std(x, axis=axis)
        # print(x)
        return x

    为什么z-score 标准化后的数据标准差为1?

    x-μ只改变均值,标准差不变,所以均值变为0

    (x-μ)/σ只会使标准差除以σ倍,所以标准差变为1

    这两种最常用方法使用场景:

    1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。

    2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。
    原因是使用第一种方法(线性变换后),其协方差产生了倍数值的缩放,因此这种方式无法消除量纲对方差、协方差的影响,对PCA分析影响巨大;同时,由于量纲的存在,使用不同的量纲、距离的计算结果会不同。而在第二种归一化方式中,新的数据由于对方差进行了归一化,这时候每个维度的量纲其实已经等价了,每个维度都服从均值为0、方差1的正态分布,在计算距离的时候,每个维度都是去量纲化的,避免了不同量纲的选取对距离计算产生的巨大影响。
    [再谈机器学习中的归一化方法(Normalization Method) ]

    皮皮blog

    log函数转换

    通过以10为底的log函数转换的方法同样可以实现归一下,具体方法如下:

    看了下网上很多介绍都是x*=log10(x),其实是有问题的,这个结果并非一定落到[0,1]区间上,应该还要除以log10(max),max为样本数据最大值,并且所有的数据都要大于等于1。

    atan函数转换

    用反正切函数也可以实现数据的归一化。

    使用这个方法需要注意的是如果想映射的区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1,0]区间上,而并非所有数据标准化的结果都映射到[0,1]区间上。

    Decimal scaling小数定标标准化

    这种方法通过移动数据的小数点位置来进行标准化。小数点移动多少位取决于属性A的取值中的最大绝对值。

    将属性A的原始值x使用decimal scaling标准化到x'的计算方法是:
    x'=x/(10^j)
    其中,j是满足条件的最小整数。
    例如 假定A的值由-986到917,A的最大绝对值为986,为使用小数定标标准化,我们用每个值除以1000(即,j=3),这样,-986被规范化为-0.986。
    注意,标准化会对原始数据做出改变,因此需要保存所使用的标准化方法的参数,以便对后续的数据进行统一的标准化。

    Logistic/Softmax变换

    [Sigmod/Softmax变换 ]

    模糊量化模式

    新数据=1/2+1/2sin[派3.1415/(极大值-极小值)*(X-(极大值-极小值)/2) ] X为原数据

    皮皮blog

     

    数据标准化/归一化的编程实现

    1 python库实现和调用

    [Scikit-learn:数据预处理Preprocessing data ]

    2 pandas dataframe实现标准化

    [pandas小记:pandas数据规整化-正则化、分组合并及重塑]

    两者的区别在于:df_norm = (df - df.mean()) / (df.std())会保留nan值,而preprocessing.scale(X)会直接报错:ValueError: Input contains NaN, infinity or a value too large for dtype('float64')。

    对于dense数据,建议先填充再标准化,否则需要标准化后再通过最小值来填充。

    from: http://blog.csdn.net/pipisorry/article/details/52247379

    ref:

     

    展开全文
  • 数据标准化

    问题1:

    • 为什么要进行数据标准化?

    在现实生活中,一个目标变量(y)可以认为是由多个特征变量(x)影响和控制的,那么这些特征变量的量纲和数值的量级就会不一样,比如x1 = 10000,x2 = 1,x3 = 0.5 可以很明显的看出特征x1和x2、x3存在量纲的差距;x1对目标变量的影响程度将会比x2、x3对目标变量的影响程度要大(可以这样认为目标变量由x1掌控,x2,x3影响较小,一旦x1的值出现问题,将直接的影响到目标变量的预测,把目标变量的预测值由x1独揽大权,会存在高风险的预测)而通过标准化处理,可以使得不同的特征变量具有相同的尺度(也就是说将特征的值控制在某个范围内),这样目标变量就可以由多个相同尺寸的特征变量进行控制,这样,在使用梯度下降法学习参数的时候,不同特征对参数的影响程度就一样了。比如在训练神经网络的过程中,通过将数据标准化,能够加速权重参数的收敛。
    简而言之:对数据标准化的目的是消除特征之间的差异性,便于特征一心一意学习权重。

    问题2:

    • 什么时候需要进行数据标准化,什么时候不需要进行数据标准化?

    由(1)我们可以知道当原始数据不同维度上的特征的尺度(单位)不一致时,需要标准化步骤对数据进行预处理,反之则不需要进行数据标准化。
    例如下面这几类问题一般都需要进行数据标准化:

    a 回归问题
    b 机器学习算法
    c 训练神经网络
    d 聚类问题
    e 分类问题
    f 主成分分析(PCA)问题

    关于数据标准化的方法以及知识点可以查看本博主的另外一篇博文(***python(经典)数据标准化方法、聚类方法、分类方法总结:***https://blog.csdn.net/data_bug/article/details/81586412)

    展开全文
  • PCA降维之前为什么要标准化

    千次阅读 2020-05-21 21:33:36
    当数据维数很高的时候,我们可以用PCA降维,但是降维前通常我们要对数据进行标准化为什么要这样做?这有什么好处? 机器小白 2017-03-21 13:25 4个回答 30 PCA(主成分分析)所对应的数学理论是SVD(矩阵的奇异值分解...

    PCA降维之前为什么要先标准化?
    统计/机器学习 数据预处理 数据降维 浏览次数:18547 分享

    10
    当数据维数很高的时候,我们可以用PCA降维,但是降维前通常我们要对数据进行标准化,为什么要这样做?这有什么好处?

    机器小白 2017-03-21 13:25

    4个回答
    30
    PCA(主成分分析)所对应的数学理论是SVD(矩阵的奇异值分解)。而奇异值分解本身是完全不需要对矩阵中的元素做标准化或者去中心化的。

    但是对于机器学习,我们通常会对矩阵(也就是数据)的每一列先进行标准化。

    PCA通常是用于高维数据的降维,它可以将原来高维的数据投影到某个低维的空间上并使得其方差尽量大。如果数据其中某一特征(矩阵的某一列)的数值特别大,那么它在整个误差计算的比重上就很大,那么可以想象在投影到低维空间之后,为了使低秩分解逼近原数据,整个投影会去努力逼近最大的那一个特征,而忽略数值比较小的特征。因为在建模前我们并不知道每个特征的重要性,这很可能导致了大量的信息缺失。为了“公平”起见,防止过分捕捉某些数值大的特征,我们会对每个特征先进行标准化处理,使得它们的大小都在相同的范围内,然后再进行PCA。

    此外,从计算的角度讲,PCA前对数据标准化还有另外一个好处。因为PCA通常是数值近似分解,而非求特征值、奇异值得到解析解,所以当我们使用梯度下降等算法进行PCA的时候,我们最好先要对数据进行标准化,这是有利于梯度下降法的收敛。

    SofaSofa数据科学社区DS面试题库 DS面经
    清风 2017-03-23 11:11

    这个给力!估计很多人跟我一样,只注意到第二点。但是我觉得你写得第一点更重要! - 汪王往望 2017-04-15 11:33
    谢谢!学习了! - PG Two 2017-09-08 13:09
    应该说是数据都需要标准化,让每个维度的重要性一样。如果已知某维度比较重要,可以再乘上系数。然后再是PCA的问题。 - Zealing 2018-03-15 12:47
    谢谢分享! - ccc225 2018-05-20 09:43
    试了下,有些数据集做不做标准化,PCA的结果差距是非常大的。如果不做标准化,数值较大的特征会对结果产生更大的影响。对于手头某个数据集: n_components = 14 标准化前 explained_variance_ratio = [0.99708 0.00291 0.00001 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ] 标准化后: explained_variance_ratio = [0.17403 0.11963 0.09637 0.07923 0.07411 0.07285 0.07014 0.06593 0.06344 0.06011 0.05312 0.04306 0.02798 0. - cy1019x 2019-04-29 11:37
    4
    没做标准化的PCA是找covariance matrix的eigenvector,标准化后的PCA是找correlation matrix的eigenvector。如清风说的第一点,如果没有做标准化,eigenvector会偏向方差最大的变量,偏离理论上的最佳值。

    举例说明。假设一个2维Gaussian,correlation matrix是[1 0.4;0.4 1], std(x1)=10,std(x2)=1。理论上最佳的分解向量是椭圆的长轴,如果没有做标准化,PCA算出的向量和长轴会有偏差。标准化后偏差会减到很小。

    #standarization of PCA
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.decomposition import PCA
    from sklearn.preprocessing import StandardScaler
    np.set_printoptions(precision=3)
    np.random.seed(0)
    n=1000000
    mu=[0,0]
    corr=np.array([[1.,.4],[.4,1.]])
    std_vector=[10.,1]

    A_ori=np.random.multivariate_normal(mu,corr,n)
    A_scaled=np.matmul(A_ori,np.diag(std_vector))
    scaler = StandardScaler()
    scaler.fit(A_scaled)
    A_standarized=scaler.transform(A_scaled)

    pca = PCA()
    pca.fit(A_scaled)
    pca1 = PCA()
    pca1.fit(A_standarized)

    print(‘Correlation Coefficient matrix is:’)
    print(corr)
    print(‘std vector is:’)
    print(std_vector)

    print(‘Covariance matrix is:’)
    print(np.cov(A_scaled.T))

    print(’—Before standarization—’)
    print(‘Components:’)
    print(pca.components_)
    print(‘Sigular values:’)
    print(pca.explained_variance_)

    print(’—After standarization—’)
    print(‘Components:’)
    print(pca1.components_)
    print(‘Sigular values:’)
    print(pca1.explained_variance_)

    draw PCA components

    t1=np.linspace(-20,20,100)
    t2=t1*std_vector[1]/std_vector[0]

    plt.figure(figsize=[10,5])
    plt.subplot(121)
    plt.hist2d(A_scaled[:,0],A_scaled[:,1],100,alpha=0.7)
    plt.plot(t1,t2,’–k’)
    c=pca.components_
    r=np.sqrt(pca.explained_variance_)
    plt.arrow(0,0,c[0,0]*r[0],c[0,1]*r[0],color=‘red’,head_width=.3)
    plt.arrow(0,0,c[1,0]*r[1],c[1,1]*r[1],color=‘blue’,head_width=.3)

    plt.axis(‘equal’)

    plt.title(‘before standarized’)

    t1=np.linspace(-20,20,100)
    cov=np.cov(A_standarized.T)
    t2=t1*cov[1,1]
    plt.subplot(122)
    plt.hist2d(A_standarized[:,0],A_standarized[:,1],100,alpha=0.7)
    plt.plot(t1,t2,’–k’)
    c=pca1.components_
    r=np.sqrt(pca1.explained_variance_)
    plt.arrow(0,0,c[0,0]*r[0],c[0,1]*r[0],color=‘red’,head_width=.2)
    plt.arrow(0,0,c[1,0]*r[1],c[1,1]*r[1],color=‘blue’,head_width=.2)

    plt.axis(‘equal’)

    plt.title(‘after standarized’)
    plt.show()
    SofaSofa数据科学社区DS面试题库 DS面经
    Zealing 2019-04-30 21:17

    2
    PCA实现的方式其实有四种:

    标准化数据后的协方差矩阵
    标准化数据后的相关系数矩阵
    未标准化数据后的相关系数矩阵
    标准化数据后的svd方式
    这四种方式是等价的。

    SofaSofa数据科学社区DS面试题库 DS面经
    zhanglu 2018-03-28 12:58

    1
    不标准化的PCA就是TruncatedSVD,其实不标准化也行吧。

    展开全文
  • Feature scaling(特征缩放),常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术,有时甚至决定了算法能不能work以及work得好不好。谈到feature scaling的必要性,最常用的2个例子可能是: 特征...
  • 为什么要进行数据标准化

    千次阅读 2019-11-11 22:46:27
    在现实生活中,一个目标变量(y)可以认为是由...x1对目标变量的影响程度将会比x2、x3对目标变量的影响程度大(可以这样认为目标变量由x1掌控,x2,x3影响较小,一旦x1的值出现问题,将直接的影响到目标变量的预测...
  • 在回归问题和一些机器学习算法中,以及训练神经网络的过程中,通常需要对原始数据进行中心化(Zero-centered 或者 Mean-subtraction)处理和标准化(Standardization 或者 Normalization)处理。 1.矩阵中心化 矩阵...
  • 本文关注:对于神经网络(主要是全连接网络+SGD)的学习训练,标准化有什么好处(加速收敛),以及为什么有这样的好处。本文观点大多总结自lecun98年的论文:Efficient BackProp,详情请参考原论文。翻译以及总结...
  • 中心化和标准化

    千次阅读 2018-09-03 20:55:01
    1 为什么会谈到中心化和标准化呢? 因为在阅读《推荐系统》一书,学习“改进余弦相似度”和“Pearson”相关系数时,都谈到了减去均值...3 为什么要提出中心化和标准化的方法? 4 中心化和标准化的实际应用有哪些?...
  • 在回归问题和一些机器学习算法中,以及训练神经网络的过程中,通常需要对原始数据进行中心化(Zero-centered或者Mean-subtraction)处理和标准化...下面解释一下为什么需要使用这些数据预处理步骤。 在一些实际问题...
  • 企业软件的组件不能标准化、模块化的原因是什么?因为此话题说来话长,所以特写一篇博文以回复。一、企业软件的组件啥不能标准化企业软件是映射企业现实的。只有给企业现实建立3D扫描模型,才能很好的把这个企业...
  • 特征标准化

    千次阅读 2018-09-18 11:36:42
    为什么要特征标准化 今天我们会来聊聊机器学习所需要的数据,为了让机器学习方面消化, 我们需不需要对数据动些手脚呢. 所以今天就会提到特征数据的标准化, 也可以说正常化, 归一化, 正规化等等. 现实中的数据 说...
  • R中数据的标准化0-1标准化

    万次阅读 2017-07-12 00:02:26
    数据标准化,是将数据按比例缩放,使之落入到特定区间,一般我们使用0-1标准化; x=(x-min)/(max-min) >data ('1.csv', fileEncoding='utf-8') > data class name score 1 一班 朱志斌 120 2 一班 朱凤 122 3 一班 ...
  • 数据标准化

    千次阅读 2016-10-30 23:01:19
    数据标准化,是指将数据按比例缩放,使之落到一个特定的区间,数据标准化目的是消除单位的影响,方便进行比较分析,常用的数据标准化方法有【0-1标准化】和【Z标准化】。 0-1标准化 0-1标准化也称为离差...
  • 标准化、归一化、中心化

    千次阅读 多人点赞 2018-10-01 23:22:52
    标准化、归一化、中心化 数据分析及挖掘中常提到的几个概念(数据的 标准化、归一化、中心化),虽然经常在用,但可能还是有一些比较生僻的知识容易搞混淆,所以在十月国庆大家都出门上高速堵车的时候抽了点时间对...
  • 回归分析标准化系数

    万次阅读 2018-07-30 11:21:41
    标准化的回归系数是指将数据标准化(减均值除方差)后计算得到的回归系数。因为数据进行了标准化,因此就取消了量纲的影响。假设因变量y,自变量x,标准回归系数a。那么在解释时就说,当x变化1个标准差是,y...
  • 什么标准化,规范化,系统化?

    千次阅读 2014-10-08 11:36:31
    我们的日常生活和工作中,常会用到
  • 数据的中心化和标准化

    万次阅读 多人点赞 2017-11-17 15:06:09
    目的:通过中心化和标准化处理,得到均值0,标准差1的服从标准正态分布的数据。在回归问题和一些机器学习算法中,以及训练神经网络的过程中,还有PCA等通常需要对原始数据进行中心化(Zero-center
  • spss实现中心化处理、标准化处理和归一化处理

    万次阅读 多人点赞 2019-03-19 22:11:33
    文章目录一、中心化、标准化、归一化简单描述二、中心化处理三、标准化处理四、归一化处理五、参考资料 一、中心化、标准化、归一化简单描述 意义:数据中心化和标准化在回归分析中是取消由于量纲不同、自身...
  • 什么是批标准化 (Batch Normalization)

    千次阅读 2018-09-19 11:26:00
    为什么要数据标准化 (1)具有统一规格的数据, 能让机器学习更容易学习到数据之中的规律. (2)也是优化神经网络的一种方法   什么是批标准化 (Batch Normalization) Batch Normalization, 批标准化, 和普通...
  • 特征的标准化和归一化

    千次阅读 2018-07-30 00:01:22
    z-score标准化:这是最常见的特征预处理方式,基本所有的线性模型在拟合的时候都会做 z-score标准化。具体的方法是求出样本特征x的均值mean和标准差std,然后用(x-mean)/std来代替原特征。这样特征就变成了均值0...
  • 3.4.2数据标准化(一) - Z-Score标准化

    万次阅读 多人点赞 2018-05-14 18:05:25
    在数据标准化中,常见的方法有如下三种:Z-Score 标准化最大最小标准化小数定标法本篇主要介绍第一种数据标准化的方法,Z-Score标准化。此方法在整个数据分析与挖掘体系中的位置如下图所示。Z-Score处理方法处于整个...
  • 批量标准化(BN)、实例标准化(IN)、特征标准化(FN)

    万次阅读 多人点赞 2018-04-23 15:44:43
    一、批量标准化(BN,Batch Normalization) 1、BN 简介 a、协变量偏移问题 我们知道,在统计机器学习中算法中,一个常见的问题是协变量偏移(Covariate Shift),协变量可以看作是输入变量。一般的...
  • 样本中心化、标准化

    千次阅读 2019-07-14 12:40:16
    在回归问题和一些机器学习算法中,以及训练神经网络的过程中,通常需要对原始数据进行中心化(Zero-centered或者Mean-subtraction)处理和标准...下面解释一下为什么需要使用这些数据预处理步骤。先看一个标准化例子...
  • CNN 入门讲解:什么标准化

    千次阅读 2018-04-15 22:28:37
    下面我们来看看,在CNN中,我们为什么要给图像做标准化 很多时候我们的训练图片会出现下面的情况: 大家看上面两只猪,对于人来说,它就是两只一样的猪,只是图片的灰度或者曝光度不一样罢了,于是我们都给它们都...
  • 那么我们为什么要对样本数据进行中心化和标准化处理呢? 在一般的实际问题当中,我们要分析的数据一般是多个维度的,由多个特征或者属性构成的复杂数据集合。例如对某个地区的人均收入构建预测模型或者进行分析的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,499,862
精华内容 599,944
关键字:

企业为什么要标准化