
- 機器學習基礎
- 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 - K近鄰演算法 (KNN)
- 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 - 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 - 討論
機器學習 - OPTICS 聚類
OPTICS 類似於 DBSCAN(基於密度的噪聲應用空間聚類),另一種流行的基於密度的聚類演算法。但是,OPTICS 比 DBSCAN 具有幾個優勢,包括能夠識別不同密度的聚類、能夠處理噪聲以及能夠生成層次聚類結構。
在 Python 中實現 OPTICS
為了在 Python 中實現 OPTICS 聚類,我們可以使用 scikit-learn 庫。scikit-learn 庫提供了一個名為 OPTICS 的類,它實現了 OPTICS 演算法。
以下是如何在 scikit-learn 中使用 OPTICS 類對資料集進行聚類的示例:
示例
from sklearn.cluster import OPTICS from sklearn.datasets import make_blobs import matplotlib.pyplot as plt # Generate sample data X, y = make_blobs(n_samples=2000, centers=4, cluster_std=0.60, random_state=0) # Cluster the data using OPTICS optics = OPTICS(min_samples=50, xi=.05) optics.fit(X) # Plot the results labels = optics.labels_ plt.figure(figsize=(7.5, 3.5)) plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='turbo') plt.show()
在此示例中,我們首先使用 **scikit-learn** 中的 make_blobs 函式生成一個樣本資料集。然後,我們例項化一個 OPTICS 物件,並將 **min_samples** 引數設定為 50,並將 xi 引數設定為 0.05。**min_samples** 引數指定形成聚類所需的最小樣本數,**xi** 引數控制聚類層次結構的陡峭程度。然後,我們使用 fit 方法將 OPTICS 物件擬合到資料集。最後,我們使用散點圖繪製結果,其中每個資料點根據其聚類標籤著色。
輸出
執行此程式時,它將生成以下繪圖作為輸出:

OPTICS 聚類的優勢
以下是使用 OPTICS 聚類的優勢:
能夠處理不同密度的聚類 - 與其他一些需要聚類具有均勻密度的聚類演算法不同,OPTICS 可以處理具有不同密度的聚類。
能夠處理噪聲 - OPTICS 可以識別不屬於任何聚類的噪聲資料點,這對於從資料集中去除異常值很有用。
層次聚類結構 - OPTICS 生成一個層次聚類結構,可用於在不同粒度級別分析資料集。
OPTICS 聚類的缺點
以下是使用 OPTICS 聚類的一些缺點。
對引數敏感 - OPTICS 需要仔細調整其引數,例如 min_samples 和 xi 引數,這可能具有挑戰性。
計算複雜度 - 對於大型資料集,OPTICS 的計算成本可能很高,尤其是在使用高 min_samples 值時。