
- 機器學習基礎
- 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 - 討論
機器學習 - 密度圖
密度圖是一種顯示連續變數機率密度函式的圖形。它類似於直方圖,但它使用平滑曲線而不是條形來表示每個值的頻率,以表示機率密度函式。x 軸表示變數的值範圍,y 軸表示機率密度。
密度圖可用於識別資料中的模式,例如偏度、模態和異常值。偏度指的是變數分佈的不對稱程度。模態指的是分佈中的峰值數量。異常值是指超出變數典型值範圍的資料點。
Python 中密度圖的實現
Python 提供了幾個用於資料視覺化的庫,例如 Matplotlib、Seaborn、Plotly 和 Bokeh。在下面給出的示例中,我們將使用 Seaborn 來實現密度圖。
我們將使用 Sklearn 庫中的乳腺癌資料集作為此示例。乳腺癌資料集包含有關乳腺癌細胞特徵的資訊,以及它們是惡性還是良性的。該資料集具有 30 個特徵和 569 個樣本。
示例
讓我們從匯入必要的庫和載入資料集開始 -
import matplotlib.pyplot as plt import seaborn as sns from sklearn.datasets import load_breast_cancer data = load_breast_cancer()
接下來,我們將建立資料集的平均半徑特徵的密度圖 -
plt.figure(figsize=(7.2, 3.5)) sns.kdeplot(data.data[:,0], shade=True) plt.xlabel('Mean Radius') plt.ylabel('Density') plt.show()
在此程式碼中,我們使用了 Seaborn 的 kdeplot() 函式來建立資料集的平均半徑特徵的密度圖。我們將 shade 引數設定為 True 以陰影顯示曲線下的區域。我們還使用 xlabel() 和 ylabel() 函式向 x 和 y 軸添加了標籤。
輸出
生成的密度圖顯示了資料集中平均半徑值的機率密度函式。我們可以看到資料大致呈正態分佈,峰值在 12-14 左右。

具有多個數據集的密度圖
我們還可以使用多個數據集建立密度圖以比較它們的機率密度函式。讓我們為惡性和良性樣本建立平均半徑特徵的密度圖 -
示例
plt.figure(figsize=(7.5, 3.5)) sns.kdeplot(data.data[data.target==0,0], shade=True, label='Malignant') sns.kdeplot(data.data[data.target==1,0], shade=True, label='Benign') plt.xlabel('Mean Radius') plt.ylabel('Density') plt.legend() plt.show()
在此程式碼中,我們使用了 kdeplot() 函式兩次來建立平均半徑特徵的兩個密度圖,一個用於惡性樣本,一個用於良性樣本。我們將 shade 引數設定為 True 以陰影顯示曲線下的區域,並使用 label 引數向圖形添加了標籤。我們還使用 legend() 函式向圖形添加了圖例。
輸出
執行此程式碼後,您將獲得以下圖形作為輸出 -

生成的密度圖顯示了惡性和良性樣本的平均半徑值的機率密度函式。我們可以看到惡性樣本的機率密度函式向右偏移,表明平均半徑值較高。