sklearn实现一元线性回归——分析广告投入和销售额的关系

导入相关库

导入pandas

pandas是Python中用于数据处理和分析的核心库,提供DataFrame数据结构。常用于数据清洗、转换、统计分析等操作。

导入matplotlib.pyplot

matplotlib是Python基础绘图库,pyplot模块提供类似MATLAB的绘图接口。常用于生成折线图、散点图、直方图等可视化图表。

导入LinearRegression

scikit-learn中的线性回归模型,用于建立连续目标变量的预测模型。支持单变量和多变量回归分析。

python 复制代码
import pandas as pd#pandas基于numpy封装的
from matplotlib import pyplot as plt
from sklearn.linear_model import LinearRegression

读取文件

python 复制代码
data = pd.read_csv("data.csv")
a = data.广告投入

绘制散点图

python 复制代码
plt.scatter(data.广告投入, data.销售额)
plt.show()

估计模型参数,建立回归模型

python 复制代码
lr = LinearRegression()
x = data[['广告投入']]
y = data[['销售额']]

corr = data.corr()#求x和y的相关系数

训练模型

python 复制代码
lr.fit(x, y)

对回归模型进行检验

python 复制代码
result = lr.predict(x)
score = lr.score(x, y)
a = round(lr.intercept_[0],2)#查看截距
b = round(lr.coef_[0][0], 2)#查看斜率
print("线性回归模型为:y = {}x + {}.".format(b, a))

注意:此处的score指R方

利用回归模型进行预测

python 复制代码
predict = lr.predict([[40], [45], [50]])
print(predict)

结果如图:

增加可进行预测的代码

python 复制代码
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
data = pd.read_csv("data.csv",encoding="utf-8",engine='python')
print("数据基本信息:")
print(data[['广告投入', '销售额']].info())  # 检查数据类型是否为数值型
print("\n数据前5行:")
print(data[['广告投入', '销售额']].head())  # 检查数据格式是否正常

corr = data[['广告投入','销售额']].corr()
print(corr)

line_model = LinearRegression()
train_x = data[['广告投入']]
train_y = data['销售额']
train_x = np.array(train_x)
train_y = np.array(train_y)

line_model.fit(train_x,train_y)
score = line_model.score(train_x,train_y)

a = line_model.coef_
b = line_model.intercept_
print(f"y={a[0]:.2f}x+{b:2f}")

运行结果:

相关推荐
好多渔鱼好多1 小时前
【AI编程工具】Amazon Q Developer:从CodeWhisperer到云原生AI王者的进化
大数据·人工智能
好家伙VCC2 小时前
**神经编码新视角:用Python实现生物启发的神经信号压缩与解码算法**在人工智能飞速发展的今天
java·人工智能·python·算法
Navicat中国2 小时前
如何使用 Ollama 配置 AI 助手 | Navicat 教程
数据库·人工智能·ai·navicat·ollama
@小匠6 小时前
Read Frog:一款开源的 AI 驱动浏览器语言学习扩展
人工智能·学习
网教盟人才服务平台9 小时前
“方班预备班盾立方人才培养计划”正式启动!
大数据·人工智能
芯智工坊9 小时前
第15章 Mosquitto生产环境部署实践
人工智能·mqtt·开源
菜菜艾9 小时前
基于llama.cpp部署私有大模型
linux·运维·服务器·人工智能·ai·云计算·ai编程
TDengine (老段)9 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
小真zzz9 小时前
搜极星:第三方多平台中立GEO洞察专家全面解析
人工智能·搜索引擎·seo·geo·中立·第三方平台
GreenTea10 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端