基于Scikit-learn的多元线性回归模型构建与验证

废话不多说,直接上代码

python 复制代码
# import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import joblib  # 用于保存和加载模型

# 1. 导入数据(假设你有一个包含特征和目标值的CSV文件)
# 例如,data.csv 中有若干特征列和一个名为 'target' 的目标列
data = pd.read_csv('FuelConsumptionCo21.csv')

# 2. 准备数据
# 分离特征和目标值
X = data.drop('target', axis=1)
y = data['target']

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 3. 创建并训练模型
model = LinearRegression()
model.fit(X_train, y_train)

print(model.coef_)
print(model.intercept_)

# 4. 进行预测并评估模型
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')


# 5. 保存模型
joblib.dump(model, 'linear_regression_model.pkl')

# 6. 加载模型(可选,验证模型是否正确保存和加载)
loaded_model = joblib.load('linear_regression_model.pkl')
loaded_y_pred = loaded_model.predict(X_test)
loaded_mse = mean_squared_error(y_test, loaded_y_pred)
print(f'Mean Squared Error after loading: {loaded_mse}')

原始数据是汽车 二氧化碳污染指标排放,数据如下

|------------|-----------|----------------------|---------------------|----------------------|--------------------------|--------|
| ENGINESIZE | CYLINDERS | FUELCONSUMPTION_CITY | FUELCONSUMPTION_HWY | FUELCONSUMPTION_COMB | FUELCONSUMPTION_COMB_MPG | target |
| 2 | 4 | 9.9 | 6.7 | 8.5 | 33 | 196 |
| 2.4 | 4 | 11.2 | 7.7 | 9.6 | 29 | 221 |
| 1.5 | 4 | 6 | 5.8 | 5.9 | 48 | 136 |
| 3.5 | 6 | 12.7 | 9.1 | 11.1 | 25 | 255 |
| 3.5 | 6 | 12.1 | 8.7 | 10.6 | 27 | 244 |
| 3.5 | 6 | 11.9 | 7.7 | 10 | 28 | 230 |
| 3.5 | 6 | 11.8 | 8.1 | 10.1 | 28 | 232 |
| 3.7 | 6 | 12.8 | 9 | 11.1 | 25 | 255 |
| 3.7 | 6 | 13.4 | 9.5 | 11.6 | 24 | 267 |
| 2.4 | 4 | 10.6 | 7.5 | 9.2 | 31 | 212 |
| 2.4 | 4 | 11.2 | 8.1 | 9.8 | 29 | 225 |
| 3.5 | 6 | 12.1 | 8.3 | 10.4 | 27 | 239 |
| 5.9 | 12 | 18 | 12.6 | 15.6 | 18 | 359 |
| 5.9 | 12 | 18 | 12.6 | 15.6 | 18 | 359 |
| 4.7 | 8 | 17.4 | 11.3 | 14.7 | 19 | 338 |
| 4.7 | 8 | 18.1 | 12.2 | 15.4 | 18 | 354 |
| 4.7 | 8 | 17.4 | 11.3 | 14.7 | 19 | 338 |
| 4.7 | 8 | 18.1 | 12.2 | 15.4 | 18 | 354 |
| 5.9 | 12 | 18 | 12.6 | 15.6 | 18 | 359 |
| 2 | 4 | 9.9 | 7.4 | 8.8 | 32 | 202 |
| 2 | 4 | 11.5 | 8.1 | 10 | 28 | 230 |
| 2 | 4 | 10.8 | 7.5 | 9.3 | 30 | 214 |

相关推荐
欧特克_Glodon24 分钟前
OpenCV计算机视觉开发入门与实践<三十六>:机器学习概述
c++·opencv·机器学习·计算机视觉
泛联新安1 小时前
FPGA仿真加速:AccEmu正式亮相,一周的回归,一天跑完
机器学习·fpga开发·数据挖掘·回归·自动化·嵌入式软件·代码漏洞扫描
统计学小王子1 小时前
数学建模国赛倒计时 1 天 ——《机器学习精讲(决策树R语言实战篇)》
决策树·机器学习·数学建模
西瓜拿铁好喝4 小时前
2026 语义缓存实战:把命中契约写进SPEC,MonkeyCode 云端跑通
人工智能·机器学习·缓存
2601_9622940513 小时前
Python机器学习入门系列-第3篇:线性回归-从零理解机器学习预测
机器学习·线性回归·模型·特征·预测
VL——MOESR13 小时前
【具身智能】π0论文阅读随笔
论文阅读·机器学习·vla·pi0
leoZ23113 小时前
第 1 篇:为什么不该再让 AI 画页面
人工智能·神经网络·机器学习·自然语言处理·cnn·word2vec·mllib
张继雁16 小时前
张继雁 个人技术简介|磨削加工过滤方向
大数据·数据库·论文阅读·人工智能·机器学习·创业创新·业界资讯
月华路19 小时前
《模型不玄学》第30章 完整跑一遍 Cheat Sheet
人工智能·深度学习·机器学习
workflower19 小时前
智能体-企业行政问答助手
人工智能·机器学习·机器人·云计算·无人机