实战背景
一元线性回归是数据分析中的一种基础模型,主要用于研究两个变量之间的线性关系。在实际应用中,通过一元线性回归模型可以预测一个变量的值,或者解释两个变量之间的相互关系。本文将通过一些实战习题,帮助读者理解和掌握一元线性回归的数据建模技巧。
习题一:房价预测
问题描述:假设你收集了一组房屋面积和房价的数据,需要使用一元线性回归模型预测房价。
数据集:
| 面积(平方米) | 房价(万元) |
|---|---|
| 80 | 80 |
| 100 | 120 |
| 120 | 150 |
| 140 | 180 |
| 160 | 200 |
解题步骤:
- 数据预处理:检查数据是否存在缺失值或异常值,对数据进行清洗。
- 特征选择:由于题目中只提供了一个变量(面积),因此不需要进行特征选择。
- 模型训练:使用最小二乘法训练一元线性回归模型。
- 模型评估:计算模型的R²值,评估模型拟合程度。
- 预测:使用模型预测新数据的房价。
代码示例:
import numpy as np
from sklearn.linear_model import LinearRegression
# 数据
X = np.array([80, 100, 120, 140, 160]).reshape(-1, 1)
y = np.array([80, 120, 150, 180, 200])
# 创建模型
model = LinearRegression()
# 训练模型
model.fit(X, y)
# 预测
new_area = 130
predicted_price = model.predict(np.array([new_area]).reshape(-1, 1))
print(f"预测的房价为:{predicted_price[0]:.2f}万元")
习题二:广告点击率预测
问题描述:假设你收集了一组广告曝光次数和点击次数的数据,需要使用一元线性回归模型预测点击率。
数据集:
| 曝光次数 | 点击次数 |
|---|---|
| 100 | 5 |
| 200 | 10 |
| 300 | 15 |
| 400 | 20 |
| 500 | 25 |
解题步骤:
- 数据预处理:检查数据是否存在缺失值或异常值,对数据进行清洗。
- 特征选择:由于题目中只提供了一个变量(曝光次数),因此不需要进行特征选择。
- 模型训练:使用最小二乘法训练一元线性回归模型。
- 模型评估:计算模型的R²值,评估模型拟合程度。
- 预测:使用模型预测新数据的点击率。
代码示例:
import numpy as np
from sklearn.linear_model import LinearRegression
# 数据
X = np.array([100, 200, 300, 400, 500]).reshape(-1, 1)
y = np.array([5, 10, 15, 20, 25])
# 创建模型
model = LinearRegression()
# 训练模型
model.fit(X, y)
# 预测
new_exposure = 350
predicted_clicks = model.predict(np.array([new_exposure]).reshape(-1, 1))
print(f"预测的点击率为:{predicted_clicks[0]:.2f}")
总结
通过以上两个实战习题,我们可以看到一元线性回归模型在实际应用中的基本操作。在实际应用中,一元线性回归模型可以应用于更广泛的领域,如市场分析、医学研究、金融投资等。掌握一元线性回归的数据建模技巧,将为你的数据分析之路打下坚实的基础。
