当前位置: 首页 > news >正文

如何可视化机器学习模型:从线性回归到神经网络

如何可视化机器学习模型:从线性回归到神经网络

机器学习很复杂,而且通常很难理解。通过可视化机器学习模型,您可以深入了解模型性能以及模型在进行预测时做出的决策

机器学习很复杂,而且数学运算很重。作为初学者,您几乎肯定会在学习数十种可用模型的内部工作原理时遇到困难。如果你没有数学背景,这个问题就会被调到 11 分。但即使你拥有博士学位,你仍然会发现很难向商业人士解释模型结果。他们通常不会像你一样对技术细节充满热情,但希望确保你的模型以正确的方式做出决策。那么,您如何弥合差距呢?技术专业人士和业务人员会说一种通用语言:数据可视化。 图表易于理解,无论您的背景如何,都可以更轻松地解释复杂的主题。在本文中,我将教您可视化监督式机器学习模型的基本和高级概念。如果您正在寻找有关无监督学习的好材料,我们的 Python 无监督学习课程可以满足您的需求。

机器学习模型最常见的可视化类型

我将从轻理论部分开始,介绍最常见的机器学习模型可视化类型。它在这里让我们处于相同的竞争环境中。

特征重要性

当您想要了解数据集的哪些属性对机器学习模型的预测贡献最大时,这就是它的位置。

**把它想象成烤蛋糕:**面粉和糖等成分是必不可少的,而其他成分,如糖屑,贡献不大。换句话说,你可以吃一个没有撒料的蛋糕,但不能没有面粉和糖。

如果删除重要性分数较高的特征,模型的性能将显著下降。特征重要性图通常与基于树的模型(决策树、随机森林、梯度提升)相关联。训练模型后,实际值变得可用,并且只需几行代码即可可视化这些值。

模型性能指标

评估机器学习模型(例如,用于分类)的最常见指标是混淆矩阵、ROC 曲线和 PR 曲线(精度-召回率)。

第一个显示每个类在左上角到右下角对角线上的正确预测数。它之外的所有内容都被视为错误(误报或漏报)。

第二个选项 显示一组分类阈值的真阳性率和假阳性率之间的权衡。

第三个选项 显示了正确的正预测 (精确率) 与模型识别所有正实例的能力 (召回率) 之间的平衡。ROC 和 PR 曲线都仅适用于二元分类数据集。如果出现多类问题,您必须同时比较两个类。

当然,还有其他可用的评估指标,但这三个是最常见的。它们内置于 scikit-learn 中,scikit-learn 是用于训练机器学习模型的库。

误差图

使用线性模型(例如线性回归)时,您通常需要绘制残差。

这些值表示实际值和预测值之间的差异。当您绘制这些时,您需要检查任何可见的模式。理想情况下,它们应该随机分布在零附近(正态分布)。如果不是这种情况,则模型正在做出有偏差的预测,您仍有一些工作要做。

总的来说,这是一个非常容易绘制的图,它可以告诉你很多关于你的回归模型的信息

预测解释

机器学习模型通常被视为黑匣子,但并非必须如此SHAP (SHapely Additive Explanations) 和 LIME (Local Interpretable Model-agnostic Explanations) 等高级解释技术有助于回答模型如何得出特定决策的问题。 SHAP 为单个预测的每个特征分配重要性值(想想:这个人是吸烟者,所以他们的保险金额会更高),而 LIME 创建一个更简单的模型,该模型近似于特定实例的复杂模型的预测。

我将在本文后面向您展示它们的工作原理。但在深入研究好东西之前,让我们讨论一下您需要遵循的几个 Python 库。

用于可视化机器学习模型的 Python 库

在这个简短的部分中,我将向您展示如何安装可视化机器学习模型所需的系统范围的依赖项和 Python 库。

Graphviz (图形可视化)

您唯一需要遵循的系统范围依赖项是 Graphviz。稍后您将使用它来可视化决策树,如果不安装 Graphviz,代码将无法运行。它是一个开源软件,用于制作图表、抽象图形和网络。你不会直接使用它;只能通过 scikit-learn 获取。

scikit-学习

此 Python 库广泛用于 Python 中的机器学习任务。在本文中,您将使用它来训练机器学习模型、拆分数据集、缩放数值特征和可视化模型性能。这是必备的,因此请使用以下命令安装它(取决于您的 Python 环境):

pip install scikit-learn
conda install scikit-learn
SHAP (SHapely 加法解释)

Python 中的 SHAP 库是解释机器学习模型预测的常用工具。它利用博弈论概念(例如 Shapely 值)来衡量每个属性对模型预测的贡献。更棒的是,它包含有用的可视化效果,可帮助您了解模型的内部工作原理。

使用以下命令安装它:

pip install shap
conda install -c conda-forge shap
LIME (本地可解释模型不可知的解释)

许多人在解释单个模型预测至关重要时,都会使用这个 Python 库。它的工作方式与 SHAP 不同。它使用可解释的、更简单的模型在本地近似原始模型。然后,它显示每个数据集特征对预测的贡献。

您稍后会看到 LIME 的工作原理,但首先要安装它:

pip install lime
conda install conda-forge::lime
张量板

如果您正在使用 TensorFlow 构建神经网络模型,那么 TensorBoard 是不二之选。它是一个可视化工具,可帮助您跟踪机器学习实验并监控训练指标(例如,损失和准确性)。它可以实时可视化和更新模型图形,并显示模型参数在训练期间的变化情况。TensorBoard 可以与 PyTorch 等其他深度学习框架一起使用,但在本文中我将重点介绍 TensorFlow。

通过运行以下命令进行安装:

pip install tensorboard
conda install -c conda-forge tensorboard

相关文章:

  • 学习日记-day30-6.15
  • 山东大学软件学院创新项目实训开发日志——第十七周(二)
  • 手写muduo网络库(九):TcpConnection
  • 如何使用configure脚本安装PBS
  • 图形编辑器基于Paper.js教程29:基于图层的所有矢量图元的填充规则实现
  • 组策略关闭 Windows 防火墙指南(企业版/专业版)
  • SpringMVC系列(一)(介绍,简单应用以及路径位置通配符)
  • 机器学习实验报告5-K-means 算法
  • Linux--存储系统探秘:从块设备到inode
  • 影视剧学经典系列-梁祝-陶渊明《感士不遇赋并序》
  • Appium+python自动化(二十三)- Monkeyrunner与Monkey
  • React forwardRef 与 useImperativeHandle 深度解析
  • selenium点击元素出现的obscure问题
  • 设计模式精讲 Day 2:工厂方法模式(Factory Method Pattern)
  • 什么是敏捷中的迭代(Iteration)和 Sprint?
  • 计算机硬件——主板
  • 【旧题新解】第 9 集 带余除法
  • Java 常用类 Arrays:从零到实战的数组操作指南
  • ArkUI-X框架LogInterface使用指南
  • 安卓9.0系统修改定制化____深入解析安卓 9.0 各手机分区:功能、作用与差异 基础篇二
  • 有那些做自媒体短视频的网站/免费网站分析seo报告是坑吗
  • 培训web网站开发/如何建立电商平台
  • 简单网站css样式/怎么在平台上做推广
  • 制作网站背景怎么做/网站访问量统计工具
  • 云计算 网站建设/网站建设费用都选网络
  • c 2015 做网站/外链怎么打开