数据预处理的目的:就是消除的某(列、特征)数据的量纲影响。并不是对不同(列、特征)间的差异。
量纲与无量纲?
量纲:
物理量的大小与单位有关。
核心的两个单词:大小、单位。
即量纲由两部分组成:数、单位。就比如1块钱和1分钱,就是两个不同的量纲,因为度量的单位不同。
无量纲:
物理量大小与单位无关。
首先标量肯定是无量纲的,因为只有大小,没有单位。其次就是比值(占比),因为一般来说比值都是由一个量纲除以了某个量纲后得到的,比如速度可以有“k m / s km/skm/s”,“m / s m/sm/s”等等。
还有一个很显眼的无量纲,就是协方差的相关系数,因为协方差的相关系数是协方差归一化后得到的结果,可以用来衡量相关性,既然能够直接拿来衡量相关性,那么就是无量纲的。
数据预处理方法:标准化(均值-标准差)、归一化(Mix-Max)、正则化
标准化和归一化都是特征缩放(线性变换)的方式;正则化则是将样本缩放到单位范数。
归一化一般是范围限制在[0,1]之间,当然也可以是[-1,1],具体方法在参考3。
归一化不会改变原本数据的排序关系(参考1):例如原本是[1,5,3]变换后:[0,1,0.5]大小关系依旧。(正则化好像也满足,参考数据集生成的实验结果)
标准化转换后为标注正态分布,和整体样本相关,每个样本都对标准化产生影响。
对数据进行正则化变换,正则化是为了防止过拟合。具体参考1,2.
那么关于归一化、标准化的本质区别就是说:归一化是将特征缩放到[0,1]区间,标准化是把特征缩放到均值为0,标准差为1。
使用场景:
在参考4中:
参考3:
由上面这个比较 看来,标准化建议使用优先级最高。
在分类、聚类中,凡是涉及距离来度量相似性或PCA降维时候,标准化较好。
在不涉及距离度量,协方差,数据不符合正态分布,归一化。
注:数据标准化等是对训练集进行处理,不是对整个数据集进行。
标准化:
sklearn.preprocessing中的scale和StandardScaler两种标准化方式的区别
标准化指的是:均值方差处理,结果是介于-1到1。该方式有两种实现方法,上面链接中详细描述。
在“C:\Users\12506\Project_test\数据集生成.ipynb”已经实验。