• 数据预处理(一):标准化,中心化,正态化


    定义

    标准化(Standardization):将数据按照比例进行缩放,不改变数据的原始分布,使得不同的变量经过标准化处理后可以有平等分析和比较的基础。缩放后的数据均值为0,方差为1。但并不是标准正态分布。

    归一化(Normalization):中心化和标准化基本一样,都是要把数据缩放到某个范围里。归一化通常有两种做法:

    min-max 归一化的公式为:

    [公式]

    mean 归一化(有的地方也叫中心化)的公式为:

    [公式]

    正态化:改变数据的原始分布,使其服从正态分布。通常采用的方法有取对数,开平方根,取倒数,开平方,取指数等等,使得不对称分布的数据(偏态数据)呈现(或近似)正态分布。要这么做的原因在于:有些机器学习方法,比如线性回归模型就默认数据是正态分布。

    https://blog.csdn.net/lcmssd/article/details/80179102?utm_source=blogxgwz0

    https://blog.csdn.net/weixin_36604953/article/details/102652160

    关于到底是先标准化/归一化还是先划分数据集(前者归一化的时候同时考虑了测试集和训练集,如均值就与测试集有关;后者划分过后均值只和训练集有关),个人认为应该先划分数据集,对划分出来的训练集标准化后,再用相同的标准化公式(其中均值方差来自于训练集)对测试集进行标准化,保证测试集在维度上与训练集保持一致。代码如下:

    from sklearn import preprocessing
    scaler = preprocessing.StandardScaler().fit(X_train)#通过训练集获得归一化公式
    X_train_transformed = scaler.transform(X_train)#对训练集进行归一化
    X_test_transformed = scaler.transform(X_test)#对测试集进行归一化
  • 相关阅读:
    WPF 便签项目
    .NET下WPF学习之Socket通信
    DEV控件
    字符串位数补足
    VS2008设置断点不命中
    错误描述: 242000021
    关闭Win10自带的 Windows Defender
    启用与关闭 Ad Hoc Distributed Queries
    Date工具类
    数据字段脱敏
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14284417.html
Copyright © 2020-2023  润新知