作用:去均值和方差归一化。且是针对每一个特征维度来做的,而不是针对样本。
【注:】
并不是所有的标准化都能给estimator带来好处。
“Standardization of a dataset is a common requirement for many machine learning estimators: they might behave badly if the individual feature do not more or less look like standard normally distributed data (e.g. Gaussian with 0 mean and unit variance).”

实例代码

# coding=utf-8
# 统计训练集的 mean 和 std 信息
from sklearn.preprocessing import StandardScaler
import numpy as np def test_algorithm():
np.random.seed(123)
print('use sklearn')
# 注:shape of data: [n_samples, n_features]
data = np.random.randn(10, 4)
scaler = StandardScaler()
scaler.fit(data)
trans_data = scaler.transform(data)
print('original data: ')
print data
print('transformed data: ')
print trans_data
print('scaler info: scaler.mean_: {}, scaler.var_: {}'.format(scaler.mean_, scaler.var_))
print('\n') print('use numpy by self')
mean = np.mean(data, axis=0)
std = np.std(data, axis=0)
var = std * std
print('mean: {}, std: {}, var: {}'.format(mean, std, var))
# numpy 的广播功能
another_trans_data = data - mean
# 注:是除以标准差
another_trans_data = another_trans_data / std
print('another_trans_data: ')
print another_trans_data if __name__ == '__main__':
test_algorithm()

程序的输出如下:

use sklearn
original data:
[[-1.0856306 0.99734545 0.2829785 - 1.50629471]
[-0.57860025 1.65143654 - 2.42667924 - 0.42891263]
[1.26593626 - 0.8667404 - 0.67888615 - 0.09470897]
[1.49138963 - 0.638902 - 0.44398196 - 0.43435128]
[2.20593008
2.18678609
1.0040539
0.3861864]
[0.73736858 1.49073203 - 0.93583387 1.17582904]
[-1.25388067 - 0.6377515
0.9071052 - 1.4286807]
[-0.14006872 - 0.8617549 - 0.25561937 - 2.79858911]
[-1.7715331 - 0.69987723
0.92746243 - 0.17363568]
[0.00284592 0.68822271 - 0.87953634 0.28362732]]
transformed
data:
[[-0.94511643 0.58665507 0.5223171 - 0.93064483]
[-0.53659117 1.16247784 - 2.13366794 0.06768082]
[0.9495916 - 1.05437488 - 0.42049501
0.3773612]
[1.13124423 - 0.85379954 - 0.19024378 0.06264126]
[1.70696485
1.63376764
1.22910949
0.8229693]
[0.52371324 1.02100318 - 0.67235312 1.55466934]
[-1.08067913 - 0.85278672
1.13408114 - 0.858726]
[-0.18325687 - 1.04998594 - 0.00561227 - 2.1281129]
[-1.49776284 - 0.9074785
1.15403514
0.30422599]
[-0.06810748 0.31452186 - 0.61717074 0.72793583]]
scaler info: scaler.mean_: [0.08737571 0.33094968 - 0.24989369 - 0.50195303], scaler.var_: [1.54038781 1.29032409
1.04082479 1.16464894] use numpy by self
mean: [0.08737571 0.33094968 - 0.24989369 - 0.50195303], std: [1.24112361 1.13592433 1.02020821
1.07918902], var: [1.54038781 1.29032409
1.04082479 1.16464894]
another_trans_data:
[[-0.94511643 0.58665507 0.5223171 - 0.93064483]
[-0.53659117 1.16247784 - 2.13366794 0.06768082]
[0.9495916 - 1.05437488 - 0.42049501
0.3773612]
[1.13124423 - 0.85379954 - 0.19024378 0.06264126]
[1.70696485
1.63376764
1.22910949
0.8229693]
[0.52371324 1.02100318 - 0.67235312 1.55466934]
[-1.08067913 - 0.85278672
1.13408114 - 0.858726]
[-0.18325687 - 1.04998594 - 0.00561227 - 2.1281129]
[-1.49776284 - 0.9074785
1.15403514
0.30422599]
[-0.06810748 0.31452186 - 0.61717074 0.72793583]]

sklearn 数据预处理1: StandardScaler的更多相关文章

  1. 吴裕雄 python 机器学习——数据预处理标准化StandardScaler模型

    from sklearn.preprocessing import StandardScaler #数据预处理标准化StandardScaler模型 def test_StandardScaler() ...

  2. sklearn数据预处理-scale

    对数据按列属性进行scale处理后,每列的数据均值变成0,标准差变为1.可通过下面的例子加深理解: from sklearn import preprocessing import numpy as ...

  3. sklearn数据预处理

    一.standardization 之所以标准化的原因是,如果数据集中的某个特征的取值不服从标准的正太分布,则性能就会变得很差 ①函数scale提供了快速和简单的方法在单个数组形式的数据集上来执行标准 ...

  4. 数据预处理及sklearn方法实现

    1.标准化(中心化) 在许多机器学习执行前,需要对数据集进行标准化处理.因为很对算法假设数据的特征服从标准正态分布.所以如果不对数据标准化,那么算法的效果会很差. 例如,在学习算法的目标函数,都假设数 ...

  5. Python数据预处理(sklearn.preprocessing)—归一化(MinMaxScaler),标准化(StandardScaler),正则化(Normalizer, normalize)

      关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常 ...

  6. 使用sklearn进行数据挖掘-房价预测(4)—数据预处理

    在使用机器算法之前,我们先把数据做下预处理,先把特征和标签拆分出来 housing = strat_train_set.drop("median_house_value",axis ...

  7. 【sklearn】数据预处理 sklearn.preprocessing

    数据预处理 标准化 (Standardization) 规范化(Normalization) 二值化 分类特征编码 推定缺失数据 生成多项式特征 定制转换器 1. 标准化Standardization ...

  8. sklearn学习笔记(一)——数据预处理 sklearn.preprocessing

    https://blog.csdn.net/zhangyang10d/article/details/53418227 数据预处理 sklearn.preprocessing 标准化 (Standar ...

  9. 【Sklearn系列】使用Sklearn进行数据预处理

    这篇文章主要讲解使用Sklearn进行数据预处理,我们使用Kaggle中泰坦尼克号事件的数据作为样本. 读取数据并创建数据表格,查看数据相关信息 import pandas as pd import ...

随机推荐

  1. Centos 7下VMware三台虚拟机Hadoop集群初体验

    一.下载并安装Centos 7 传送门:https://www.centos.org/download/    注:下载DVD ISO镜像 这里详解一下VMware安装中的两个过程 网卡配置 是Add ...

  2. 如何训练AI

    如何训练AI让其更加智能,而不是用特定的代码控制AI逻辑! AI守则 首先应该为机器人设置几个必要信息: 目标 规则 能力 目标,规定机器人要做到什么. 规则,规定机器人的限制,不能做什么. 能力,规 ...

  3. Html:html是什麽、html文件结构

    相关内容: html是什麽 html文件结构 首发日期:2018-02-12 html是什么: hmtl超文本标记语言,标准通用标记语言下的一个应用. html专门用于网页,它的“标志符”告诉了浏览器 ...

  4. python变量类型&字符串的内建函数使用

    python常用数据类型: 数字(整数int,浮点数float) 字符串 元组 列表 字典 一.格式化输出 1.1第一种格式化输出 %d整数  %f浮点数(用.*表示精确到多少位小数) %s字符串 % ...

  5. Python 常用的正则表达式

    校验数字的相关表达式: 功能 表达式 数字 ^[0-9]*$ n位的数字 ^\d{n}$ 至少n位的数字 ^\d{n,}$ m-n位的数字 ^\d{m,n}$ 零和非零开头的数字 ^(0|[1-9][ ...

  6. mysql----SELECT names/zh

    < SELECT names   Language: English  • 中文 name continent Afghanistan Asia Albania Europe Algeria A ...

  7. MyBatis笔记----Mybatis3.4.2与spring4整合:增删查改

    结构图 刚之前没什么区别,多了一个applicationContext.xml 包图 由于之前出了一点错误,有些包可能多加上了 数据库图 model User.java package com.ij3 ...

  8. 用好lua+unity,让性能飞起来——lua与c#交互篇

    前言 在看了uwa之前发布的<Unity项目常见Lua解决方案性能比较>,决定动手写一篇关于lua+unity方案的性能优化文. 整合lua是目前最强大的unity热更新方案,毕竟这是唯一 ...

  9. python异常处理与断言以及日志模块

    python异常处理与断言 目录: 1.异常处理 2.断言(assert) 3.日志模块(logging) 4.修改之前的车票信息查询,把日志模块.异常处理加进去 1.异常处理 代码如下: 语法: t ...

  10. C# -- 使用Aspose.Cells创建和读取Excel文件

    使用Aspose.Cells创建和读取Excel文件 1. 创建Excel Aspose.Cells.License li = new Aspose.Cells.License(); li.SetLi ...