class sklearn.preprocessing.StandardScaler(*, copy=True, with_mean=True, with_std=True)
通过去除平均值和缩放到单位方差来标准化特征
样本x的标准得分计算如下:
z = (x - u) / s
其中u是训练样本的平均值,如果with_mean=False则为0,s是训练样本的标准差,如果with_std=False则为1。
通过计算训练集中样本的相关统计量,对每个特征分别定心和缩放。然后将均值和标准差存储起来,用于以后的 transform。
数据集的标准化是许多机器学习估计器的共同要求:如果单个特征或多或少看起来不像标准正态分布数据(例如,具有0均值和单位方差的高斯分布),它们可能会表现糟糕。
例如,在学习算法的目标函数中使用的许多原理(如支持向量机的RBF核或线性模型的L1和L2正则化器)假定所有特征都以0为中心,并且具有相同顺序的方差。如果一个特征的方差比其他特征大一个数量级,那么它可能会主导目标函数,使估计器无法像预期的那样正确地从其他特征中学习。
该标量也可以应用于稀疏CSR或CSC矩阵,通过传入with_mean=False避免破坏数据的稀疏结构。
Parameters | |
---|---|
copybool, default=True | 如果为False,则尽量避免复制,而是进行原位缩放。这并不能保证总是有效;例如,如果数据不是NumPy数组或scipy。稀疏CSR矩阵,仍然可以返回一个副本。 |
with_meanbool, default=True | 如果为True,则在伸缩前将数据居中。这在尝试稀疏矩阵时不起作用(并且会引发异常),因为将它们居中需要构建一个密集的矩阵,而在通常的用例中,它可能太大而无法装入内存。 |
with_stdbool, default=True | 如果为True,将数据缩放为单位方差(或等效为单位标准差) |
Attributes |
Attributes | |
---|---|
scale_ndarray of shape (n_features,) or None | 每个特征相对缩放的数据,以实现零均值和单位方差。通常这是用np.sqrt(var_)计算的。如果方差为零,我们不能实现单位方差,数据保持原样,比例因子为1。当with_std=False时scale_等于None。 |
mean_ndarray of shape (n_features,) or None | 训练集中每个特征的平均值。当with_mean=False时等于None。 |
var_ndarray of shape (n_features,) or None | 训练集中每个特征的方差。用于计算scale_。当with_std=False时等于None。 |
n_samples_seen_int or ndarray of shape (n_features,) | 估计器对每个特征处理的样本数。如果没有缺少样本,n_samples_seen将是一个整数,否则它将是一个dtype int数组。如果使用了sample_weights,它将是一个浮点数(如果没有丢失数据)或一个dtype浮点数数组,它将对到目前为止看到的权重求和。将在新调用时重置以适应,但在partial_fit调用中递增。 |
Methods
fit(X, y=None, sample_weight=None)
计算用于以后缩放的平均值和std。
Parameters | |
---|---|
X:{array-like, sparse matrix} of shape (n_samples, n_features) | 用于计算以后沿特征轴缩放的平均值和标准差的数据。 |
y:None | 忽略 |
sample_weight:array-like of shape (n_samples,), default=None | 每个样本的权重。0.24新版功能:对StandardScaler的参数sample_weight支持。 |
Returns | |
---|---|
self:object | Fitted scaler. |
fit_transform(X, y=None, **fit_params)
适合数据,然后转换它。
使用可选参数fit_params将转换器匹配到X和y,并返回X的转换版本。
Parameters | |
---|---|
X:array-like of shape (n_samples, n_features) | 输入样本 |
y:array-like of shape (n_samples,) or (n_samples, n_outputs), default=None | 目标值(无监督转换为None)。【Target values 】 |
**fit_params:dict | 其他合适的参数。 |
Returns | |
---|---|
X_new:ndarray array of shape (n_samples, n_features_new) | 转换后的数组 |
get_params(deep=True)
获取此估计器的参数。
Parameters | |
---|---|
deep:bool, default=True | 如果为True,将返回此评估器的参数和包含的是评估器的子对象。 |
Returns | |
---|---|
paramsdict | 参数名映射到它们的值 |
transform(X, copy=None)
通过居中和缩放执行标准化
Parameters | |
---|---|
X:{array-like, sparse matrix of shape (n_samples, n_features) | 用于沿特征轴进行缩放的数据。 |
copy:bool, default=None | 是否复制输入X。 |
Returns | |
---|---|
X_tr:{ndarray, sparse matrix} of shape (n_samples, n_features) | 转换后的数组 |