多元线性回归模型预测销售额

简介: 多元线性回归模型预测销售额

多元线性回归

多元线性回归是线性回归的一种扩展形式,它涉及多个自变量(特征)与一个因变量之间的关系。多元线性回归模型的数学表示如下:

各个参数的解释:

案例

advertising.csv文件是某商品的广告推广费用(单位为元)和销售额数据(单位为千元),其中每行代表每一周

的广告推广费用(包含淘宝、抖音和小红书三种广告费用)和销售额。 若在未来的某两周,将各种广告投放金额

按如下分配, 请预测对应的商品销售额:

(1)淘宝: 200,抖音:100,小红书: 150

(2)淘宝: 300,抖音:150,小红书: 200

advertising.csv概览:

模型建立

y = a x 1 + b x 2 + c x 3 + d x 4 + A ax_1+ bx_2 + cx_3 + dx_4 + Aax1+bx2+cx3+dx4+A

其中 y 是预期销售额,x1~x4是对应推广费用,b是误差项

代码实现

我们可以使用 LinearRegression 创建模型,

使用 mean_squared_error 模块,计算计算均方误差回归损失,从而评估模型

最终带入我们要预测的那几个数字,对销量进行预估

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

# 读取包含所有四种数据的 CSV 文件
all_data = pd.read_csv('advertising.csv')

# 划分数据集
X = all_data[['taobao','tiktok','little red book']]
print(X)
y = all_data['sales']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 选择线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

# 评估模型
y_pred_train = model.predict(X_train)
mse_train = mean_squared_error(y_train, y_pred_train)
print(f'Mean Squared Error on Training Data: {mse_train}')

# 进行预测
X_new = pd.DataFrame({'taobao': [200], 'tiktok': [100], 'little red book': [150]})
y_pred_new = model.predict(X_new)
print(f'Predicted Output for New Input: {y_pred_new[0]}')

X_new = pd.DataFrame({'taobao': [300], 'tiktok': [150], 'little red book': [200]})
y_pred_new = model.predict(X_new)
print(f'Predicted Output for New Input: {y_pred_new[0]}')

结果

项目源地址:

https://gitee.com/yishangyishang/homeword.git

目录
相关文章
|
云安全 存储 安全
一文看全数据跨境合规
于9月1日正式实施的《数据安全法》再次加码数据出境安全。 基于8月27日《数据安全法》解读与阿里云三大合规方案线上直播活动,阿里云解决方案架构师锅涛分享的《数据跨境流转安全》主题内容,整理出数据出境安全的九问九答,为企业数据跨境流转送上安全锦囊。
1950 0
一文看全数据跨境合规
|
Web App开发
如何搭建 Scratch 官方网页版?真正意义上的一键安装部署
功能介绍 Scratch 是一款由麻省理工学院(MIT) 设计开发的一款面向少年的简易编程工具,Scratch 已经是少儿编程行业的基础软件。使用 Scratch,你可以编写属于你的互动媒体,像是故事、游戏、动画,然后你可以将你的创意分享给全世界。
10099 0
|
9月前
|
JavaScript Linux iOS开发
使用 nvs 工具来切换 node 版本
nvs是一款跨平台Node版本管理工具,支持Windows、macOS和Linux,可轻松切换不同项目的Node版本。本文介绍其安装方法、常用命令(如添加、切换、默认版本设置)及实用技巧,助力多项目高效开发。
2063 0
使用 nvs 工具来切换 node 版本
|
图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(CharacterController方式)
本文介绍了如何在Unity中使用CharacterController组件实现角色灵活移动。内容包括模型准备、动画处理、添加组件、编写移动脚本及测试运行,帮助开发者快速掌握角色控制技巧,打造流畅的游戏体验。
708 0
|
敏捷开发 供应链 数据可视化
如何利用精益生产管理工具提升项目执行力?推荐7款必备工具
本文介绍了七款精益生产管理工具,包括板栗看板、LeanKit、Targetprocess、Miro、Smartsheet、Airtable 和 LiquidPlanner,详细阐述了各工具的功能亮点及其在不同行业的应用,旨在帮助企业提高效率、减少浪费、优化流程,实现项目管理的持续改进。
1141 1
如何利用精益生产管理工具提升项目执行力?推荐7款必备工具
|
机器学习/深度学习 存储 TensorFlow
LSTM模型预测时间序列:根据历史销量数据预测商品未来销量
LSTM模型预测时间序列:根据历史销量数据预测商品未来销量
3634 0
|
算法
重磅!2025年中科院预警期刊名单正式发布!
中国科学院文献情报中心定期发布《国际期刊预警名单》,旨在防范学术不端和不当出版行为。2025年最新名单聚焦两大问题:一是引用操纵、论文工厂等破坏科研生态的行为;二是中国作者占比过高或APC费用不合理,影响学术成果国际化传播。自2022年起,预警名单调整至年初发布,便于科研人员规划投稿。名单结合定量数据与专家评估,动态反映期刊风险。被列预警期刊可能影响职称评审及科研经费认可,建议优先选择中科院分区表推荐期刊,警惕快速代发陷阱,并关注期刊官网声明。未来,强化学术自律和技术工具应用将助力科研规范化,推动中国学术走向全球。
2030 0
|
机器学习/深度学习 人工智能 自然语言处理
前端大模型入门(三):编码(Tokenizer)和嵌入(Embedding)解析 - llm的输入
本文介绍了大规模语言模型(LLM)中的两个核心概念:Tokenizer和Embedding。Tokenizer将文本转换为模型可处理的数字ID,而Embedding则将这些ID转化为能捕捉语义关系的稠密向量。文章通过具体示例和代码展示了两者的实现方法,帮助读者理解其基本原理和应用场景。
6297 1
|
数据采集 中间件 定位技术
新手爬虫er必刷!如何使用代理IP全攻略!
在爬虫开发中,代理IP是规避IP封锁和请求频率限制的重要工具,通过分散请求压力并模拟不同地理位置,提高数据抓取稳定性和成功率。本文详细介绍了代理IP的基本概念、选择服务的关键因素、获取及使用方法,包括Python中的Requests库和Scrapy框架的具体应用,以及IP管理与轮换策略,帮助新手掌握代理IP的使用技巧。
2944 10

热门文章

最新文章