首页 文章资讯内容详情

scipy.cluster.vq 模块的哪个函数用于对每个特征维度上的观察进行归一化?

2026-06-02 1 花语

在实现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]])