当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask_ml.preprocessing.StandardScaler用法及代码示例


用法:

class dask_ml.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_) 计算的。如果方差为零,我们无法获得单位方差,并且数据留下as-is,给出比例因子1。当with_std=Falsescale_等于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 浮点数总和到目前为止看到的权重。将在新调用时重置以适应,但在 partial_fit 调用中递增。

注意

NaN 被视为缺失值:在拟合中被忽略,在变换中保持不变。

我们对标准差使用有偏差的估计器,相当于 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.]]

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask_ml.preprocessing.StandardScaler。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。