scipy.cluster.vq.vq¶
- scipy.cluster.vq.vq(obs, code_book, check_finite=True)[源代码]¶
将代码簿中的代码指定给观测值。
将代码簿中的代码指定给每个观测值。‘M’בN’中的每个观测向量 obs 数组与代码簿中的质心进行比较,并指定最近质心的代码。
中的功能 obs 应该有单位方差,这可以通过将它们传递给白化函数来实现。可以使用k-Means算法或不同的编码算法来创建代码簿。
- 参数
- obsndarray
‘M’x‘N’数组的每一行都是一个观测值。这些柱子是在每次观察过程中看到的“特征”。必须首先使用白化函数或等效物对特征进行白化。
- code_bookndarray
代码簿通常使用k-Means算法生成。数组的每一行包含不同的代码,列是代码的特征。
>>> # f0 f1 f2 f3 >>> code_book = [ ... [ 1., 2., 3., 4.], #c0 ... [ 1., 2., 3., 4.], #c1 ... [ 1., 2., 3., 4.]] #c2
- check_finite布尔值,可选
是否检查输入矩阵是否仅包含有限个数字。禁用可能会带来性能提升,但如果输入确实包含无穷大或NAN,则可能会导致问题(崩溃、非终止)。默认值:true
- 退货
- codendarray
保存每个观测的代码簿索引的长度为M的数组。
- distndarray
观测与其最近代码之间的失真(距离)。
示例
>>> from numpy import array >>> from scipy.cluster.vq import vq >>> code_book = array([[1.,1.,1.], ... [2.,2.,2.]]) >>> features = array([[ 1.9,2.3,1.7], ... [ 1.5,2.5,2.2], ... [ 0.8,0.6,1.7]]) >>> vq(features,code_book) (array([1, 1, 0],'i'), array([ 0.43588989, 0.73484692, 0.83066239]))