哪個`scipy.cluster.vq`模組的函式用於將程式碼本中的程式碼分配給觀測值?
在實現k均值演算法之前,可以使用`scipy.cluster.vq.vq(obs, code_book, check_finite = True)`函式將程式碼本中的程式碼分配給每個觀測值。它首先將'M'乘以'N'的obs陣列中的每個觀測向量與程式碼本中的質心進行比較。比較完成後,它將程式碼分配給最接近的質心。它需要obs陣列中具有單位方差的特徵,我們可以透過將它們傳遞給`scipy.cluster.vq.whiten(obs, check_finite = True)`函式來實現。
引數
以下是函式`scipy.cluster.vq.vq(obs, code_book, check_finite = True)`的引數:
obs− ndarray
這是一個'M'乘以'N'的陣列,其中每一行是一個觀測值,列是在每次觀測中看到的特徵。示例如下:
obs = [[ 1., 1., 1.], [ 2., 2., 2.], [ 3., 3., 3.], [ 4., 4., 4.]]
code_book− ndarray
它也是一個'M'乘以'N'的陣列,通常使用k均值演算法生成,其中每一行包含一個不同的程式碼,列是該程式碼的特徵。
示例如下:
code_book = [ [ 1., 2., 3., 4.], [ 1., 2., 3., 4.], [ 1., 2., 3., 4.]]
- check_finite− bool,可選
此引數用於檢查輸入矩陣是否只包含有限數字。停用此引數可能會提高效能,但如果觀測值確實包含無限值,也可能導致一些問題,例如崩潰或不終止。此引數的預設值為**True**。
返回值
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.]]) observations = np.array([[2.9, 1.3, 1.9], [1.7, 3.2, 1.1], [1.0, 0.2, 1.7,]]) vq(observations, code_book)
輸出
(array([1, 1, 0]), array([1.14455231, 1.52970585, 1.06301458]))
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP