zoukankan      html  css  js  c++  java
  • sklearn preprocessing (预处理)

    预处理的几种方法:标准化、数据最大最小缩放处理、正则化、特征二值化和数据缺失值处理。

    知识回顾:

    p-范数:先算绝对值的p次方,再求和,再开p次方。

    数据标准化:尽量将数据转化为均值为0,方差为1的数据,形如标准正态分布(高斯分布)。

    标准化(Standardization)

    公式为:(X-X_mean)/X_std 计算时对每个属性/每列分别进行。

    将数据按其属性(按列进行)减去其均值,然后除以其方差。最后得到的结果是,对每个属性/每列来说所有数据都聚集在0附近,方差值为1。

    sklearn中preprocessing库里面的scale函数使用方法:

    sklearn.preprocessing.scale(X, axis=0, with_mean=True, with_std=True, copy=True)

    根据参数不同,可以沿任意轴标准化数据集。

    参数:

    • X:数组或者矩阵
    • axis:int类型,初始值为0,axis用来计算均值和标准方差。如果是0,则单独的标准化每个特征(列),如果是1,则标准化每个观测样本(行)。
    • with_mean:boolean类型,默认为True,表示将数据均值规范到0。
    • with_std:boolean类型,默认为True,表示将数据方差规范到1。

    范例:假设现在构造一个数据集X,然后想要将其标准化。

    方法一:使用sklearn.preprocessing.scale()函数

    方法说明:

    • X.mean(axis=0)用来计算数据X每个特征的均值;
    • X.std(axis=0)用来计算数据X每个特征的方差;
    • preprocessing.scale(X)直接标准化数据X。

    方法二:sklearn.preprocessing.StandardScaler类

    sklearn.preprocessing.StandardScaler(copy=True, with_mean=True, with_std=True)

    scaler = preprocessing.StandardScaler()
    X_scaled = scaler.fit_transform(X)

     scaler = preprocessing.StandardScaler().fit(X)
    X_scaled = scaler.transform(X)

     上面两段代码等价。

    转换器(Transformer)主要有三个方法:

    fit():训练算法,拟合数据

    transform():标准化数据

    fit_transform():先拟合数据,再标准化。

  • 相关阅读:
    超级强大的SVG SMIL animation动画详解
    Java Math的 floor,round和ceil的总结
    理解SVG的viewport,viewBox,preserveAspectRatio
    SVG-1
    PHP通过exec执行git pull
    Nodejs中request出现ESOCKETTIMEDOUT解决方案
    Linux安装了mysql 无法远程连接
    linux下docker启动nginx无法访问80端口
    ZPL文件打印
    k8s结合helm部署
  • 原文地址:https://www.cnblogs.com/keye/p/8194539.html
Copyright © 2011-2022 走看看