什麼是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

    這是質心的索引。

更新於:2021年11月24日

163 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.