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


Python SciPy vq.vq用法及代码示例


本文简要介绍 python 语言中 scipy.cluster.vq.vq 的用法。

用法:

scipy.cluster.vq.vq(obs, code_book, check_finite=True)#

将代码簿中的代码分配给观察。

将代码簿中的代码分配给每个观察值。 'M' by'N' obs 数组中的每个观察向量与代码簿中的质心进行比较,并分配最接近质心的代码。

obs 中的特征应该有单位方差,这可以通过将它们传递给 whiten 函数来实现。可以使用k-means 算法或不同的编码算法创建代码簿。

参数

obs ndarray

‘M’ x ‘N’ 数组的每一行都是一个观察值。这些列是每次观察期间看到的“features”。必须首先使用 whiten 函数或等效函数对特征进行白化。

code_book ndarray

密码本通常使用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,则可能会导致问题(崩溃、非终止)。默认值:真

返回

code ndarray

一个长度为 M 的数组,保存每个观察的代码簿索引。

dist ndarray

观测值与其最近代码之间的失真(距离)。

例子

>>> import numpy as np
>>> from scipy.cluster.vq import vq
>>> code_book = np.array([[1., 1., 1.],
...                       [2., 2., 2.]])
>>> features  = np.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], dtype=int32), array([0.43588989, 0.73484692, 0.83066239]))

相关用法


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