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

机器学习可视化教程——混淆矩阵与回归图

机器学习可视化教程——混淆矩阵与回归图



关于作者


作者:小白熊

作者简介:精通python、matlab、c#语言,擅长机器学习,深度学习,机器视觉,目标检测,图像分类,姿态识别,语义分割,路径规划,智能优化算法,数据分析,各类创新融合等等。

联系邮箱:xbx3144@163.com

科研辅导、知识付费答疑、个性化定制以及其他合作需求请联系作者~



前言


  在机器学习项目中,数据的可视化是评估模型表现的关键步骤。通过可视化,我们可以直观地看出模型的预测效果、数据分布和误差。本文将介绍如何使用`matplotlib`和`seaborn`,来绘制回归图(用于回归任务)和混淆矩阵(用于分类任务)。



回归任务——回归图(Regression Plot)


  回归分析是机器学习中用于预测数值型目标变量的一种常见方法。回归图通常用于展示模型预测值与真实值之间的关系。我们可以使用seaborn库来绘制回归图。

示例代码

import matplotlib.pyplot as plt
import seaborn as sns
import warnings

warnings.filterwarnings("ignore")  # 忽略警告

# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 假设真实值为y_true,预测值为y_pred

# 绘制回归图
plt.figure(figsize=(10,6))
sns.regplot(x=y_true, y=y_pred, scatter_kws={'s':10}, line_kws={'color':'red'})
plt.xlabel("真实值")
plt.ylabel("预测值")
plt.title("回归图")
plt.show()

示例图

在这里插入图片描述


分类任务——混淆矩阵(Confusion Matrix)


  混淆矩阵常用于分类任务,展示分类器的性能表现。它能够显示模型正确分类的样本数与错误分类的样本数,帮助我们更好地理解模型的预测情况。

示例代码

import matplotlib.pyplot as plt
import seaborn as sns
import warnings

warnings.filterwarnings("ignore")  # 忽略警告

# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 假设真实值为y_true,预测值为y_pred

# 计算混淆矩阵
cm = confusion_matrix(y_true, y_pred)

# 绘制混淆矩阵,xticklabels和yticklabels是类别名称,需要根据实际情况修改
plt.figure(figsize=(8,6))
sns.heatmap(cm, annot=True, fmt="d", cmap="Blues", xticklabels=iris.target_names, yticklabels=iris.target_names)
plt.xlabel("预测值")
plt.ylabel("真实值")
plt.title("混淆矩阵")
plt.show()

示例图

在这里插入图片描述


结束语

  回归图和混淆矩阵是分析机器学习模型性能的重要工具。回归图帮助我们评估模型的预测准确度,而混淆矩阵则能深入了解分类模型的分类错误类型。通过这些可视化,我们能够快速发现模型的潜在问题,进而改进模型的表现。

  使用matplotlibseaborn等工具,你可以轻松地创建这些图表并嵌入到你的机器学习项目中,帮助更好地理解和解释你的模型结果。




http://www.kler.cn/news/340914.html

相关文章:

  • 递归基本操作总结
  • 数据中心运维挑战:性能监控的困境与智能化解决方案的探寻
  • 快餐食品检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • 超轻巧modbus调试助手使用说明
  • recyclerView(kotlin)
  • 非结构化数据管理中的元数据应用与实践
  • ctf.bugku-eval
  • 髓质脊髓三叉神经核文献阅读笔记
  • 嵌入式面试——FreeRTOS篇(五) 事件标志组
  • Spring Boot Starter Parent介绍
  • 初学python python与js差异
  • windows C++-移除界面工作线程(一)
  • AutoKey:开启高效办公与生活的自动化之门
  • 如何评估和选择适合企业的非结构化数据管理工具
  • mybatis-plus转换数据库json类型数据为java对象
  • 力扣题解( 规定时间内到达终点的最小花费)
  • 【LeetCode: 134. 加油站 | 贪心算法】
  • ​el-table去除表格表头多选框或者更换为文字​
  • 【嵌入式软件-STM32】STM32简介
  • 物联网:一种有能力重塑世界的技术