在数据预处理阶段,特征的标准化有哪些方法?

  统计/机器学习 数据预处理    浏览次数: 1762
4

特征的标准化具体是什么意思?

 

雕牌   2017-03-18 11:34



   1个回答 
10

特征标准化(Feature Standardization)的作用是将样本数据中的每一列特征缩放到一个统一的尺度。方法有很多种,我列几个最常用的。

1. 最大值最小值标准化

$$x'=\frac{x-\min}{\max - \min}.$$

$x$是原始数值,$x'$是标准化之后的数值。标准化之后,该列所有的数都将会在$[0,1]$之间。当然我们可以稍作调整,把数据缩放到$[-1,1]$的尺度上。

$$x'=\frac{x-m}{\max - m},$$

其中$m=(\max + \min)/2$。注意以上提到的最大值、最小值,都是指该列的最大值、最小值。


2. 正态标准化

$$x'=\frac{x-\mu}{\sigma}.$$

其中$\mu$和$\sigma$分别是这列数据的均值和标准差。这个过程就和把一个正态分布标准化的过程是一样的,所以也称作正态标准化(Normalization)。根据正态分布的$3\sigma$-原则,我们可以预计,在正态标准化之后,比较接近正态分布的数据在标准化后基本上都会在$[-3,3]$之间。


3. 分位数标准化

$$x'=\frac{x-Median}{IQR}.$$

其中$IQR$是四分位距,也就是第三四分位(3rd quartile)和第一四分位(1st quartile)的差,Median是这一列的中位数。分位数标准化后的数据尺度和数据本身的分散程度相关,但是通常也是在$[-3,3]$的范围内。


4. 范数标准化

$$x'=\frac{x}{\|X\|}.$$

$X$是这一列所有的数,$\|X\|$是这一列的范数,可以取1-范数,也可以取2-范数。对特征进行范数标准化之后,这列所有的数值都会是在$[0,1]$之间。

高代兄   2017-03-24 10:54



  相关主题

在训练前数据处理的时候,怎么剔除异常值?   1回答

dummy variable是n个还是n-1个   2回答

什么时候需要对y或者特征进行对数变换?   0回答

z-score标准化不适用于处理什么样的数据?   1回答

python的dataframe如何重新排列行或者列   1回答

怎么求一个数组的移动平均数   1回答

让DataFrame中的行按照某一列元素的绝对值从大到小排列   1回答

数据一样,y却不一样的样本该怎么处理?   2回答

对于数值型变量模型怎么知道是连续变量还是离散变量?   2回答

对进行回归分析之前,如何处理不同类型的变量?   1回答

statsmodels里的ols怎么处理分类变量?   1回答

训练集中重复的样本需要被删除吗?   3回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!