机器学习可视化教程——混淆矩阵与回归图
关于作者
作者:小白熊
作者简介:精通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()
示例图
结束语
回归图和混淆矩阵是分析机器学习模型性能的重要工具。回归图帮助我们评估模型的预测准确度,而混淆矩阵则能深入了解分类模型的分类错误类型。通过这些可视化,我们能够快速发现模型的潜在问题,进而改进模型的表现。
使用matplotlib
和seaborn
等工具,你可以轻松地创建这些图表并嵌入到你的机器学习项目中,帮助更好地理解和解释你的模型结果。