通过一个具体的业务场景来演示如何创建和训练线性回归模型。让我们考虑一个房地产市场的例子,其中我们想要根据房屋的大小(平方英尺)来预测其市场价格。
业务场景
假设你的任务是帮助一个房地产公司预测不同大小房屋的市场价格。你有一份包含过去销售记录的数据集,其中包含了每个房屋的大小(平方英尺)和最终售价。
目标
使用线性回归模型根据房屋大小来预测房屋价格。
步骤
- 数据准备:从数据集中收集房屋大小和价格数据。
- 数据预处理:确保数据的格式和类型适用于模型。
- 创建模型:使用 scikit-learn 库中的
LinearRegression
类。 - 训练模型:使用收集的数据训练模型。
- 模型评估:评估模型的性能,确保其准确性。
代码示例
假设我们有一个简单的数据集,下面是如何实现这个过程的示例代码:
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt# 模拟数据集
# 假设 X 代表房屋大小(平方英尺),y 代表房屋价格(千美元)
X = np.array([[600], [800], [1000], [1200], [1400], [1600]]) # 房屋大小
y = np.array([150, 200, 250, 280, 310, 330]) # 房屋价格# 划分训练集和测试集
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 = model.predict(X_test)# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)# 可视化结果
plt.scatter(X, y, color='blue') # 原始数据
plt.plot(X, model.predict(X), color='red') # 模型预测
plt.title('House Price Prediction')
plt.xlabel('House Size (sq ft)')
plt.ylabel('House Price (thousands of dollars)')
plt.show()
在这个例子中,我们使用线性回归模型根据房屋的大小预测其价格。这个简单的示例使用了合成数据,但在实际应用中,你会使用实际的数据集来进行这种分析。通过评估模型的均方误差(MSE),我们可以了解模型的预测精度。图表进一步直观地展示了模型的预测结果。