什麼是scipy.cluster.vq.kmeans2()方法?
**scipy.cluster.vq.kmeans2(data, k, iter=10, thresh=1e-05, minit='random', missing='warn', check_finite=True)** − kmeans2() 方法透過執行 k-means 演算法將一組觀測向量分類到 k 個叢集中。為了檢查收斂性,kmeans2() 方法不使用閾值。它具有其他引數來決定質心的初始化方法、處理空叢集以及驗證輸入矩陣是否僅包含有限數字。
以下是其引數的詳細解釋:
引數
**data** − ndarray
它是 N 維中 M 個觀測值的 'M' x 'N' 陣列。
- **k** − int 或 ndarray
此引數表示要形成的叢集數量和要生成的質心數量。在以下兩種情況下,它被解釋為要使用的初始叢集:
當 minit 初始化字串為 'matrix' 時。
或者如果給定一個 ndarray。
- **thresh** − float,可選
此引數表示閾值。如果自上次迭代以來失真變化小於或等於此閾值,則演算法將預設終止。
**minit** − str,可選
此引數表示初始化方法。以下是為此提供的一些可用方法:
**random** − 它從具有均值和方差的高斯分佈中生成 k 個質心。均值和方差是從資料中估計的。
**points** − 此方法從資料中隨機選擇 k 個觀測值(即行)作為初始質心。
**++** − 此方法也稱為仔細播種,它選擇 k 個觀測值(即行)到 kmeans++ 方法。
**matrix** − matrix 方法解釋初始質心的 k 引數(作為 'k' x 'M' 陣列)。
**missing** − str,可選
此引數表示處理空叢集的方法。以下是可用方法:
**warn** − 此方法(顧名思義)會發出警告並繼續。
**raise** − 此方法將引發錯誤 (ClusterError) 並終止演算法。
**check_finite** − bool,可選
此引數用於檢查輸入矩陣是否僅包含有限數字。停用此引數可能會提高效能,但也可能導致一些問題,例如在觀測值確實包含無窮大時發生崩潰或不終止。此引數的預設值為 **True**。
返回值
**centroid** − ndarray
它返回 k x N 個質心陣列。
**label** − ndarray
這是質心的索引。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP