哪個SciPy包用於實現聚類?
聚類是最有用的無監督機器學習方法之一。它用於查詢輸入資料樣本之間的關係模式和相似性。找到這些模式後,無監督演算法將具有相似性的資料樣本聚類到組中,如下圖所示:
異常檢測、影像分割、醫學影像、社交網路分析和市場細分是一些常見的聚類應用。K均值和層次聚類是兩種最常見的聚類形式。
為了實現聚類,SciPy 提供了一個聚類包 (scipy.cluster),該包進一步包含以下兩個模組:
scipy.cluster.vq 模組 - 此 SciPy 模組提供用於 K 均值聚類和向量量化的函式。它還透過將 K 均值模型與程式碼本中的質心進行比較來生成 K 均值模型的程式碼本。下表解釋了 scipy.cluster.vq 模組中的例程及其描述:
例程 | 描述 |
---|---|
scipy.cluster.vq.whiten(obs, check_finite=True ) | 此例程對特徵上的觀察組進行歸一化。 |
scipy.cluster.vq.vq(obs, code_book,check_finite=True) | 此例程將程式碼本中的程式碼分配給觀察值。 |
scipy.cluster.vq.kmeans(obs, k_or_guess, iter=20, thresh=1e-05, check_finite=True) | 此例程對一組觀察向量執行 K 均值演算法,形成 K 個聚類。 |
scipy.cluster.vq.kmeans2(data,k,iter=10, thresh=1e-05, minit='random', missing='warn', check_finite=True) | 此例程使用 K 均值演算法將一組觀察值分類到 K 個聚類中。 |
scipy.cluster.hierarchy 模組 - 如名稱所示,此 SciPy 模組提供用於層次聚類及其型別的函式,例如凝聚聚類。它具有各種例程,我們可以用它來:
計算層次結構上的統計資料
將層次聚類切割成扁平聚類。
實現凝聚聚類。
視覺化扁平聚類。
檢查兩個扁平聚類分配的同構性。
繪製聚類。
廣告