- 机器学习基础
- 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() 函数向图形添加了图例。
输出
执行此代码后,您将获得以下图形作为输出 -
生成的密度图显示了恶性和良性样本的平均半径值的概率密度函数。我们可以看到恶性样本的概率密度函数向右偏移,表明平均半径值较高。