特征预处理之无量纲化

特征预处理

provides several common utility functions and transformer classes to change raw feature vectors into a representation that is more suitable for the downstream estimators.

  • 特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级容易影响(支配)目标结果,使得一些算法无法学习到其它的特征,所以要进行特征预处理(即无量纲化)。

无量纲化包括归一化和标准化:

  • 归一化

    把数据映射到[0, 1]之间,最大值与最小值非常容易受异常点影响

    X^{\prime}=\frac{x-m i n}{m a x-m i n} \qquad X^{\prime \prime}=X^{\prime} *(m x-m i)+m i
    api:

    sklearn.preprocessing.MinMaxScaler (feature_range=(0,1)… )

    • MinMaxScalar.fit_transform(X)
    • X:numpy array格式的数据[n_samples,n_features]
    • 返回值:转换后的形状相同的array
  • 标准化

    通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内
    X^{\prime}=\frac{x-\text { mean }}{\sigma}
    sklearn.preprocessing.StandardScaler( )

    • 处理之后每列来说所有数据都聚集在均值0附近标准差差为1
    • StandardScaler.fit_transform(X)
    • X:numpy array格式的数据[n_samples,n_features]
    • 返回值:转换后的形状相同的array

代码示例:

发表评论

邮箱地址不会被公开。 必填项已用*标注