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():先拟合数据,再标准化。

  • 相关阅读:
    虚函数和纯虚函数
    MS CRM 2011中PartyList类型字段的实例化
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(2)
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
    MS CRM 2011 SDK 5.08已经发布
    MS CRM 2011 Q2的一些更新
    最近很忙
    Microsoft Dynamics CRM 2011最近的一些更新
    补一篇,Update Rollup 12 终于发布了
  • 原文地址:https://www.cnblogs.com/keye/p/8194539.html
Copyright © 2011-2022 走看看