机器学习中的数据可视化是指什么?

发布日期 2026年5月4日
By Jobit Varughese

数据可视化详解

数据可视化是指使用图表、图形、绘图和仪表板等视觉元素以图形方式表示数据。它有助于向利益相关者或观众解释复杂的数据,他们可以使用这些数据进行决策。

在机器学习 (ML) 领域,它不仅仅意味着构建仪表板或报告。其中涉及构建、调试和改进 ML 模型。可用于在训练前查询数据、在训练期间监控情况,以及在评估后诊断哪里出了问题或做得好。重点不在于演示,而在于调查。

实际上,两者有重叠之处。优秀的机器学习从业者或数据科学专业人员会使用数据可视化来发现问题和优化模型,并让他人解释结果和建立对模型输出的信任。

数据可视化在机器学习中的重要性

机器学习中的数据可视化会直接影响模型的质量、您做出的决策以及他人对您工作的理解。

  • 及早发现数据问题:在构建任何模型之前,数据需要干净且可靠。问题在于,大多数数据质量问题在电子表格中是不可见的,直到在图表中变得明显为止。
  • 揭示汇总统计数据所遗漏的关系:平均值和相关性等数字只能说明事情的一部分。两个变量可能具有相同的相关性分数,但在现实中的表现却完全不同。数据可视化显示关系的形状,而不仅仅是它们的大小。
  • 它支持功能选择和功能工程决策:决定保留、转换或舍弃哪些功能是机器学习中最重要且最困难的部分之一。可视化使这些决策更加合理。
  • 让模型的失败变得可见:准确率达到 97% 的模型仍然可能完全不可靠,而单个指标永远不会告诉您这一点。可视化工具能穿透具有误导性的标题数据,准确揭示模型的失效环节与失效方式。
  • 帮助非技术团队做出明智决策:高管、产品负责人和客户不会翻阅亏损图表或详细的指标报告。他们需要一些能够快速解读的信息。良好的可视化效果可将模型性能转化为人们易于理解的清晰、直观的图形。这就是仪表板和简单的可视化摘要为何如此重要的原因。

数据可视化在 ML 工作流中处于什么位置?

可视化贯穿整个 ML 工作流,从收到原始数据到模型的最终评估。以下是风险在每个阶段出现的位置。每个步骤中提到的可视化技术将在后面的章节中详细讨论。

数据收集和初步质量检查

在开始任何分析之前,您需要了解正在处理的内容。这意味着要检查 Missing Values、不一致的数据类型和重复记录,因为此阶段数据的任何结构性问题都会悄然破坏后续所有内容。缺失值热图、数据类型分布图和记录频率图能在你投入时间构建数据之前,快速且可靠地了解数据的健康状况。

探索性数据分析 (EDA)

探索性数据分析有助于在构建任何内容之前了解数据集中的结构、分布和关系,通过使用直方图、散点图、相关矩阵、箱形图和配对图来呈现原始数据无法揭示的模式、异常和关系。EDA 在本质上是一种迭代:您要将某些内容可视化,提出假设,对其进行测试,然后再次将其可视化,直到您真正理解数据告诉您什么。

特征工程

在了解原始数据后,您可以开始转换并为模型选择功能。此时对数据进行可视化可以让您检查转型是否按预期进行,并帮助您确定哪些功能真正有用。理解分布图、特征重要性图表或特征在不同目标组中的行为方式,可以将任意预处理转变为可以清楚证明合理性的选择。

模型训练

随着机器学习模型的训练,可视化不再是检查数据,而是成为跟踪模型学习过程的一种方式。学习曲线或损失曲线等图表可揭示模型是在改进、趋于平稳还是过拟合。这些反馈可让您在作业完成之前微调超参数、调整正则化或更改训练持续时间。

模型评估

训练结束后,可视化使您超越单一的准确率数字,真正了解模型的表现。混淆矩阵、ROC 曲线、精确度-召回率曲线和残差图都揭示了模型行为的不同维度。它们按类别、阈值和预测值范围细分性能,不仅知道模型表现如何,还能知道它在哪些方面成功,哪些方面不足。

机器学习中的数据可视化技术类型

了解机器学习中使用的数据可视化类型意味着要从用例的角度思考,而不仅仅是图表名称。以下是对其的结构化细分。

EDA 可视化

直方图

直方图显示单个数值功能的分布情况。它在 x 轴上将数值拆分为分箱,并计算 y 轴上属于每个分箱的数据点数量。在 Python 中,使用 matplotlib 或 seaborn 等工具,绘制直方图可以快速显示特征是正常、右倾、双峰还是接近均匀。

每种模式代表不同的预处理步骤。 例如,您可能会绘制产品价格的直方图,并看到大多数价格都在 50 美元以下,但有一个很长的范围达到 500 美元。这种模式表明,在模型中使用该功能之前,进行对数转换会使其优点提升。

散点图

散点图在 x 轴和 y 轴上放置两个数值变量,每个数据点表示为一个点。 它们有助于观察线性和非线性模式,识别簇形成的位置,并标记那些远离数据的异常值。例如,将房屋大小与销售价格绘制出来,可能显示出清晰的上升趋势,直到某个尺寸阈值后价格趋于平稳,这一模式值得在训练前进行调查。

相关矩阵(热图)

相关矩阵显示数据集中每个数值功能之间的成对相关性。以热力图形式呈现,单元颜色编码相关强度,使多重共线性一目了然。相关性为 0.95 或更高的特征通常是特征选择过程中需要删除的候选特征,因为它们带有冗余信息。

相关性只捕捉线性关系,因此接近零的相关性并不意味着两个功能是独立的。例如,住房数据集中的“房间总数”和“卧室总数”几乎总是显示出非常高的相关性,同时保留两者不会向模型添加新信息。

箱形图

箱形图通过显示中位数、数据的主要范围(四分位距)和任何异常值,快速总结变量的分布情况。它们在机器学习中特别有用,可以比较数值功能在不同目标群体之间的差异,例如查看拖欠贷款和不拖欠贷款的人的收入。

配对图

配对图为数据集中每个数值功能组合生成散点图网格,沿对角线排列直方图或密度图。Seaborn 的 pairplot() 函数在一行中生成这些图。对于多达 10-15 个功能的数据集,配对图提供了快速的多变量概览,而这需要许多独立图才能复制。

在这种情况下,特征仅指数据集中的各个列,例如年龄、收入或购买频率。例如,销售数据集的配对图可能很快就会显示出收入和销售单位的变化趋势密切相关,而贴现率与这两者之间没有太多关联。这样的洞察分析可以帮助您决定哪些功能值得保留。

密度图

密度图就像平滑版的直方图。它们可用于比较某项功能在两个组之间的分布情况。当曲线相距较远时,该功能通常具有很强的预测价值。但是,如果它们重叠,那就没有帮助了。

例如,如果您将忠诚客户与流失客户的“购买频率”密度绘制成图表,且两条线形成明显独立的峰值,那么这是良好的迹象,表明该功能将在客户流失预测模型中提供帮助。

功能工程可视化

功能重要性图

模型训练完成后,您可以提取功能重要性得分,并将其可视化为柱状图,以查看哪些功能最为重要。基于决策树的模型是常见的例子,因为它们可以自然地提供这些重要性分数。重要性很低的功能通常是很好的去掉对象,Plotly 或 Matplotlib 等工具即使有很多功能,也能轻松生成这些图表。

分布比较图

这些图比较功能在转型(缩放、编码、对数变换)前后的分布,并确认预处理步骤是否达到预期效果。这种比较很重要,因为将转换不当的功能输入到模型中可能会导致预测偏差,而一个简单的并排图就能在问题进入训练之前进行检测。

模型训练可视化

学习曲线

学习曲线是一种模型训练可视化方式,y 轴上绘制了模型性能(准确性或损失),x 轴上显示了训练集大小或训练迭代次数,并用单独的线表示训练和验证。

这种单一的可视化方法可以诊断两种最常见的 ML 模型故障模式:过拟合(训练和验证性能之间的巨大差距)和欠拟合(两条线都很低并快速收敛)。在看到学习曲线后,调整模型复杂性、正则化或训练数据大小就变得有针对性,而不是猜测。

损失曲线

对于深度学习模型来说,绘制随时间推移的训练损失和验证损失是标准做法。如果验证损失停止改善或开始增加,而训练损失继续下降,则需要提前停止训练。这些图通常在培训期间通过 TensorBoard 等工具实时生成。

折线图

更广泛地说,跟踪训练迭代的任何指标(准确率、F1 分数、曲线下面积)的折线图可以连续展示模型的演变情况。它们比单个训练结束指标提供的信息更丰富,因为它们显示了轨迹,而不仅仅是目的地。

模型评估可视化

混淆矩阵

混淆矩阵是一种模型评估可视化类型,它在网格中列出实际类标签和预测类标签的每种组合(真正、真负、假正和假负),以便您可以准确地看到模型的正确位置和错误位置错误。

它是大多数分类指标的基础;精度、召回率和 F1 分数均从中得出。它呈现为热图,并带有显示计数或百分比的注释,使类级别的故障立即清晰可见。如果某个模型的准确性“看起来不错”,但关键类为空行,那么它在混淆矩阵中就会立即显示为故障。

ROC(接收机工作特性)曲线

ROC 曲线绘制了在每个可能的分类阈值(从 0 到 1)下,真正例率与假正例率的对比情况。曲线下面积 (AUC) 用一个数字总结了整体模型的判别能力:0.5 代表随机猜测,1.0 代表完美。当比较多个模型或当假阳性和假阴性的成本不同时,ROC 曲线特别有用。scikit-learn 和 plotly 等工具都具有生成它们的内置支持。

精确度-召回率曲线

当数据集严重不平衡时,精确度-召回率曲线比 ROC 曲线更能真实地反映模型性能。强大的分类器向图的右上角推进,可在不牺牲召回率的情况下保持高精度。它在不同的决策阈值上绘制了纵轴为精确度、横轴为召回率的曲线图。

在医疗诊断或欺诈检测等高风险领域,未能发现罕见病例造成的影响远比误报更大,因此这条曲线通常比任何其他方法都能告诉您更多信息。

残差图

对于回归模型,残差图显示预测值与实际值之间的差异(残差)在 y 轴上,预测值在 x 轴上。残差应围绕零随机分布,没有明显的规律。如果残差呈扇形分布、曲线状分布或簇状分布,则表明该模型存在结构性问题,它无法捕捉数据中关系的某些方面。

机器学习中常用的数据可视化工具

Matplotlib 是其他所有功能的开源基础。其“pyplot”模块(导入为“plt”)可处理标准图、直方图、散点图、折线图、柱状图等多种图种。与较新的库相比,它的语法比较冗长,但这种冗长性使您可以精确控制每个细节:注释、轴标签、图形布局和大小。

Seaborn 基于 matplotlib,并大幅减少了样板代码。在 matplotlib 中需要 15 行的热图、配对图或箱形图在 seaborn 中只需一到两行。它直接从 pandas DataFrame 读取,这使其成为 Jupyter Notebook 环境中 EDA 的首选。

当您的输出需要交互式时,Plotly 是正确的选择。图表以 HTML 形式渲染,允许浏览者悬停在数据点上,放大并切换系列,使其在通过仪表板或网络报告向利益相关者展示结果时,比静态图片更实用。

NumPy 本身不是可视化工具,但它是几乎所有可视化工作流的核心,处理 matplotlib 和 seaorn 所依赖的数组操作和 x 轴/y 轴数据准备。

Yellowbrick 专为 ML 评估而构建。它封装了 scikit-learn,并在一次函数调用中生成混淆矩阵、ROC 曲线、学习曲线和函数重要性图,省去了Matplotlib所需的手动连接。

TensorBoard 负责深度学习方面。它在训练过程中流式传输实时训练指标、损失曲线和模型图,这对于监控大型数据集和长时间运行的神经网络作业是必不可少的。

机器学习数据可视化中的常见错误

有效的数据可视化不仅仅是选择正确的图表,还在于避免悄然产生误导的模式。

  • 在 EDA 期间实现测试集可视化:即使在训练之前随意探索测试集分布,也足以将信息泄露到您的预处理决策中。在分割之后,EDA 完全属于训练集。
  • 信任单一准确率数字:在 ML 中,标题准确性是最具误导性的指标之一,尤其是在不平衡的数据集上。模型可能获得 95% 的准确率,但在真正重要的类别上却完全失败。并配套构建混淆矩阵,按类别对性能进行细分。
  • 对数据类型使用错误的图表:饼图分崩离析,有多个类别。折线图意味着连续性,这使得它们不适合分类比较。相关性热图是专为数值变量设计的,在高基数分类数据上运行它们会产生噪声,而不是洞察分析。图表选择应遵循数据的性质,而不是个人偏好。
  • 将相关性误认为因果关系:如果两个功能之间的相关性很高,就说明它们会一起移动。这并不意味着其中一方驱动另一个,更不意味着任何一方驱动目标变量。将相关矩阵视为调查的起点,而不是结论。
  • 过度依赖一个模型的功能重要性:功能重要性分数反映功能在特定算法中的有用程度。在随机森林中排名接近底部的功能,可能是逻辑回归中最有价值的输入之一。将这些图作为一项输入,而不是对功能选择的最终结论。
  • 跳过回归模型的残差图:残差图会告诉您误差是否遵循某种模式,这意味着模型缺失了结构性的东西。残差图中的系统曲线或扇形在聚合指标中不可见,但在残差图中会很明显。
  • 放弃对大型数据集的可视化:过度绘制是真实的问题,但答案不是要停止可视化,而是要切换技术。密度图或精心选择的随机样本可为您提供相同的分析清晰度,而不会使用难以理解的散点图。

总结

机器学习中的数据可视化并不是最后的完成步骤,而是贯穿项目的每个阶段。数据科学家如何诊断表格中看不到的问题,发现指标掩盖的模型故障,向利益相关者传达发现,并在工作流程的每个阶段做出自信的数据驱动决策。

养成在每个阶段都有意识地进行可视化的习惯,是您可以做的最简单、最有效的事情之一,可以提高模型的质量和思维的清晰度。

作者

Jobit Varughese

Technical Content Writer

IBM

相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

  1. 深入了解 watsonx.ai
  2. 预约实时演示