找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

6025

积分

0

好友

771

主题
发表于 3 天前 | 查看: 6| 回复: 0

任务描述

重要性★★★★☆
难度★★★☆☆

假设你是一家零售公司的数据分析师,公司想弄清楚广告支出与销售额之间到底存在怎样的关系。你的任务是创建散点图,并拟合一条线性回归线来直观呈现这种关系。数据直接用代码生成,图表也要通过 Python 的数据处理和可视化库来完成。

数据生成代码示例

import numpy as np
import pandas as pd

# 生成样本数据
np.random.seed(0)
advertising_spend = np.random.uniform(1000, 5000, 100)
sales = 5 * advertising_spend + np.random.normal(0, 1000, 100)

# 创建 DataFrame
data = pd.DataFrame({'Advertising Spend': advertising_spend, 'Sales': sales})

图表答案

广告支出与销售额的线性关系散点图

代码答案

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression

# 生成样本数据
np.random.seed(0)
advertising_spend = np.random.uniform(1000, 5000, 100)
sales = 5 * advertising_spend + np.random.normal(0, 1000, 100)

# 创建 DataFrame
data = pd.DataFrame({'Advertising Spend': advertising_spend, 'Sales': sales})

# 拟合线性回归模型
model = LinearRegression()
model.fit(data[['Advertising Spend']], data['Sales'])
sales_pred = model.predict(data[['Advertising Spend']])

# 绘制数据和回归线
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Advertising Spend', y='Sales', data=data)
plt.plot(data['Advertising Spend'], sales_pred, color='red', label='Linear Regression Line')
plt.xlabel('Advertising Spend')
plt.ylabel('Sales')
plt.title('广告支出与销售额的线性关系')
plt.legend()
plt.show()

Python线性回归代码与可视化输出图表

先来看库的导入。numpy 负责数值运算,pandas 负责数据处理,matplotlibseaborn 负责绘图,sklearn 则用来构建线性回归模型。

接下来用 numpyuniform 函数生成广告支出的随机数据,一共创建 100 个介于 1000 和 5000 之间的数据点。为了模拟真实的销售数据,我们假设销售额大约是广告支出的五倍,再加上一些随机噪声——噪声通过 numpynormal 函数添加,这样数据看起来更接近现实情况。

生成的数据存放进 pandas DataFrame 里,后续操作和绘图会更方便。再往下,用 sklearnLinearRegression 类拟合线性回归模型:以广告支出作为自变量,销售额作为因变量来训练模型,训练完成后就能根据广告支出预测销售额了。

可视化阶段,seabornscatterplot 函数负责绘制广告支出与销售额的散点图;matplotlibplot 函数则用来画回归线,x 轴是广告支出,y 轴是预测销售额。为了让图表更清晰,我们添加了标签和标题,并用图例区分数据点和回归线。最后调用 plt.show() 把图表展示出来。

小知识

线性回归是最简单、也最常用的机器学习算法之一。它的核心假设很直接:输入变量(自变量)与单个输出变量(因变量)之间存在线性关系。算法的目标就是找到一条最适合数据的直线,让观测值与预测值之间平方差的总和最小。

为什么线性回归这么受欢迎?关键在于它的可解释性非常强。在经济学、生物学和社会科学等领域,研究人员经常借助它来理解变量之间的关系,这种直观性让线性回归始终占据着基础地位。




上一篇:想入坑Linux的计算机小白?Ubuntu为什么是最稳的选择
下一篇:GaussDB继承原生PG十七年BUG:SQL执行不报错,EXPLAIN却报错
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-26 00:55 , Processed in 1.054028 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表