scipy.cluster.vq 模块的哪个函数用于对每个特征维度上的观察进行归一化?
在实现k-means算法之前,重新调整观察集的每个特征维度总是有益的。函数scipy.cluster.vq.whiten(obs,check_finite=True)用于此目的。为了给它单位方差,它将观察的每个特征维度除以其标准偏差(SD)。
参数
下面给出了函数scipy.cluster.vq.whiten(obs,check_finite=True)的参数-
obs-ndarray
它是一个要重新缩放的数组,其中每一行是一个观察,列是每次观察期间看到的特征。示例如下-
obs = [[ 1., 1., 1.], [ 2., 2., 2.], [ 3., 3., 3.], [ 4., 4., 4.]]
check_finite-布尔值,可选
此参数用于检查输入矩阵是否仅包含有限数字。禁用此参数可能会给您带来性能提升,但如果观察确实包含无穷大,它也可能导致一些问题,例如崩溃或非终止。此参数的默认值为True。
退货
它返回一个数组,其中包含由每列的SD缩放的obs中的值。
示例
import numpy as np from scipy.cluster.vq import whiten observations = np.array([[2.9, 1.3, 1.9], [1.7, 3.2, 1.1], [1.0, 0.2, 1.7,]]) whiten(observations)输出结果
array([[3.69627581, 1.04908478, 5.58930985], [2.16678237, 2.58236253, 3.23591623], [1.27457787, 0.16139766, 5.00096145]])