sklearn基础--『回归模型评估』之评估可视化

scikit-learn中,回归模型的可视化评估 是一个重要环节。

它帮助我们理解模型的性能,分析模型的预测能力,以及检查模型是否存在潜在的问题。

通过可视化评估,我们可以更直观地了解回归模型的效果,而不仅仅依赖于传统的评估指标。

1. 残差图

所谓残差,就是实际观测值与预测值之间的差值。

残差图 是指以残差 为纵坐标,以任何其他指定的量为横坐标的散点图。

如果残差图中描绘的点围绕残差等于0的直线上下随机散布,说明回归直线对原观测值的拟合情况良好。反之,则说明回归直线对原观测值的拟合不理想。

下面做一个简单的线性回归模型,然后绘制残差图。

python 复制代码
from sklearn.datasets import make_regression
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import PredictionErrorDisplay

fig, ax = plt.subplots(1, 2)
fig.set_size_inches(10, 4)

X, y = make_regression(n_samples=100, n_features=1, noise=10)
ax[0].scatter(X[:, 0], y, marker="o")
ax[0].set_title("样本数据")

# 初始化最小二乘法线性模型
reg = LinearRegression()
# 训练模型
reg.fit(X, y)
y_pred = reg.predict(X)

ax[0].plot(X, y_pred, color="red")
display = PredictionErrorDisplay(y_true=y, y_pred=y_pred)
ax[1].set_title("残差图")
display.plot(ax=ax[1])

plt.show()

左边是随机生成的样本数据 ,其中的红线 是训练之后拟合的线性模型。

右边是根据scikit-learn中提供的PredictionErrorDisplay模块生成的残差图

2. 对比图

对比图 将实际目标值与模型预测值进行对比,直观地展示模型的预测能力。

通常,我们希望看到实际值预测值 沿着一条 y = x y=x y=x的直线分布,这意味着模型预测非常准确。

下面用一些混乱度高的样本,来看看对比图的效果。

python 复制代码
from sklearn.datasets import make_regression
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import PredictionErrorDisplay

fig, ax = plt.subplots(1, 2)
fig.set_size_inches(12, 6)

# 混乱度高,noise=100
X, y = make_regression(n_samples=100, n_features=1, noise=100)
ax[0].scatter(X[:, 0], y, marker="o")
ax[0].set_title("样本数据")

# 初始化最小二乘法线性模型
reg = LinearRegression()
# 训练模型
reg.fit(X, y)
y_pred = reg.predict(X)

ax[0].plot(X, y_pred, color="red")
display = PredictionErrorDisplay(y_true=y, y_pred=y_pred)
ax[1].set_title("对比图")
display.plot(ax=ax[1], kind="actual_vs_predicted")

plt.show()

原始样本比较混乱,线性模型 很难拟合,所以看对比图 就可以发现,真实值预测值 差别很大。

越靠近对比图 中间那个虚线的点,真实值预测值越接近。

换一个混乱程度低的样本,再看看对比图的效果。

python 复制代码
# 混乱度 noise=10,比如上面那个示例降10倍
# 上面代码只改这一行,其它部分代码不用改
X, y = make_regression(n_samples=100, n_features=1, noise=10)

从图中也可以看出,这次的模型拟合效果要好很多。

3. 总结

可视化的图形向我们传达了模型预测的准确性 、线性假设的满足程度 、误差项的独立性 以及特征对预测的影响程度等信息,让我们对模型有更深入的了解。

通过图形化的方式,帮助我们更直观地理解回归模型的性能,发现模型潜在的问题,指导我们改进模型。

不过,可视化评估 虽然直观,但并不能完全替代传统的量化评估指标。

两者应该相互补充,共同构成对回归模型性能的全面评价。

相关推荐
集芯微电科技有限公司1 小时前
700V/17A高频开关低导通阻GaN HEMT驱动器适用于快充,LLC,PFC功率校正
人工智能·嵌入式硬件·深度学习·神经网络·机器学习·生成对抗网络·计算机外设
YOLO数据集集合1 小时前
尼帕果实目标检测数据集 | 尼帕果实检测 农业视觉 热带作物 目标检测 YOLO格式9013期
人工智能·yolo·目标检测·机器学习·计算机视觉·农业果实
东莞市云毅网络有限公司1 小时前
基于GEO的品牌信源矩阵构建:从内容生产到AI采信的全链路设计
人工智能·机器学习·矩阵
雷帝木木2 小时前
开源与商业AI工具的选型框架:总拥有成本、定制化与社区活力评估
人工智能·python·深度学习·机器学习
陈年老古董2 小时前
矿物分类数据处理:缺失值填充方法详解
开发语言·python·机器学习·项目
啥都想学点的研究生3 小时前
一篇文章讲清楚:超参数的选择方法——交叉验证和网格搜索
人工智能·深度学习·机器学习
江畔柳前堤3 小时前
消息队列:从直觉到精通的完整认知地图
开发语言·人工智能·算法·机器学习·ruby on rails·scala
让学习成为一种生活方式5 小时前
黄花蒿LHC基因家族的串联重复驱动扩张及其UV-B胁迫适应性--BMC Plant Biology
人工智能·算法·机器学习
ECT-OS-JiuHuaShan5 小时前
共轭互逆链路论,彻底打击庸俗辩证法和不可知论
数据库·人工智能·算法·机器学习·数学建模
薛定e的猫咪5 小时前
【源码解读版】ContraBAR:用 CPC 对比学习替代变分推断做贝叶斯元 RL
人工智能·深度学习·学习·算法·机器学习