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

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

关于作者

作者:小白熊

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

联系邮箱 :xbx3144@163.com

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

前言

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

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

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

示例代码

python 复制代码
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)

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

示例代码

python 复制代码
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等工具,你可以轻松地创建这些图表并嵌入到你的机器学习项目中,帮助更好地理解和解释你的模型结果。

相关推荐
封步宇AIGC2 分钟前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
何曾参静谧2 分钟前
「Py」Python基础篇 之 Python都可以做哪些自动化?
开发语言·python·自动化
m0_523674214 分钟前
技术前沿:从强化学习到Prompt Engineering,业务流程管理的创新之路
人工智能·深度学习·目标检测·机器学习·语言模型·自然语言处理·数据挖掘
Prejudices6 分钟前
C++如何调用Python脚本
开发语言·c++·python
HappyAcmen14 分钟前
IDEA部署AI代写插件
java·人工智能·intellij-idea
我狠狠地刷刷刷刷刷19 分钟前
中文分词模拟器
开发语言·python·算法
Jam-Young32 分钟前
Python的装饰器
开发语言·python
噜噜噜噜鲁先森35 分钟前
看懂本文,入门神经网络Neural Network
人工智能
Mr.咕咕1 小时前
Django 搭建数据管理web——商品管理
前端·python·django
InheritGuo1 小时前
It’s All About Your Sketch: Democratising Sketch Control in Diffusion Models
人工智能·计算机视觉·sketch