原文链接:https://blog.csdn.net/weixin_39175124/article/details/79463993

数据在前处理的时候,经常会涉及到数据标准化。将现有的数据通过某种关系,映射到某一空间内。常用的标准化方式是,减去平均值,然后通过标准差映射到均至为0的空间内。系统会记录每个输入参数的平均数和标准差,以便数据可以还原。

很多ML的算法要求训练的输入参数的平均值是0并且有相同阶数的方差例如:RBF核的SVM,L1和L2正则的线性回归

sklearn.preprocessing.StandardScaler能够轻松的实现上述功能。

调用方式为: 
首先定义一个对象: 
ss = sklearn.preprocessing.StandardScaler(copy=True, with_mean=True, with_std=True) 
在这里 
copy; with_mean;with_std 
默认的值都是True.

copy 如果为false,就会用归一化的值替代原来的值;如果被标准化的数据不是np.array或scipy.sparse CSR matrix, 原来的数据还是被copy而不是被替代

with_mean 在处理sparse CSR或者 CSC matrices 一定要设置False不然会超内存

能够查询的属性:

scale_: 缩放比例,同时也是标准差

mean_: 每个特征的平均值

var_:每个特征的方差

n_sample_seen_:样本数量,可以通过patial_fit 增加

举个例子:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.preprocessing import StandardScaler
#data = pd.read_csv("C:/学习/python/creditcard/creditcard.csv")
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]).reshape((3, 3))
ss = StandardScaler()
print(x)
ss.fit(X=x)
print(ss.n_samples_seen_)
print(ss.mean_)
print(ss.var_)
print(ss.scale_)
y = ss.fit_transform(x)
print(y)
z = ss.inverse_transform(y)
print(z)

运行结果为:

能够被调用的Methods:

fit(X,y=None):计算输入数据各特征的平均值,标准差以及之后的缩放系数 ,以后就可以按照这个数据调用transofrm()
X:训练集
y: 传入为了使得和Pipeline兼容

fit_transform(X,y=None,**fit_params): 通过fit_params调整数据X,y得到一个调整后的X ,使得每个特征的数据分布平均值为0,方差为1
X 为array:训练集 
y 为标签 
返回一个改变后的X

get_params(deep=True): 返回StandardScaler对象的设置参数,

inverse_transform(X,copy=None):顾名思义,就是按照缩放规律反向还原当前数据

transform(X, y=’deprecated’, copy=None):基于现有的对象规则,标准化新的参数

可以认为fit_transform()是fit()和transform()的合体。

sklearn.preprocessing.StandardScaler数据标准化的更多相关文章

  1. sklearn.preprocessing.StandardScaler 离线使用 不使用pickle如何做

    Having said that, you can query sklearn.preprocessing.StandardScaler for the fit parameters: scale_ ...

  2. sklearn preprocessing data(数据预处理)

    参考: http://scikit-learn.org/stable/modules/preprocessing.html

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

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

  4. 数据规范化——sklearn.preprocessing

    sklearn实现---归类为5大类 sklearn.preprocessing.scale()(最常用,易受异常值影响) sklearn.preprocessing.StandardScaler() ...

  5. sklearn中的数据预处理----good!! 标准化 归一化 在何时使用

    RESCALING attribute data to values to scale the range in [0, 1] or [−1, 1] is useful for the optimiz ...

  6. sklearn preprocessing (预处理)

    预处理的几种方法:标准化.数据最大最小缩放处理.正则化.特征二值化和数据缺失值处理. 知识回顾: p-范数:先算绝对值的p次方,再求和,再开p次方. 数据标准化:尽量将数据转化为均值为0,方差为1的数 ...

  7. sklearn中常用数据预处理方法

    1. 标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计 ...

  8. 11.sklearn.preprocessing.LabelEncoder的作用

    In [5]: from sklearn import preprocessing ...: le =preprocessing.LabelEncoder() ...: le.fit(["p ...

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

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

随机推荐

  1. 原根&离散对数简单总结

    原根&离散对数 1.原根 1.定义: 定义\(Ord_m(a)\)为使得\(a^d\equiv1\;(mod\;m)\)成立的最小的d(其中a和m互质) 由欧拉定理可知: \(Ord\le\P ...

  2. 关于在react里面es6构建类的时候,一些开始的问题

    一般来说我们写react代码,个人习惯 这个里面没有constructor和super的,这样写也没啥问题.因为他会默认加上 但是有的时候有人会加上这两个 可以不写constructor,一旦写了co ...

  3. 【51nod1220】约数之和

    题目 d(k)表示k的所有约数的和.d(6) = 1 + 2 + 3 + 6 = 12. 定义S(N) = ∑1<=i<=N ∑1<=j<=N d(i*j). 例如:S(3) ...

  4. testNG之测试报告

    原文:https://www.cnblogs.com/yuan-yuan/p/4503524.html 测试报告 执行完测试用例之后,会在项目的test-output(默认目录)下生成测试报告 打开i ...

  5. k8s-insight测试

    eureka apiVersion: v1 kind: Pod metadata: name: eureka labels: ccb: eureka spec: containers: - name: ...

  6. Java多线程和并发(九),ReentrantLock(公平锁)

    目录 1.ReentrantLock 2.ReentrantLock的实现 3.synchronized和ReentrantLock的区别 九.ReentrantLock(公平锁) 1.Reentra ...

  7. 51 Nod 1086 多重背包问题(二进制优化)

    1086 背包问题 V2  基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放 ...

  8. 关于多个py文件生成一个可运行exe文件(用pyinstaller)

    首先下载Pyinstaller,在cmd命令下执行:pip installer Pyinstaller,不需要关心安装在哪 然后把所有相关的py文件都放在一个目录下 在那个目录下执行cmd命令:pyi ...

  9. springboot 测试发送邮件

    首先在pom文件引入依赖: <!--email依赖 --> <dependency> <groupId>org.springframework.boot</g ...

  10. Python 入门知识

    一python 语言介绍 特点 简单清晰明确   目前是全球最火的高级编程语言  应用领域很广 NASA FACEBOOK 谷歌 春雨医生 金山 腾讯,Python是一门解释性弱类型编程语言.编译性得 ...