sklearn.preprocessing.StandardScaler数据标准化
原文链接: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数据标准化的更多相关文章
- sklearn.preprocessing.StandardScaler 离线使用 不使用pickle如何做
Having said that, you can query sklearn.preprocessing.StandardScaler for the fit parameters: scale_ ...
- sklearn preprocessing data(数据预处理)
参考: http://scikit-learn.org/stable/modules/preprocessing.html
- Python数据预处理(sklearn.preprocessing)—归一化(MinMaxScaler),标准化(StandardScaler),正则化(Normalizer, normalize)
关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常 ...
- 数据规范化——sklearn.preprocessing
sklearn实现---归类为5大类 sklearn.preprocessing.scale()(最常用,易受异常值影响) sklearn.preprocessing.StandardScaler() ...
- sklearn中的数据预处理----good!! 标准化 归一化 在何时使用
RESCALING attribute data to values to scale the range in [0, 1] or [−1, 1] is useful for the optimiz ...
- sklearn preprocessing (预处理)
预处理的几种方法:标准化.数据最大最小缩放处理.正则化.特征二值化和数据缺失值处理. 知识回顾: p-范数:先算绝对值的p次方,再求和,再开p次方. 数据标准化:尽量将数据转化为均值为0,方差为1的数 ...
- sklearn中常用数据预处理方法
1. 标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计 ...
- 11.sklearn.preprocessing.LabelEncoder的作用
In [5]: from sklearn import preprocessing ...: le =preprocessing.LabelEncoder() ...: le.fit(["p ...
- 【sklearn】数据预处理 sklearn.preprocessing
数据预处理 标准化 (Standardization) 规范化(Normalization) 二值化 分类特征编码 推定缺失数据 生成多项式特征 定制转换器 1. 标准化Standardization ...
随机推荐
- 如何查看fullGC 次数
如何查看fullGC 次数 如何较少fullGC 如何保证几周才发生一次fullGC
- UML(Rational Rose)安装教程【载百度经验】
---恢复内容开始--- Win7安装rational rose2007教程 在UML建模的众多工具中,IBM公司的rational rose建模工具可以说是最好用的建模工具了.哪我们又该如何在win ...
- 【leetcode】1187. Make Array Strictly Increasing
题目如下: Given two integer arrays arr1 and arr2, return the minimum number of operations (possibly zero ...
- vs 2019 调试web项目 浏览器
- 我在做评论功能时学到的js一些思路
在提交评论的时候,如何判断是一级评论还是二级评论(因为都是通过一个文本域提交评论),思路:声明一个全局变量,如果是回复(二级评论)那么会触发点击回复事件,在这个事件的回调函数里给全局变量设置为true ...
- (转)HTTP请求报文和HTTP响应报文
原地址:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/28/2612910.html HTTP报文是面向文本的,报文中的每一个字段都是一些ASC ...
- php的intval函数
PHP intval() 函数 PHP 可用的函数PHP 可用的函数 intval() 函数用于获取变量的整数值. intval() 函数通过使用指定的进制 . PHP , PHP , PHP 语法 ...
- C++入门经典-例5.9-使用空类型指针执行函数
1:运行代码: // 5.9.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...
- C++入门经典-例3.19-使用break跳出循环
1:代码如下: // 3.19.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...
- C++入门经典-例2.17强制类型转换
1:代码如下: // 2.17.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...