第2课_线性回归案例分析
热度🔥:24 免费课程
授课语音
线性回归案例分析
线性回归是一种简单但非常有效的回归分析方法,它用于预测一个目标变量(因变量)与一个或多个自变量(特征)之间的关系。通过建立一个线性方程来拟合数据,线性回归模型能够预测目标变量的数值。
下面我们通过一个实际案例来分析线性回归的应用。假设我们正在做一个房价预测的项目,我们的数据集包含不同房屋的特征信息(如面积、卧室数量、楼层等)以及对应的房价。
1. 问题定义
假设我们的数据集有如下特征:
Size
: 房屋面积(平方米)Bedrooms
: 房屋卧室数量Floor
: 楼层Price
: 房屋价格(万元)
目标是通过房屋的特征来预测房屋价格。
2. 数据准备
首先,我们将模拟一个简单的房屋数据集,并使用线性回归模型来预测房价。
示例数据集(假设)
Size (m²) | Bedrooms | Floor | Price (万元) |
---|---|---|---|
50 | 2 | 3 | 30 |
80 | 3 | 5 | 50 |
120 | 4 | 7 | 70 |
150 | 5 | 9 | 90 |
200 | 6 | 12 | 120 |
在这个例子中,Size
、Bedrooms
和 Floor
是特征,而 Price
是我们要预测的目标变量。
3. 线性回归模型概述
线性回归模型假设目标变量 y
(房价)与自变量 x
(房屋特征,如面积、卧室数量、楼层)之间存在线性关系。我们可以通过以下公式来表示线性回归模型:
Price = β0 + β1 * Size + β2 * Bedrooms + β3 * Floor
其中:
β0
是截距项,表示当所有特征都为0时的预测值。β1
,β2
,β3
是回归系数,表示各特征对房价的影响程度。
4. 案例步骤
4.1 导入必要的库
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
4.2 创建数据集
# 创建一个模拟的房价数据集
data = {
'Size': [50, 80, 120, 150, 200],
'Bedrooms': [2, 3, 4, 5, 6],
'Floor': [3, 5, 7, 9, 12],
'Price': [30, 50, 70, 90, 120]
}
df = pd.DataFrame(data)
4.3 分割数据集
将数据分为训练集和测试集,以便我们能够评估模型的效果。
X = df[['Size', 'Bedrooms', 'Floor']] # 特征
y = df['Price'] # 目标变量
# 划分训练集和测试集(70%训练,30%测试)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
4.4 创建线性回归模型
# 创建并训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)
4.5 模型预测
使用测试集数据对模型进行预测,并评估预测结果。
# 用测试集预测房价
y_pred = model.predict(X_test)
# 计算均方误差(MSE)
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差 (MSE): {mse}")
4.6 模型评估
使用R²(决定系数)来评估模型拟合程度。R²值越接近1,表示模型对数据的拟合越好。
# 打印R²值
print(f"模型的R²值: {model.score(X_test, y_test)}")
4.7 可视化
将真实值与预测值绘制在图表上,查看模型的预测效果。
# 绘制真实房价和预测房价的对比图
plt.scatter(y_test, y_pred)
plt.plot([0, max(y_test)], [0, max(y_test)], color='red') # 真实值与预测值相等时的参考线
plt.xlabel('真实房价')
plt.ylabel('预测房价')
plt.title('真实房价与预测房价对比')
plt.show()
5. 结果分析
均方误差(MSE):表示模型预测值与实际值之间的平均误差。值越小,模型的预测效果越好。
R²值:表示模型的拟合效果。R²值为1表示完美拟合,0表示模型无法解释数据中的变化。
可视化:通过散点图,我们可以直观地看到模型的预测效果。理想情况下,数据点应靠近参考线,表示预测值与实际值非常接近。
6. 总结
通过本案例的分析,我们成功地使用线性回归模型对房价进行了预测。线性回归的关键在于选择合适的特征,并利用训练数据拟合出最佳的回归系数。通过评估模型的预测效果,我们可以进一步改进模型,选择更好的特征或尝试其他回归方法来提高预测准确性。
在实际应用中,房价预测不仅仅依赖于面积、卧室数量等简单特征,还可以考虑更多的因素,如地理位置、房龄、周围环境等。在机器学习项目中,特征工程和数据预处理往往是决定模型性能的关键。