scipy.cluster.vq.
whiten#
- scipy.cluster.vq.whiten(obs, check_finite=None)[source]#
在每个特征的基础上规范化一组观测值。
在运行 k-means 之前,最好通过其标准差重新调整观测集每个特征维度的大小(即“whiten”它 - 就像“白噪声”中每个频率都具有相同的功率一样)。 每个特征除以其在所有观测值上的标准差,以使其具有单位方差。
- 参数:
- obsndarray
数组的每一行都是一个观测值。 列是每次观察期间看到的特征
# f0 f1 f2 obs = [[ 1., 1., 1.], #o0 [ 2., 2., 2.], #o1 [ 3., 3., 3.], #o2 [ 4., 4., 4.]] #o3
- check_finitebool, optional
是否检查输入矩阵是否仅包含有限数字。 禁用可能会提高性能,但如果输入确实包含无穷大或 NaN,则可能会导致问题(崩溃、非终止)。 默认值:对于急切后端为 True,对于惰性后端为 False。
- 返回值:
- resultndarray
包含按每列的标准差缩放的 obs 中的值。
注释
whiten
除了 NumPy 之外,还对 Python Array API 标准兼容后端提供实验性支持。请考虑通过设置环境变量SCIPY_ARRAY_API=1
并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。支持以下后端和设备(或其他能力)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
不适用
有关更多信息,请参见对数组 API 标准的支持。
示例
>>> import numpy as np >>> from scipy.cluster.vq import whiten >>> features = np.array([[1.9, 2.3, 1.7], ... [1.5, 2.5, 2.2], ... [0.8, 0.6, 1.7,]]) >>> whiten(features) array([[ 4.17944278, 2.69811351, 7.21248917], [ 3.29956009, 2.93273208, 9.33380951], [ 1.75976538, 0.7038557 , 7.21248917]])