本文简要介绍python语言中 sklearn.preprocessing.StandardScaler
的用法。
用法:
class sklearn.preprocessing.StandardScaler(*, copy=True, with_mean=True, with_std=True)
通过去除均值和缩放到单位方差来标准化特征。
样本
x
的标准分数计算如下:z = (x - u) /s
其中
u
是训练样本的平均值,如果with_mean=False
则为零,而s
是训练样本的标准差,如果with_std=False
则为 1。通过计算训练集中样本的相关统计数据,居中和缩放在每个特征上独立发生。然后使用
transform
存储平均值和标准偏差以用于以后的数据。数据集的标准化是许多机器学习估计器的共同要求:如果单个特征或多或少看起来不像标准正态分布数据(例如,均值和单位方差为 0 的高斯),它们可能表现不佳。
例如,学习算法的目标函数中使用的许多元素(例如支持向量机的 RBF 核或线性模型的 L1 和 L2 正则化器)假设所有特征都以 0 为中心并且具有相同顺序的方差。如果一个特征的方差比其他特征大几个数量级,它可能会主导目标函数并使估计器无法按预期正确地从其他特征中学习。
这个缩放器也可以通过传递
with_mean=False
应用于稀疏 CSR 或 CSC 矩阵,以避免破坏数据的稀疏结构。在用户指南中阅读更多信息。
- copy:布尔,默认=真
如果为 False,请尽量避免复制并改为进行就地缩放。这不能保证总是在原地工作;例如如果数据不是NumPy 数组或scipy.sparse CSR 矩阵,则仍可能返回副本。
- with_mean:布尔,默认=真
如果为 True,则在缩放之前将数据居中。当尝试在稀疏矩阵上时,这不起作用(并且会引发异常),因为将它们居中需要构建一个密集矩阵,在常见的用例中,它可能太大而无法放入内存。
- with_std:布尔,默认=真
如果为 True,则将数据缩放到单位方差(或等效地,单位标准差)。
- scale_:ndarray 形状 (n_features,) 或无
每个特征相对缩放数据以实现零均值和单位方差。通常这是使用
np.sqrt(var_)
计算的。如果方差为零,则无法实现单位方差,并且数据保持原样,缩放因子为 1。当with_std=False
时,scale_
等于None
。- mean_:ndarray 形状 (n_features,) 或无
训练集中每个特征的平均值。当
with_mean=False
时等于None
。- var_:ndarray 形状 (n_features,) 或无
训练集中每个特征的方差。用于计算
scale_
。当with_std=False
时等于None
。- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。- n_samples_seen_:int 或形状的 ndarray (n_features,)
估计器为每个特征处理的样本数量。如果没有丢失样本,则
n_samples_seen
将是一个整数,否则它将是一个dtype int的数组。如果使用sample_weights
,它将是一个浮点数(如果没有丢失数据)或一个 dtype float 数组,对迄今为止看到的权重进行求和。将在新调用时重置以适应,但在partial_fit
调用中递增。
参数:
属性:
注意:
NaNs 被视为缺失值:在拟合中忽略,并在变换中保持。
我们对标准差使用有偏差的估计器,相当于
numpy.std(x, ddof=0)
。请注意,ddof
的选择不太可能影响模型性能。有关不同缩放器、转换器和规范器的比较,请参阅示例/预处理/plot_all_scaling.py。
例子:
>>> from sklearn.preprocessing import StandardScaler >>> data = [[0, 0], [0, 0], [1, 1], [1, 1]] >>> scaler = StandardScaler() >>> print(scaler.fit(data)) StandardScaler() >>> print(scaler.mean_) [0.5 0.5] >>> print(scaler.transform(data)) [[-1. -1.] [-1. -1.] [ 1. 1.] [ 1. 1.]] >>> print(scaler.transform([[2, 2]])) [[3. 3.]]
相关用法
- Python sklearn StackingRegressor用法及代码示例
- Python sklearn StackingClassifier用法及代码示例
- Python sklearn StratifiedGroupKFold用法及代码示例
- Python sklearn StratifiedShuffleSplit用法及代码示例
- Python sklearn StratifiedKFold用法及代码示例
- Python sklearn ShrunkCovariance用法及代码示例
- Python sklearn SelfTrainingClassifier用法及代码示例
- Python sklearn SelectFromModel用法及代码示例
- Python sklearn SparsePCA用法及代码示例
- Python sklearn SpectralEmbedding用法及代码示例
- Python sklearn SelectFpr用法及代码示例
- Python sklearn ShuffleSplit用法及代码示例
- Python sklearn SpectralClustering用法及代码示例
- Python sklearn Sum用法及代码示例
- Python sklearn SpectralBiclustering用法及代码示例
- Python sklearn SVR用法及代码示例
- Python sklearn SelectKBest用法及代码示例
- Python sklearn SimpleImputer用法及代码示例
- Python sklearn SGDOneClassSVM用法及代码示例
- Python sklearn SVC用法及代码示例
- Python sklearn SGDRegressor用法及代码示例
- Python sklearn SequentialFeatureSelector用法及代码示例
- Python sklearn SplineTransformer用法及代码示例
- Python sklearn SelectPercentile用法及代码示例
- Python sklearn SkewedChi2Sampler用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.preprocessing.StandardScaler。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。