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()的合体。

原文地址:https://www.cnblogs.com/loubin/p/11299116.html

时间: 2024-07-30 12:49:00

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

数据预处理 | 使用 sklearn.preprocessing.OrdinalEncoder 将分类特征转换为数值型

from sklearn.preprocessing import OrdinalEncoder model_oe = OrdinalEncoder() string_data_array = model_oe.fit_transform(string_data) string_data_pd = pd.DataFrame(string_data_con,columns=string_data.columns) 说明: 1  string_data  是挑出来的 需要转成数值型特征的 分类特征

Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: # 从sklearn.preprocessing导入StandardScaler from sklearn.preprocessing import StandardScaler # 标准化数据,保证每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值而主导 ss = Standard

机器学习中的数据标准化

标准化方法 Z-score Normalization Z-score normalization又叫?standardization(规范化),将特征进行缩放使得其具有均值为0,方差为1的标准正态分布的特性. \[ z = \frac{x-\mu}{\sigma} \] 其中均值\(\mu = \frac{1}{N} \sum_{i=1}^N (x_i)\),方差\(\sigma = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2}\). 标准化特征使

Python:sklearn中StandardScaler和scale的区别

StandardScaler和scale均为Z-score标准化,即减去均值µ除以标准差σ 而在进行数据标准化的时候,通常有两种方式: 1)将训练集和测试集统一进行标准化处理,此时均值和方差为整个数据的均值和方差 2)得到训练集的均值和标准差,用测试集的数据减去训练集的均值除以训练集的标准差. 在结果上来看,两种方法区别不大,不过第二种更偏向与实际应用场合. StandardScaler可以预先生成规则,即生成训练集的均值与标准差,然后利用训练集的均值和标准差去分别标准化训练集和测试集! 有点像

Python数据标准化、归一化

在进行数据分析或者机器学习时,通常需要对数据进行预处理,其中主要的步骤就是数据标准化/归一化. 常用的数据标准化和归一化方法主要有: 1. 最大最小标准化 y=(x-min(x))/(max(x)-min(x)),x为一序列,即x={x1,x2,x3......},max(x)为最大值,min(x)为最小值 2. z-score标准化 y=(x-mean(x))/std(x),mean(x)指的是均值,std(x)指的是标准差,结果会形成均值为0,方差为1的序列 3. 直接归一化 y=x/sum

转:数据标准化/归一化normalization

转自:数据标准化/归一化normalization 这里主要讲连续型特征归一化的常用方法.离散参考[数据预处理:独热编码(One-Hot Encoding)]. 基础知识参考: [均值.方差与协方差矩阵] [矩阵论:向量范数和矩阵范数] 数据的标准化(normalization)和归一化 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较

数据标准化

从广义上来讲,数据标准化的过程可以看作是业务系统内部或业务系统之间,乃至整个数据治理系统中的一个"语言"统一的过程. 只有语言统一,才能让同一业务系统或者不同业务系统之间有了对话.调用.通信的可能,从而保证使用的都是特定的某一个方言. 同样,数据标准化的过程反映程序及系统设计或架构级别时,就可以看作连接程序.机器.用户的一个枢纽,通过标准化让程序.机器.用户都明白某一个词素的确切含义,如果引入新系统或者新架构时又可以根据数据库中的信息进行对照从而确定是否有该词素,如果没有进行相应添加或

数据标准化(归一化)处理

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和 量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性.原始数据经过数据标准 化处理后,各指标处于同一数量级,适合进行综合对比评价.以下是两种常用的归一化方法: 一.min-max标准化(Min-Max Normalization) 也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间.转换函数如下: 其中max为样本数据的

[转] [机器学习] 常用数据标准化(正则化)的方法

数据正则化 目的:为了加快训练网络的收敛性,可以不进行归一化处理 源地址:http://blog.sina.com.cn/s/blog_8808cae20102vg53.html 而在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级.当各指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削弱数值水平较低指标的作用.因此,为了保证结果的可靠性,需要对原始指标数据进行标准化处理. 目前数据标准化方法有多种,归结起来可以分为直线型