
- 機器學習基礎
- ML - 首頁
- ML - 簡介
- ML - 入門
- ML - 基本概念
- ML - 生態系統
- ML - Python 庫
- ML - 應用
- ML - 生命週期
- ML - 所需技能
- ML - 實現
- ML - 挑戰與常見問題
- ML - 限制
- ML - 現實生活中的例子
- ML - 資料結構
- ML - 數學
- ML - 人工智慧
- ML - 神經網路
- ML - 深度學習
- ML - 獲取資料集
- ML - 分類資料
- ML - 資料載入
- ML - 資料理解
- ML - 資料準備
- ML - 模型
- ML - 監督學習
- ML - 無監督學習
- ML - 半監督學習
- ML - 強化學習
- ML - 監督學習與無監督學習
- 機器學習資料視覺化
- ML - 資料視覺化
- ML - 直方圖
- ML - 密度圖
- ML - 箱線圖
- ML - 相關矩陣圖
- ML - 散點矩陣圖
- 機器學習統計學
- ML - 統計學
- ML - 平均數、中位數、眾數
- ML - 標準差
- ML - 百分位數
- ML - 資料分佈
- ML - 偏度和峰度
- ML - 偏差和方差
- ML - 假設
- ML 中的迴歸分析
- ML - 迴歸分析
- ML - 線性迴歸
- ML - 簡單線性迴歸
- ML - 多元線性迴歸
- ML - 多項式迴歸
- ML 中的分類演算法
- ML - 分類演算法
- ML - 邏輯迴歸
- ML - K 近鄰 (KNN)
- ML - 樸素貝葉斯演算法
- ML - 決策樹演算法
- ML - 支援向量機
- ML - 隨機森林
- ML - 混淆矩陣
- ML - 隨機梯度下降
- ML 中的聚類演算法
- ML - 聚類演算法
- ML - 基於中心點的聚類
- ML - K 均值聚類
- ML - K 中值聚類
- ML - 均值漂移聚類
- ML - 層次聚類
- ML - 基於密度的聚類
- ML - DBSCAN 聚類
- ML - OPTICS 聚類
- ML - HDBSCAN 聚類
- ML - BIRCH 聚類
- ML - 親和傳播
- ML - 基於分佈的聚類
- ML - 凝聚層次聚類
- ML 中的降維
- ML - 降維
- ML - 特徵選擇
- ML - 特徵提取
- ML - 後退消除法
- ML - 前向特徵構造
- ML - 高相關性過濾器
- ML - 低方差過濾器
- ML - 缺失值比率
- ML - 主成分分析
- 強化學習
- ML - 強化學習演算法
- ML - 利用與探索
- ML - Q 學習
- ML - REINFORCE 演算法
- ML - SARSA 強化學習
- ML - 演員-評論家方法
- 深度強化學習
- ML - 深度強化學習
- 量子機器學習
- ML - 量子機器學習
- ML - 使用 Python 的量子機器學習
- 機器學習雜項
- ML - 效能指標
- ML - 自動工作流程
- ML - 提升模型效能
- ML - 梯度提升
- ML - 自舉匯聚 (Bagging)
- ML - 交叉驗證
- ML - AUC-ROC 曲線
- ML - 網格搜尋
- ML - 資料縮放
- ML - 訓練和測試
- ML - 關聯規則
- ML - Apriori 演算法
- ML - 高斯判別分析
- ML - 成本函式
- ML - 貝葉斯定理
- ML - 精度和召回率
- ML - 對抗性
- ML - 堆疊
- ML - 紀元
- ML - 感知器
- ML - 正則化
- ML - 過擬合
- ML - P 值
- ML - 熵
- ML - MLOps
- ML - 資料洩露
- ML - 機器學習的貨幣化
- ML - 資料型別
- 機器學習 - 資源
- ML - 快速指南
- ML - 速查表
- ML - 面試問題
- ML - 有用資源
- ML - 討論
機器學習 - BIRCH 聚類
BIRCH(平衡迭代減少和聚類層次結構)是一種層次聚類演算法,旨在有效地處理大型資料集。該演算法透過遞迴地將資料劃分為子叢集來構建樹狀的叢集結構,直到滿足停止條件。
BIRCH 使用兩種主要的資料結構來表示叢集:聚類特徵 (CF) 和子叢集特徵 (SCF)。CF 用於總結一組資料點的統計屬性,而 SCF 用於表示子叢集的結構。
BIRCH 聚類有三個主要步驟 -
初始化 - BIRCH 構造一個空的樹結構並設定節點中可以儲存的 CF 的最大數量。
聚類 - BIRCH 一次讀取一個數據點並將它們新增到樹結構中。如果節點中已經存在 CF,則 BIRCH 使用新資料點更新 CF。如果節點中沒有 CF,則 BIRCH 為資料點建立一個新的 CF。然後,BIRCH 檢查節點中 CF 的數量是否超過最大閾值。如果超過閾值,BIRCH 透過遞迴地劃分節點中的 CF 來建立一個新的子叢集。
細化 - BIRCH 透過合併基於距離度量的相似子叢集來細化樹結構。
在 Python 中實現 BIRCH 聚類
為了在 Python 中實現 BIRCH 聚類,我們可以使用 scikit-learn 庫。scikitlearn 庫提供了一個 BIRCH 類,該類實現了 BIRCH 演算法。
以下是如何使用 BIRCH 類對資料集進行聚類的示例 -
示例
from sklearn.datasets import make_blobs from sklearn.cluster import Birch import matplotlib.pyplot as plt # Generate sample data X, y = make_blobs(n_samples=1000, centers=10, cluster_std=0.50, random_state=0) # Cluster the data using BIRCH birch = Birch(threshold=1.5, n_clusters=4) birch.fit(X) labels = birch.predict(X) # Plot the results plt.figure(figsize=(7.5, 3.5)) plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='winter') plt.show()
在此示例中,我們首先使用 scikit-learn 的 make_blobs 函式生成一個樣本資料集。然後,我們使用 BIRCH 演算法對資料集進行聚類。對於 BIRCH 演算法,我們例項化一個 Birch 物件,並將閾值引數設定為 1.5,並將 n_clusters 引數設定為 4。然後,我們使用 fit 方法將 Birch 物件擬合到資料集,並使用 predict 方法預測叢集標籤。最後,我們使用散點圖繪製結果。
輸出
執行給定程式時,它將生成以下繪圖作為輸出 -

BIRCH 聚類的優點
與其他聚類演算法相比,BIRCH 聚類具有以下幾個優點 -
可擴充套件性 - BIRCH 旨在透過使用樹狀結構來表示叢集來有效地處理大型資料集。
記憶體效率 - BIRCH 使用 CF 和 SCF 資料結構來總結資料點的統計屬性,從而減少了儲存叢集所需的記憶體。
快速聚類 - BIRCH 可以快速聚類資料點,因為它使用增量聚類方法。
BIRCH 聚類的缺點
BIRCH 聚類也有一些缺點,包括 -
對引數設定敏感 - BIRCH 聚類的效能可能對引數的選擇敏感,例如節點中可以儲存的 CF 的最大數量以及用於建立子叢集的閾值。
處理非球形叢集的能力有限 - BIRCH 假設叢集是球形的,這意味著它可能無法在具有非球形叢集的資料集上表現良好。
在距離度量選擇方面的靈活性有限 - BIRCH 預設使用歐幾里得距離度量,這可能不適用於所有資料集。