数据预处理——标准化

MinMaxScaler

模型原型

class sklearn.preprocessing.MinMaxScaler(feature_range=(0,1),copy=True)
参数

  • feature_range:指定预期变换后属性的取值范围
  • copy:如果为True,则执行原地修改

属性

  • min_:一个数组,给出每个属性的原始的最小值调整值
  • scale_:一个数组,给出每个属性的缩放倍数
  • data_min_
  • data_max_
  • data_range_

方法

  • fit(X,[,y]):计算每个属性的最大值,最小值,为后续的转换做准备
  • transform(X):执行属性标准化
  • fit_transform(X[,y])
  • inverse_transform(X):逆标准化,还原成原始数据
  • partial_fit(X[,y]):批量学习,学习部分数据

示例

from sklearn.preprocessing import MinMaxScaler
X=[
    [1,5,1,2,10],
    [2,6,3,2,7],
    [3,7,5,6,4],
    [4,8,7,8,1]
]
print('before transform:\n',X)
scaler=MinMaxScaler(feature_range=(0,2))
scaler.fit(X)
print('min_ :\n',scaler.min_)
print('scale_:\b',scaler.scale_)
print('data_max_:\n',scaler.data_max_)
print('sata_min_:\n',scaler.data_min_)
print('data_range_:\n',scaler.data_range_)
print('after transform:\n',scaler.transform(X))

MaxAbsScaler

模型原型

class sklearn.preprocessing.MaxAbsScaler(copy=True)
参数

  • copy:如果为True,则执行原地修改

属性

  • scale_:一个数组,给出每个属性的缩放倍数的倒数
  • maxabs:一个数组,给出每个属性的绝对值的最大值
  • n_samplesseen:一个整数,给出当前已经处理的样本的数量(用于分批训练)

方法

  • fit(X,[,y]):计算每个属性绝对值的最大值,为后续的转换做准备
  • transform(X):执行属性标准化
  • fit_transform(X[,y])
  • inverse_transform(X):逆标准化,还原成原始数据
  • partial_fit(X[,y]):批量学习,学习部分数据

示例

from sklearn.preprocessing import MaxAbsScaler
X=[
    [1,5,1,2,10],
    [2,6,3,2,7],
    [3,7,5,6,4],
    [4,8,7,8,1]
]
print('before transform:\n',X)
scaler=MaxAbsScaler()
scaler.fit(X)
print('scale_:\n',scaler.scale_)
print('max_abs_is:\n',scaler.max_abs_)
print('after transform:\n',scaler.transform(X))

StandardScaler

模型原型

class sklearn.preprocessing.StandardScaler(copy=True,with_mean=True,with_std=True)
参数

  • copy:如果为True,则执行原地修改
  • with_mean:如果为True,则缩放之前先将数据中心化(属性值减去均值)
  • with_std:如果为True,则缩放数据到单位方差

属性

  • scale_:一个数组,给出每个属性的缩放倍数的倒数
  • maxabs:一个数组,给出每个属性的绝对值的最大值
  • n_samplesseen:一个整数,给出当前已经处理的样本的数量(用于分批训练)

方法

  • fit(X,[,y]):计算每个属性方差和标准差,为后续的转换做准备
  • transform(X):执行属性标准化
  • fit_transform(X[,y])
  • inverse_transform(X):逆标准化,还原成原始数据
  • partial_fit(X[,y]):批量学习,学习部分数据

示例

from sklearn.preprocessing import StandardScaler
X=[
    [1,5,1,2,10],
    [2,6,3,2,7],
    [3,7,5,6,4],
    [4,8,7,8,1]
]
print('before transform:\n',X)
scaler=StandardScaler()
scaler.fit(X)
print('scale_:\n',scaler.scale_)
print('mean_:\n',scaler.mean_)
print('var_:\n',scaler.var_)
print('after transform:\n',scaler.transform(X))

猜你喜欢

转载自blog.csdn.net/weixin_39777626/article/details/79936095