文章

机器学习中的数据可视化与统计展示

机器学习中的数据可视化与统计展示

机器学习中的数据可视化与统计展示

深入理解机器学习中的数据可视化技术,掌握常用图表类型及其特点、作用和使用场景。从第一性原理出发,理解为什么需要数据可视化,以及如何选择合适的图表展示不同的数据。

目录

  1. 为什么需要数据可视化?
  2. 数据统计展示的技术
  3. 基础图表类型
  4. 高级图表类型
  5. 降维可视化
  6. 特征重要性可视化
  7. 聚类结果可视化
  8. 图表选择指南
  9. 最佳实践
  10. 附录:图表类型快速参考

1. 为什么需要数据可视化?

1.1 可视化的本质

定义

数据可视化:将抽象的数据转化为直观的图形,帮助人类理解数据。

核心问题:如何让数据更容易理解?

本质需求:从”数字”到”图形”,从”抽象”到”直观”。

人类视觉的优势

为什么需要可视化?

原因1:人类视觉处理能力强

问题:人类擅长处理视觉信息,不擅长处理大量数字。

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
数字形式:
    特征1:0.145494
    特征2:0.145361
    特征3:0.133669
    特征4:0.132365
    ...
    ↓
    问题:哪个特征最重要?很难快速判断 ❌

图形形式:
    特征1:████████████████████████████████ 0.145494
    特征2:████████████████████████████████ 0.145361
    特征3:███████████████████████████████ 0.133669
    特征4:███████████████████████████████ 0.132365
    ↓
    优势:一眼就能看出特征1和特征2最重要 ✅

原因2:发现模式

问题:数字中隐藏的模式,通过图形更容易发现。

例子

1
2
3
4
5
6
7
8
散点图:
    可以发现:
    - 数据点的聚类情况
    - 异常值
    - 数据分布
    - 变量之间的关系
    ↓
    这些模式在数字表格中很难发现

原因3:沟通效率

问题:向业务人员解释模型结果时,图形比数字更有效。

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
向业务人员解释特征重要性:
    方案1:列出数字表格
        - 特征1:0.145
        - 特征2:0.132
        - ...
        ↓
        业务人员:看不懂,不理解 ❌

    方案2:展示可视化图表
        - 条形图或棒棒糖图
        - 清晰的排名和数值对比
        ↓
        业务人员:一目了然,容易理解 ✅

1.2 可视化的作用

作用1:数据探索

目的:理解数据的分布和特征。

应用

  • 数据分布图(直方图、箱线图)
  • 特征相关性热力图
  • 数据质量检查

作用2:模型理解

目的:理解模型的决策过程和性能。

应用

  • 特征重要性图表
  • SHAP值可视化
  • 混淆矩阵热力图
  • ROC曲线

作用3:结果解释

目的:向业务人员解释模型预测结果。

应用

  • 预测结果可视化
  • 决策路径图
  • 特征贡献图

作用4:问题诊断

目的:发现模型和数据的问题。

应用

  • 训练集vs测试集性能对比
  • 误差分析图
  • 数据分布对比

2. 数据统计展示的技术

2.1 统计指标

基础统计量

均值(Mean)

定义:所有值的平均。

公式

1
均值 = (值1 + 值2 + ... + 值n) / n

作用:表示数据的中心趋势。

适用场景:了解数据的平均水平。

中位数(Median)

定义:排序后中间位置的值。

作用:不受异常值影响,更稳健。

适用场景

  • 数据有异常值时
  • 数据分布不对称时

例子

1
2
3
4
5
6
数据:[1, 2, 3, 4, 100]
    ↓
均值:22(被异常值100拉高)
中位数:3(不受异常值影响)
    ↓
中位数更能反映数据的真实中心

标准差(Standard Deviation)

定义:衡量数据的离散程度。

作用:了解数据的波动性。

适用场景:评估数据的稳定性。

分位数

定义:数据排序后的位置值。

常见分位数

  • Q1(第一四分位数):25%位置
  • Q2(中位数):50%位置
  • Q3(第三四分位数):75%位置

作用:了解数据的分布情况。

适用场景

  • 识别异常值
  • 了解数据分布范围

2.2 解释方差(Explained Variance)

什么是解释方差?

定义:在降维(如PCA)后,保留的方差占原始数据方差的比例。

公式

1
解释方差比例 = 降维后的方差 / 原始数据的方差

作用:评估降维后保留的信息量。

例子

1
2
3
4
5
6
7
8
PCA降维:
    原始特征:100维
    ↓
    PCA降维到2维
    ↓
    解释方差比例:75%
    ↓
    含义:降维后的2个主成分保留了原始数据75%的信息

为什么重要?

问题:降维会丢失信息,如何评估损失?

应用:解释方差比例越高,保留的信息越多。

判断标准

  • 解释方差 > 80%:信息保留充分 ✅
  • 解释方差 60-80%:信息保留基本充分 ⚠️
  • 解释方差 < 60%:信息丢失较多 ❌

例子

1
2
3
4
5
6
PCA降维可视化:
    PC1和PC2的解释方差比例:75%
    ↓
    标题显示:"群体分布散点图(解释方差: 75%)"
    ↓
    帮助用户理解可视化的可靠性

2.3 相关性分析

相关系数

定义:衡量两个变量之间的线性关系强度。

范围:-1 到 1

解释

  • 接近1:强正相关
  • 接近-1:强负相关
  • 接近0:无相关

可视化:相关性热力图

作用

  • 发现特征之间的关联
  • 识别冗余特征
  • 理解特征交互

3. 基础图表类型

3.1 条形图(Bar Chart)

定义

条形图:用条形长度表示数值大小。

特点

  • 直观易懂
  • 适合对比不同类别的数值

类型

  • 垂直条形图:类别在x轴,数值在y轴
  • 水平条形图:类别在y轴,数值在x轴(推荐,适合长标签)

例子

1
2
3
4
5
6
特征重要性展示:
    特征1:████████████████████████████████ 0.145
    特征2:███████████████████████████████ 0.133
    特征3:█████████████████████████ 0.088
    ↓
    一眼就能看出重要性排序

适用场景

场景1:特征重要性排序

应用:展示TopN特征的重要性。

优势:清晰直观,容易对比。

场景2:类别对比

应用:对比不同类别的数值。

优势:直观展示差异。

局限性

局限1:条形太长可能误导

问题:如果数值差异很大,条形长度比例可能不直观。

解决:使用对数刻度或限制最大长度。

局限2:不适合太多类别

问题:类别太多时,条形图拥挤,难以阅读。

解决:只展示TopN,其他归类为”其他”。

3.2 点图(Dot Plot)

定义

点图:用圆点位置表示数值大小。

特点

  • 视觉简洁
  • 适合小数值展示
  • 中位数参考线清晰

例子

1
2
3
4
5
6
7
8
9
特征重要性点图:
    特征1:                        ● 0.145494
    特征2:                        ● 0.145361
    特征3:                      ● 0.133669
    特征4:                      │ 0.132365(中位值)
    特征5:            ● 0.073289
    特征6:          ● 0.064886
    ↓
    用圆点代替条形,视觉更简洁

适用场景

场景1:特征重要性展示

应用:机器学习领域标准做法(SHAP、特征重要性)。

优势

  • 视觉简洁
  • 专业感强
  • 适合小数值

场景2:对比分析

应用:对比多个数值。

优势:中位数参考线清晰,便于判断相对大小。

优势

优势1:视觉简洁

特点:圆点比条形更简洁,不占空间。

优势2:专业感强

特点:在数据科学和机器学习领域广泛使用。

优势3:中位数清晰

特点:可以清晰标记中位数参考线。

3.3 散点图(Scatter Plot)

定义

散点图:用点在二维空间的位置表示两个变量的值。

特点

  • 展示变量之间的关系
  • 发现模式和异常值

例子

1
2
3
4
5
6
7
8
9
10
11
12
聚类可视化:
    X轴:主成分1(PC1)
    Y轴:主成分2(PC2)
    ↓
    每个点代表一个样本
    点的位置代表降维后的坐标
    不同颜色代表不同的聚类
    ↓
    可以直观看到:
    - 聚类的分布
    - 聚类的形状
    - 聚类的分离程度

适用场景

场景1:聚类结果可视化

应用:展示聚类分析的結果。

优势

  • 直观展示聚类分布
  • 发现聚类形状
  • 识别异常值

场景2:相关性分析

应用:探索两个变量之间的关系。

优势

  • 发现线性关系
  • 识别异常值
  • 发现非线性模式

场景3:降维可视化

应用:将高维数据降维到2D/3D可视化。

优势

  • 直观理解数据结构
  • 发现隐藏模式

增强散点图

方法1:添加聚类中心

目的:标记每个聚类的中心点(质心)。

作用:帮助理解聚类的位置。

方法2:添加聚类边界

目的:用凸包(Convex Hull)标记聚类边界。

作用:清晰展示聚类的覆盖范围。

方法3:颜色编码

目的:用不同颜色表示不同类别或聚类。

作用:清晰区分不同的组。

3.4 折线图(Line Chart)

定义

折线图:用折线连接数据点,展示数据随时间的变化趋势。

特点

  • 展示趋势
  • 适合时间序列数据

适用场景

场景1:训练曲线

应用:展示模型训练过程中的损失变化。

作用:监控训练过程,发现过拟合。

场景2:性能指标变化

应用:展示模型性能随参数或数据的变化。

作用:优化超参数,选择最佳配置。


4. 高级图表类型

4.1 棒棒糖图(Lollipop Plot)

定义

棒棒糖图:点(圆点)在顶部,线从基线延伸。

特点

  • 视觉层次感强
  • 专业美观
  • 非常适合展示排名数据

例子

1
2
3
4
5
6
7
8
9
10
特征重要性棒棒糖图:
    特征1:                              ● 0.145494
    特征2:                              ● 0.145361
    特征3:                            ● 0.133669
    特征4:                            │ 0.132365(中位值)
    特征5:              ● 0.073289
    特征6:            ● 0.064886
    ↓
    点(圆点)在顶部,线从基线延伸
    视觉层次感强,专业美观

为什么推荐棒棒糖图?

优势1:视觉层次感强

特点:点+线的组合,比纯点图更有视觉冲击力。

优势2:专业美观

特点:在数据科学和机器学习领域广泛使用。

优势3:适合排名数据

特点:非常适合展示特征重要性等排名数据。

优势4:中位数清晰

特点:可以清晰标记中位数参考线。

水平棒棒糖图变体

定义:水平方向的棒棒糖图。

特点

  • 线从左侧基线延伸到右侧的点
  • 更符合水平阅读习惯
  • 数值显示在右侧

例子

1
2
3
4
5
6
7
8
9
特征重要性水平棒棒糖图:
    特征1: ───────────────────────────────● 0.145494
    特征2: ───────────────────────────────● 0.145361
    特征3: ─────────────────────────────● 0.133669
    特征4: ─────────────────────────────│ 0.132365(中位值)
    特征5: ───────────────● 0.073289
    特征6: ─────────────● 0.064886
    ↓
    水平方向,符合阅读习惯

适用场景

场景1:特征重要性排序

应用:展示TopN特征的重要性。

优势:视觉层次感强,专业美观。

场景2:排名对比

应用:对比多个项目的排名。

优势:清晰的视觉层次,容易理解。

4.2 水平条形图(Horizontal Bar Chart)

定义

水平条形图:类别在y轴,数值在x轴。

特点

  • 适合长标签
  • 符合水平阅读习惯

为什么选择水平条形图?

优势1:适合长标签

问题:特征名称可能很长。

解决:水平条形图,标签在y轴,有足够空间显示。

例子

1
2
3
4
5
6
7
8
9
垂直条形图:
    X轴:标签(可能被截断或旋转)
    ↓
    问题:长标签显示困难 ❌

水平条形图:
    Y轴:标签(垂直排列,有足够空间)
    ↓
    优势:长标签完整显示 ✅

优势2:符合阅读习惯

特点:从左到右阅读,更自然。

优势3:易于对比

特点:水平方向的条形,更容易对比长度。

适用场景

场景1:特征重要性展示

应用:展示特征重要性,特别是特征名称较长时。

场景2:类别排名

应用:展示多个类别的排名。

场景3:交叉特征权重

应用:展示交叉特征组合的权重。

4.3 热力图(Heatmap)

定义

热力图:用颜色深浅表示数值大小。

特点

  • 展示二维数据
  • 发现模式和异常

例子

1
2
3
4
5
6
7
8
9
10
特征相关性热力图:
    特征1  特征2  特征3  特征4
特征1  1.0   0.8   0.3   0.2
特征2  0.8   1.0   0.5   0.4
特征3  0.3   0.5   1.0   0.6
特征4  0.2   0.4   0.6   1.0
    ↓
    用颜色深浅表示相关系数
    - 深色:高相关
    - 浅色:低相关

适用场景

场景1:特征相关性分析

应用:展示特征之间的相关性。

作用

  • 发现高度相关的特征(冗余)
  • 发现特征组合模式

场景2:混淆矩阵

应用:展示分类模型的预测结果。

作用

  • 了解模型的预测准确性
  • 发现容易混淆的类别

场景3:特征重要性矩阵

应用:展示不同模型对不同特征的重要性。

作用:对比不同模型的特征偏好。

4.4 箱线图(Box Plot)

定义

箱线图:展示数据的分布情况。

组成

  • 箱体:Q1到Q3的范围(IQR)
  • 中线:中位数
  • 须线:数据的范围(排除异常值)
  • 异常值:超出须线的点

特点

  • 展示分布
  • 识别异常值
  • 对比多个分布

例子

1
2
3
4
5
6
7
8
9
特征值分布箱线图:
    特征1:│  ┌─────┐  │
          │  │     │  │
          │  └─────┘  │
          ↓
          箱体:Q1到Q3的范围
          中线:中位数
          须线:数据范围
          异常值:超出须线的点

适用场景

场景1:特征分布分析

应用:了解每个特征的分布情况。

作用

  • 发现异常值
  • 了解数据分布
  • 识别偏态分布

场景2:对比不同类别

应用:对比不同类别的特征分布。

作用:了解不同类别之间的差异。

4.5 小提琴图(Violin Plot)

定义

小提琴图:结合箱线图和密度图的优势,展示数据分布。

组成

  • 箱线图元素(中位数、四分位数)
  • 密度图形状(显示分布的形状)

特点

  • 展示完整分布形状
  • 识别多峰分布
  • 对比多个分布

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
特征值分布小提琴图:
    特征1:╱╲
          │ │
         ╱   ╲
        │  ▓  │  ← 密度形状(显示分布形状)
         ╲   ╱
          │ │
          ╲╱
    ↓
    可以同时看到:
    - 四分位数(箱线图信息)
    - 分布形状(密度图信息)
    - 多峰分布(如果存在)

为什么需要小提琴图?

问题:箱线图只显示四分位数,不显示分布形状。

解决:小提琴图结合密度图,显示完整的分布形状。

优势1:展示分布形状

特点:可以看到数据是单峰、双峰还是多峰。

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
箱线图:
    │  ┌─────┐  │
    │  │     │  │
    ↓
    问题:无法看出分布是单峰还是双峰

小提琴图:
    ╱╲
   │ │
  ╱   ╲
 │  ▓▓  │  ← 可以看到是双峰分布
  ╲   ╱
    ↓
    优势:清晰显示分布形状

优势2:识别多峰分布

特点:可以发现数据中的多个模式。

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
单峰分布:
    ╱╲
   │ │
  ╱   ╲
 │  ▓  │  ← 单个峰值
  ╲   ╱

双峰分布:
    ╱╲
   │ │
  ╱   ╲
 │ ▓ ▓ │  ← 两个峰值(可能包含两个子群体)
  ╲   ╱

优势3:对比不同类别

特点:可以直观对比不同类别的分布形状。

例子

1
2
3
4
5
6
7
8
9
10
11
类别1:╱╲
      │ │
     ╱   ╲
    │  ▓  │  ← 正态分布

类别2:╱╲
      │ │
     ╱   ╲
    │ ▓ ▓ │  ← 双峰分布
    ↓
    可以直观看到两类分布的差异

小提琴图 vs 箱线图

维度箱线图小提琴图
显示内容四分位数、中位数、异常值完整分布形状 + 箱线图信息
分布形状不显示显示(密度形状)
多峰检测不能
信息量较少更多
视觉复杂度简单较复杂

选择原则

1
2
3
4
5
如果只需要了解四分位数和异常值:
    → 使用箱线图(简单)

如果需要了解完整分布形状:
    → 使用小提琴图(更详细)

适用场景

场景1:特征分布分析

应用:深入了解特征的分布形状。

作用

  • 发现多峰分布
  • 了解分布形状
  • 识别偏态分布

场景2:对比不同类别

应用:对比不同类别的特征分布。

作用:直观看到分布形状的差异。

场景3:数据探索

应用:探索数据的分布特征。

作用:发现数据中的隐藏模式。

4.6 直方图(Histogram)

定义

直方图:用柱状条表示数据在不同区间内的频数。

特点

  • 展示数据分布
  • 发现数据模式
  • 识别异常值

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
特征值分布直方图:
    频数
      ↑
      │    ▓
      │    ▓  ▓
      │ ▓  ▓  ▓
      │ ▓  ▓  ▓  ▓
      └──────────────→ 特征值
      ↓
      可以看到:
      - 数据主要集中在哪些区间
      - 分布的形状(正态、偏态等)
      - 是否存在异常值

为什么需要直方图?

问题:如何了解数据在哪些区间分布更多?

解决:直方图显示不同区间的频数。

优势1:展示数据分布

特点:直观看到数据在哪些值区间分布最多。

优势2:发现数据模式

特点:可以发现单峰、双峰等模式。

优势3:识别异常值

特点:远离主要分布的柱子可能表示异常值。

直方图 vs 密度图

直方图

  • 显示频数(计数)
  • 柱状条有宽度
  • 离散的区间

密度图

  • 显示密度(概率)
  • 平滑曲线
  • 连续分布

选择原则

1
2
3
4
5
如果需要看到原始频数:
    → 使用直方图

如果需要看到平滑的分布曲线:
    → 使用密度图

适用场景

场景1:特征值分布分析

应用:了解每个特征值的分布情况。

作用

  • 发现数据分布模式
  • 识别异常值
  • 了解数据范围

场景2:数据质量检查

应用:检查数据是否符合预期分布。

作用:发现数据质量问题。

4.7 密度图(Density Plot / KDE Plot)

定义

密度图:用平滑曲线展示数据的概率密度分布。

特点

  • 平滑的分布曲线
  • 展示连续分布
  • 适合对比多个分布

例子

1
2
3
4
5
6
7
8
9
10
特征值分布密度图:
    密度
      ↑
      │     ╱╲
      │    ╱  ╲
      │   ╱    ╲
      │  ╱      ╲
      └──────────────→ 特征值
      ↓
      平滑曲线展示概率密度分布

为什么需要密度图?

问题:直方图的柱状条可能不平滑,难以看到整体趋势。

解决:密度图用平滑曲线展示分布。

优势1:平滑分布

特点:平滑曲线,更容易看到整体趋势。

优势2:适合对比

特点:多条密度曲线可以叠加对比。

例子

1
2
3
4
5
6
7
8
9
10
11
对比不同类别的分布:
    密度
      ↑
      │     ╱╲   ╱╲
      │    ╱  ╲ ╱  ╲
      │   ╱    X    ╲
      │  ╱  ╱   ╲  ╲
      └──────────────→ 特征值
      类别1    类别2
    ↓
    可以直观看到两个类别的分布差异

适用场景

场景1:分布对比

应用:对比不同类别的特征分布。

作用:直观看到分布差异。

场景2:数据探索

应用:探索数据的分布特征。

作用:发现数据模式。

4.8 雷达图(Radar Chart / Spider Chart)

定义

雷达图:用多条轴展示多个变量的值。

特点

  • 多维度对比
  • 展示综合特征
  • 发现模式

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
特征重要性雷达图:
        特征1
          ↑
          │
    特征6 │    特征2
          │
    ←─────────────→
          │
    特征5 │    特征3
          │
          ↓
        特征4
    ↓
    可以同时展示多个特征的重要性

为什么需要雷达图?

问题:如何同时对比多个维度的数据?

解决:雷达图用多条轴展示多维度数据。

优势1:多维度对比

特点:可以同时看到多个特征的值。

优势2:发现模式

特点:可以识别哪些维度相似或不同。

适用场景

场景1:多维度特征对比

应用:对比不同样本在多个特征上的表现。

作用:识别样本的特征模式。

场景2:综合评估

应用:展示多个评估指标。

作用:全面了解模型性能。

4.9 平行坐标图(Parallel Coordinates)

定义

平行坐标图:用多条平行轴展示多个变量的值。

特点

  • 展示高维数据
  • 发现模式和聚类
  • 识别异常值

例子

1
2
3
4
5
6
7
8
9
10
特征值平行坐标图:
    特征1  特征2  特征3  特征4
      │     │     │     │
      ●─────●─────●─────●  样本1
      │     │     │     │
      ●─────●─────●─────●  样本2
      │     │     │     │
    ↓
    每条线代表一个样本
    可以识别相似样本(线条相似)

为什么需要平行坐标图?

问题:如何可视化高维数据(>3维)?

解决:平行坐标图用多条平行轴展示高维数据。

优势1:高维可视化

特点:可以展示任意维度的数据。

优势2:发现模式

特点

  • 相似的线条 = 相似的样本(可能属于同一类)
  • 不同的线条 = 不同的样本(可能属于不同类)

例子

1
2
3
4
5
6
7
8
9
10
平行坐标图:
    特征1  特征2  特征3
      │     │     │
      ●─────●─────●  样本1
      │     │     │
      ●─────●─────●  样本2(与样本1相似)
      │     │     │
      ●─────●─────●  样本3(与样本1、2不同)
    ↓
    可以识别样本1和样本2相似(可能同一类)

适用场景

场景1:高维数据探索

应用:探索高维特征数据。

作用:发现数据中的模式和聚类。

场景2:样本对比

应用:对比不同样本在多个特征上的表现。

作用:识别相似或不同的样本。

4.10 树状图(Treemap)

定义

树状图:用嵌套矩形展示层次数据。

特点

  • 展示层次结构
  • 矩形大小表示数值
  • 颜色可以表示类别

例子

1
2
3
4
5
6
7
8
9
10
11
12
特征重要性树状图:
    ┌─────────────────────┐
    │  特征A(最重要)      │
    │  ┌─────┬─────────┐  │
    │  │特征B│ 特征C   │  │
    │  │     ├─────┬───┤  │
    │  │     │特征D│特征E││
    │  └─────┴─────┴───┘  │
    └─────────────────────┘
    ↓
    矩形大小表示重要性
    嵌套结构表示层次关系

适用场景

场景1:层次数据展示

应用:展示具有层次结构的数据。

作用:同时展示层次和数值。

场景2:特征分组

应用:展示特征分组及其重要性。

作用:理解特征的组织结构。

4.11 桑基图(Sankey Diagram)

定义

桑基图:用流动的箭头展示数据流向。

特点

  • 展示数据流向
  • 展示转换过程
  • 发现数据关系

例子

1
2
3
4
5
6
模型决策流程桑基图:
    原始数据 ──→ 特征工程 ──→ 模型训练 ──→ 预测结果
                ↓
            特征1, 特征2, 特征3
    ↓
    可以清晰看到数据的流向和转换

适用场景

场景1:流程可视化

应用:展示数据处理流程。

作用:理解数据的转换过程。

场景2:数据流向分析

应用:分析数据在系统中的流向。

作用:发现数据关系。


5. 降维可视化

5.1 PCA 降维可视化

什么是PCA?

定义:主成分分析(Principal Component Analysis),将高维数据降维到低维。

目的:保留主要信息,降低维度。

原理

1
2
3
4
5
6
7
高维特征空间(100维)
    ↓
PCA降维
    ↓
低维特征空间(2维)
    ↓
保留主要信息(解释方差:75%)

PCA 可视化流程

流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
步骤1:特征提取
    从所有样本提取特征
    ↓
步骤2:PCA降维
    降维到2维(PC1, PC2)
    ↓
步骤3:计算解释方差
    计算PC1和PC2的解释方差比例
    ↓
步骤4:散点图可视化
    X轴:PC1
    Y轴:PC2
    每个点代表一个样本
    ↓
步骤5:添加聚类信息
    用不同颜色表示不同聚类
    标记聚类中心和边界

解释方差的重要性

为什么需要解释方差?

问题:降维会丢失信息,如何评估?

应用:解释方差比例越高,保留的信息越多。

显示方式

1
2
3
4
5
6
标题:"群体分布散点图(解释方差: 75%)"
    ↓
    帮助用户理解:
    - 降维后保留了75%的信息
    - 可视化的可靠性
    - 信息丢失程度

判断标准

  • 解释方差 > 80%:信息保留充分,可视化可靠 ✅
  • 解释方差 60-80%:信息保留基本充分,可视化可用 ⚠️
  • 解释方差 < 60%:信息丢失较多,可视化可能不准确 ❌

5.2 t-SNE 降维可视化

什么是t-SNE?

定义:t-分布式随机邻域嵌入(t-Distributed Stochastic Neighbor Embedding),非线性降维方法。

特点

  • 保持局部结构
  • 适合可视化高维数据

PCA vs t-SNE

维度PCAt-SNE
方法线性降维非线性降维
保留全局方差局部结构
速度
解释方差
适用场景线性关系为主复杂非线性关系

选择原则

1
2
3
4
5
如果数据是线性关系为主:
    → 使用PCA(快速,有解释方差)

如果数据有复杂的非线性关系:
    → 使用t-SNE(保留局部结构)

5.3 降维可视化的应用

应用1:聚类结果可视化

目的:直观展示聚类分析的結果。

方法

  • 使用PCA或t-SNE降维到2D
  • 用散点图展示
  • 用不同颜色表示不同聚类
  • 标记聚类中心和边界

优势

  • 直观理解聚类分布
  • 发现聚类形状
  • 识别异常值

应用2:数据探索

目的:理解数据的结构。

方法

  • 将高维数据降维到2D/3D
  • 用散点图可视化
  • 发现隐藏的模式

优势

  • 发现数据中的模式
  • 理解数据分布
  • 识别异常值

6. 特征重要性可视化

6.1 特征重要性排序图

图表类型选择

方案1:棒棒糖图(推荐)⭐

特点

  • 视觉层次感强
  • 专业美观
  • 适合排名数据

例子

1
2
3
4
5
6
7
特征重要性棒棒糖图:
    特征1:                              ● 0.145
    特征2:                              ● 0.145
    特征3:                            ● 0.134
    ...
    ↓
    点+线的组合,视觉冲击力强

方案2:水平点图

特点

  • 视觉简洁
  • 专业感强
  • 机器学习领域标准做法

例子

1
2
3
4
5
6
7
特征重要性点图:
    特征1:                        ● 0.145
    特征2:                        ● 0.145
    特征3:                      ● 0.134
    ...
    ↓
    纯点图,简洁专业

方案3:水平条形图

特点

  • 直观易懂
  • 适合长标签

例子

1
2
3
4
5
6
7
特征重要性条形图:
    特征1:████████████████████████████████ 0.145
    特征2:████████████████████████████████ 0.145
    特征3:███████████████████████████████ 0.134
    ...
    ↓
    条形长度直观表示重要性

中位数参考线

为什么需要中位数参考线?

作用

  • 帮助判断特征重要性的相对大小
  • 识别高于/低于中位数的特征
  • 提供参考基准

显示方式

1
2
3
4
5
6
7
8
9
特征重要性图表:
    特征1:                              ● 0.145
    特征2:                              ● 0.145
    特征3:                            ● 0.134
    特征4:                            │ 0.132(中位值)← 参考线
    特征5:              ● 0.073
    ...
    ↓
    中位数参考线清晰标记

6.2 SHAP 值可视化

SHAP 瀑布图(Waterfall Plot)

定义:展示单个样本的预测解释。

特点

  • 从基准值开始
  • 每个特征的贡献逐步累加
  • 最终得到预测值

例子

1
2
3
4
5
6
7
8
9
10
SHAP 瀑布图:
    基准值:0.28
        ↓
    特征1:+0.40(增加风险)
        ↓
    特征2:+0.25(增加风险)
        ↓
    特征3:-0.10(降低风险)
        ↓
    最终预测:0.83(高风险)

作用

  • 解释单个样本的预测
  • 展示每个特征的贡献
  • 向业务人员解释模型决策

SHAP 条形图

定义:展示所有样本的平均SHAP值。

特点

  • 特征重要性排序
  • 平均贡献大小

作用

  • 了解全局特征重要性
  • 对比特征贡献

SHAP 散点图

定义:展示特征值与SHAP值的关系。

特点

  • 发现特征值对预测的影响
  • 识别阈值效应

作用

  • 理解特征的影响模式
  • 发现非线性关系

6.3 交叉特征可视化

交叉特征权重图

定义:展示特征组合的权重。

特点

  • 显示特征组合
  • 展示组合权重
  • 展示每个特征的贡献占比

例子

1
2
3
4
5
6
7
交叉特征权重图:
    [特征A, 特征B]:████████████████████████████████ 0.21
        - 特征A贡献:71%
        - 特征B贡献:29%
    ↓
    显示特征组合的总权重
    以及每个特征在组合中的贡献

作用

  • 发现重要的特征组合
  • 理解特征交互
  • 优化特征工程

7. 聚类结果可视化

7.1 聚类散点图

基础散点图

定义:用散点图展示聚类结果。

特点

  • 每个点代表一个样本
  • 不同颜色表示不同聚类
  • 点的位置代表降维后的坐标

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
聚类散点图:
    PC2
      ↑
      │    ●●●     ●●●
      │    ●●●     ●●●
      │         ●●●●
      │         ●●●●
      └──────────────→ PC1
    聚类1    聚类2    聚类3
    ↓
    直观看到:
    - 聚类的分布
    - 聚类的形状
    - 聚类的分离程度

增强元素

元素1:聚类中心(质心)

目的:标记每个聚类的中心点。

显示:用更大的点或特殊标记表示。

作用:帮助理解聚类的位置。

元素2:聚类边界(凸包)

目的:用凸包标记聚类的边界。

显示:用多边形或曲线包围聚类点。

作用:清晰展示聚类的覆盖范围。

元素3:颜色编码

目的:用不同颜色区分不同的聚类。

显示

  • 不同聚类用不同颜色
  • 高置信度样本用深色
  • 不确定样本用浅色

作用:清晰区分不同的组。

7.2 聚类统计信息

聚类大小

显示

  • 每个聚类的样本数
  • 采样比例(如果进行了采样)

作用:了解聚类的规模。

聚类标签

显示

  • 聚类ID
  • 聚类名称(如果已命名)
  • 置信度信息

作用:识别和区分不同的聚类。


8. 图表选择指南

8.1 根据数据维度选择

一维数据

场景:单一变量,如特征重要性。

推荐图表

  • 棒棒糖图(排名数据)
  • 水平条形图(对比数据)
  • 点图(简洁展示)

二维数据

场景:两个变量,如相关性分析。

推荐图表

  • 散点图(探索关系)
  • 热力图(相关性矩阵)
  • 折线图(时间序列)

多维数据

场景:多个变量,如高维特征。

推荐图表

  • PCA降维散点图(全局结构)
  • t-SNE降维散点图(局部结构)
  • 平行坐标图(多变量对比)

8.2 根据目标选择

目标1:排名对比

场景:展示TopN特征重要性。

推荐图表

  • 棒棒糖图(最推荐)⭐
  • 水平条形图
  • 点图

选择原则

  • 需要视觉冲击力 → 棒棒糖图
  • 需要简洁专业 → 点图
  • 需要直观易懂 → 水平条形图

目标2:分布展示

场景:展示数据分布。

推荐图表

  • 直方图(单变量分布、频数)
  • 箱线图(分布对比、快速了解)
  • 密度图(平滑分布、对比)
  • 小提琴图(完整分布形状、多峰检测)

选择原则

  • 快速了解 → 箱线图
  • 查看频数 → 直方图
  • 平滑曲线 → 密度图
  • 深入了解形状 → 小提琴图

目标3:关系探索

场景:探索变量之间的关系。

推荐图表

  • 散点图(两个变量)
  • 热力图(相关性矩阵)
  • 散点图矩阵(多变量)

选择原则

  • 两个变量 → 散点图
  • 多个变量相关性 → 热力图
  • 多个变量关系 → 散点图矩阵

目标4:聚类可视化

场景:展示聚类结果。

推荐图表

  • PCA散点图(线性关系)
  • t-SNE散点图(非线性关系)
  • 带有聚类边界和中心的散点图

选择原则

  • 线性关系为主 → PCA散点图
  • 复杂非线性关系 → t-SNE散点图

目标5:多维度对比

场景:同时对比多个维度。

推荐图表

  • 雷达图(≤6维)
  • 平行坐标图(任意维度)

选择原则

  • 维度少(≤6维) → 雷达图
  • 维度多(>6维) → 平行坐标图

目标6:趋势分析

场景:展示数据随时间的变化。

推荐图表

  • 折线图(时间序列)
  • 条形图(离散时间点)

选择原则

  • 连续时间 → 折线图
  • 离散时间点 → 条形图

8.3 图表对比总结

基础图表对比

图表类型适用场景优势劣势
棒棒糖图排名数据、特征重要性视觉层次感强、专业美观相对复杂
水平条形图对比数据、长标签直观易懂、适合长标签可能误导(条形太长)
点图简洁展示、小数值视觉简洁、专业感强视觉冲击力较弱
散点图关系探索、聚类可视化发现模式、直观不适合太多点
热力图相关性矩阵、混淆矩阵展示二维数据、发现模式需要颜色映射理解
箱线图分布对比、异常值检测展示分布、识别异常值不够直观
小提琴图分布形状分析、多峰检测显示完整分布形状、识别多峰较复杂
直方图频数分布分析展示频数、发现模式受区间划分影响
密度图平滑分布展示、分布对比平滑曲线、适合对比不显示原始频数
折线图趋势分析、时间序列展示趋势、直观不适合离散数据

高级图表对比

图表类型适用场景优势劣势
雷达图多维度对比、综合评估多维度展示、发现模式维度多时复杂
平行坐标图高维数据探索、样本对比高维可视化、发现模式线条多时混乱
树状图层次数据展示、特征分组展示层次和数值层次深时复杂
桑基图流程可视化、数据流向展示流向、清晰复杂关系时混乱

分布展示图表对比

图表类型显示内容信息量适用场景
箱线图四分位数、中位数、异常值中等快速了解分布
直方图频数分布中等了解频数分布
密度图概率密度分布中等平滑分布曲线
小提琴图完整分布形状 + 箱线图信息深入了解分布

选择建议

1
2
3
4
5
6
7
8
9
10
11
快速了解分布:
    → 使用箱线图

了解频数分布:
    → 使用直方图

查看平滑分布:
    → 使用密度图

深入了解分布形状:
    → 使用小提琴图

9. 最佳实践

9.1 图表设计原则

原则1:简洁清晰

要求

  • 去除不必要的装饰
  • 突出重要信息
  • 避免信息过载

例子

1
2
3
4
5
6
7
8
9
不好的设计:
    - 过多的颜色
    - 过多的标记
    - 混乱的布局
    ↓
好的设计:
    - 清晰的颜色编码
    - 必要的标记
    - 整齐的布局

原则2:标注完整

要求

  • 标题清晰
  • 坐标轴标签明确
  • 图例完整

例子

1
2
3
4
5
PCA散点图:
    标题:"群体分布散点图(解释方差: 75%)"
    X轴标签:"主成分1 (PC1)"
    Y轴标签:"主成分2 (PC2)"
    图例:显示每个聚类的颜色和名称

原则3:颜色使用

要求

  • 颜色有含义(如不同聚类用不同颜色)
  • 颜色对比明显
  • 考虑色盲友好

建议

  • 使用颜色区分不同的类别
  • 使用深浅表示重要性或置信度
  • 避免使用过多颜色

9.2 交互式图表

为什么需要交互?

优势

  • 可以放大缩小
  • 可以查看详细信息
  • 可以筛选数据

应用

  • 散点图:鼠标悬停显示详细信息
  • 条形图:点击查看详情
  • 热力图:放大查看细节

9.3 图表导出

导出格式

格式1:PNG

适用:静态展示、报告。

特点:高质量,文件小。

格式2:SVG

适用:可缩放图形、网页。

特点:矢量格式,无损缩放。

格式3:PDF

适用:正式报告、打印。

特点:高质量,保持格式。

9.4 性能优化

大数据量处理

问题:数据点太多,图表渲染慢。

解决方案

  • 采样:只展示部分数据点
  • 聚合:将相近的点聚合
  • 分层:先展示概览,再展示细节

例子

1
2
3
4
5
6
7
8
聚类可视化:
    原始数据:10000个样本
    ↓
    采样:1000个样本(随机采样)
    ↓
    展示采样后的数据
    ↓
    标记实际样本数(1000 / 10000)

动态加载

问题:数据量大,初始加载慢。

解决方案

  • 先加载概览
  • 按需加载详细信息
  • 使用缓存

总结

本文深入介绍了机器学习中的数据可视化与统计展示技术。关键要点:

  1. 可视化的本质:将抽象数据转化为直观图形,帮助人类理解数据
  2. 统计指标:均值、中位数、标准差、解释方差等
  3. 基础图表:条形图、点图、散点图、折线图
  4. 高级图表:棒棒糖图、热力图、箱线图
  5. 降维可视化:PCA、t-SNE,及其解释方差
  6. 特征重要性可视化:棒棒糖图、SHAP值图表
  7. 聚类结果可视化:散点图、聚类中心和边界
  8. 图表选择:根据数据维度和目标选择合适的图表

通过数据可视化,我们可以:

  • 直观理解数据的分布和特征
  • 理解模型的决策过程和性能
  • 向业务人员解释模型结果
  • 发现模型和数据中的问题

选择合适的数据可视化技术,能够大大提高机器学习的可理解性和应用价值。


附录:图表类型快速参考

按数据维度分类

一维数据

  • 棒棒糖图:排名数据
  • 水平条形图:对比数据
  • 点图:简洁展示
  • 直方图:频数分布
  • 密度图:平滑分布
  • 箱线图:快速了解分布
  • 小提琴图:完整分布形状

二维数据

  • 散点图:关系探索
  • 热力图:相关性矩阵
  • 折线图:趋势分析

多维数据

  • PCA散点图:线性降维
  • t-SNE散点图:非线性降维
  • 雷达图:多维度对比(≤6维)
  • 平行坐标图:高维数据探索

按目标分类

排名对比

  1. 棒棒糖图(推荐)⭐
  2. 水平条形图
  3. 点图

分布展示

  1. 箱线图(快速了解)
  2. 直方图(频数分布)
  3. 密度图(平滑分布)
  4. 小提琴图(完整形状)

关系探索

  1. 散点图(两个变量)
  2. 热力图(相关性矩阵)
  3. 散点图矩阵(多变量)

聚类可视化

  1. PCA散点图(线性)
  2. t-SNE散点图(非线性)

多维度对比

  1. 雷达图(≤6维)
  2. 平行坐标图(任意维度)

趋势分析

  1. 折线图(连续时间)
  2. 条形图(离散时间点)

图表选择决策树

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
需要可视化什么?
    ↓
┌─────────────────────────────────────────┐
│ 是排名数据?                            │
│   ├─→ 是 → 棒棒糖图(推荐)或水平条形图 │
│   └─→ 否 → 继续                         │
└─────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────┐
│ 是分布数据?                            │
│   ├─→ 是 → 快速了解?                   │
│   │       ├─→ 是 → 箱线图              │
│   │       └─→ 否 → 完整形状?          │
│   │           ├─→ 是 → 小提琴图        │
│   │           └─→ 否 → 直方图或密度图  │
│   └─→ 否 → 继续                         │
└─────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────┐
│ 是关系探索?                            │
│   ├─→ 是 → 两个变量?                   │
│   │       ├─→ 是 → 散点图              │
│   │       └─→ 否 → 多个变量?          │
│   │           ├─→ 是 → 热力图          │
│   │           └─→ 否 → 继续            │
│   └─→ 否 → 继续                         │
└─────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────┐
│ 是聚类可视化?                          │
│   ├─→ 是 → 线性关系?                   │
│   │       ├─→ 是 → PCA散点图           │
│   │       └─→ 否 → t-SNE散点图         │
│   └─→ 否 → 继续                         │
└─────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────┐
│ 是多维度对比?                          │
│   ├─→ 是 → 维度≤6?                     │
│   │       ├─→ 是 → 雷达图              │
│   │       └─→ 否 → 平行坐标图          │
│   └─→ 否 → 继续                         │
└─────────────────────────────────────────┘
本文由作者按照 CC BY 4.0 进行授权