【深度学习】第3章实验——回归模型

根据相关数据集进行回归分析

python 复制代码
import statsmodels.api as sm
# df.loc[:, ...] 表示选择所有行。
# df.columns != 'mpg' 创建一个布尔数组,指示哪些列不等于 'mpg'。
# df.loc[:, df.columns != 'mpg'] 选择 df 中所有行和列名不等于 'mpg' 的所有列。
x =df.loc[:,df.columns!='mpg']

#在数据框 x 中添加一列常数值(通常为 1)。
#这一列称为截距项(intercept),在回归分析中非常重要。
#这样做的目的是确保模型在进行线性回归时,包括一个常数项(截距)。
x=sm.add_constant(x)
y = df['mpg']

# 随机抽取 x 数据框中的 6 行数据。
x.sample(6)
python 复制代码
import statsmodels.formula.api as smf

#smf.ols 是使用普通最小二乘法(OLS)进行线性回归分析的函数。
#formula='mpg~hp+C(vs)+C(am)' 定义了回归模型的公式
#mpg 是因变量(或目标变量),即我们要预测的变量。
#hp 是自变量之一,即预测变量。
#C(vs) 和 C(am) 表示 vs 和 am 是分类变量(categorical variables)。C 函数将这些变量视为分类变量,而不是连续变量。
#data=df 指定了数据源 df
#.fit() 方法用于拟合模型,即根据提供的数据进行线性回归分析,并生成一个包含拟合结果的模型对象。
model = smf.ols(formula='mpg~hp+C(vs)+C(am)',data=df).fit()

#打印模型摘要
print(model.summary())
python 复制代码
#使用先前拟合的线性回归模型对新的数据进行预测
y_hat = model.predict(x)
#随机抽取并展示5个预测值:
y_hat.sample(5)
python 复制代码
import numpy as np
#计算模型预测结果的均方根误差
#反映了预测值与实际值之间的差异大小
model_RMSE = np.sqrt(np.mean(np.square(y_hat-y)))
model_RMSE
python 复制代码
fig = plt.figure(figsize=(12,8))
#使用 plot_regress_exog 函数来绘制回归模型的外生变量(exogenous variable)的回归诊断图
fig = sm.graphics.plot_regress_exog(model,"hp",fig = fig)
相关推荐
永远都不秃头的程序员(互关)13 小时前
零基础掌握AI:实战机器学习全流程
人工智能·机器学习
神算大模型APi--天枢64613 小时前
从异构调度到边缘部署:国产大模型算力平台的后端开发能力拆解
大数据·人工智能·科技·架构·硬件架构
minhuan13 小时前
大模型应用:完整语音交互闭环:TTS+ASR融合系统可视化场景实践.22
人工智能·语音识别·tts·asr·语音大模型应用
song50113 小时前
鸿蒙 Flutter 日志系统:分级日志与鸿蒙 Hilog 集成
图像处理·人工智能·分布式·flutter·华为
Mintopia13 小时前
🚀 AIGC 如何重塑 Web 内容生产的价值链 —— 一场“硅基文艺复兴”的技术变革
人工智能·aigc·全栈
拉姆哥的小屋13 小时前
从原子到性能:机器学习如何重塑双金属催化剂的设计范式
人工智能·python·算法·机器学习
sponge'13 小时前
opencv学习笔记13:U-Net
人工智能·深度学习·机器学习
Evand J13 小时前
【MATLAB例程】自适应阈值的小波变换去噪,信号噪声:拉普拉斯噪声、脉冲噪声与高斯噪声|混合非高斯。附下载链接
开发语言·人工智能·matlab
skywalk816314 小时前
openi启智社区提供大模型在线体验功能
人工智能
秋刀鱼 ..14 小时前
第五届遥感与测绘国际学术会议(RSSM 2026)
大数据·运维·人工智能·机器人·自动化