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


Python cuml.experimental.preprocessing.StandardScaler用法及代码示例


用法:

class cuml.experimental.preprocessing.StandardScaler(*args, **kwargs)

通过去除均值和缩放到单位方差来标准化特征

样本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布尔值,可选,默认 True

是否会触发强制复制。如果 copy=False,则可能会通过转换触发复制。

with_mean布尔值,默认为真

如果为 True,则在缩放之前将数据居中。当尝试在稀疏矩阵上时,这不起作用(并且会引发异常),因为将它们居中需要构建一个密集矩阵,在常见的用例中,它可能太大而无法放入内存。

with_std布尔值,默认为真

如果为 True,则将数据缩放到单位方差(或等效地,单位标准差)。

注意

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

我们对标准差使用有偏差的估计器,相当于 numpy.std(x, ddof=0) 。请注意,ddof 的选择不太可能影响模型性能。

例子

>>> from cuml.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.]]

属性

scale_ndarray 或无,形状(n_features,)

数据的每个特征相对缩放。这是使用 sqrt(var_) 计算的。当 with_std=False 时等于 None

mean_ndarray 或无,形状(n_features,)

训练集中每个特征的平均值。当 with_mean=False 时等于 None

var_ndarray 或无,形状(n_features,)

训练集中每个特征的方差。用于计算 scale_ 。当 with_std=False 时等于 None

n_samples_seen_int 或数组,形状(n_features,)

估计器为每个特征处理的样本数。如果没有缺失样本,n_samples_seen 将是一个整数,否则它将是一个数组。将在新调用时重置以适应,但在 partial_fit 调用中递增。

相关用法


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