scipy.cluster.vq.

whiten#

scipy.cluster.vq.whiten(obs, check_finite=True)[source]#

針對每個特徵基準正規化一組觀測值。

在執行 k-means 之前,最好先依據觀測值集合中每個特徵維度的標準差來重新調整其尺度(即「whiten」化 - 如同「白雜訊」中每個頻率都具有相等的功率)。每個特徵都會除以其在所有觀測值中的標準差,以使其具有單位變異數。

參數:
obsndarray

陣列的每一列都是一個觀測值。欄位是在每次觀測期間看到的特徵。

>>> #         f0    f1    f2
>>> obs = [[  1.,   1.,   1.],  #o0
...        [  2.,   2.,   2.],  #o1
...        [  3.,   3.,   3.],  #o2
...        [  4.,   4.,   4.]]  #o3
check_finitebool, optional

是否檢查輸入矩陣是否僅包含有限數字。停用此項可能會提高效能,但如果輸入包含無限大或 NaN,則可能會導致問題(崩潰、無法終止)。預設值:True

回傳值:
resultndarray

包含 obs 中依據每個欄位的標準差縮放的值。

範例

>>> import numpy as np
>>> from scipy.cluster.vq import whiten
>>> features  = np.array([[1.9, 2.3, 1.7],
...                       [1.5, 2.5, 2.2],
...                       [0.8, 0.6, 1.7,]])
>>> whiten(features)
array([[ 4.17944278,  2.69811351,  7.21248917],
       [ 3.29956009,  2.93273208,  9.33380951],
       [ 1.75976538,  0.7038557 ,  7.21248917]])