简单线性回归预测波士顿房价
简介
在这篇文章中,我将指导你如何使用简单线性回归方法来预测波士顿房价。简单线性回归是一种基本的机器学习算法,它可以用来预测一个变量与另一个变量之间的关系。在这个例子中,我们将使用房屋的平均房间数量来预测房价。
步骤概览
下面是整个流程的步骤概览:
步骤 | 描述 |
---|---|
1. 数据准备 | 导入数据集并进行必要的数据预处理 |
2. 数据可视化 | 可视化数据以了解变量之间的关系 |
3. 模型训练 | 训练简单线性回归模型 |
4. 模型评估 | 评估模型的性能 |
5. 预测 | 使用训练好的模型进行预测 |
接下来,让我们逐步进行这些步骤。
1. 数据准备
首先,我们需要导入所需的库和数据集。在这个例子中,我们将使用pandas
库来处理数据和sklearn
库来构建回归模型。
import pandas as pd
from sklearn import datasets
然后,我们需要加载波士顿房价数据集。你可以使用以下代码加载数据集:
boston = datasets.load_boston()
2. 数据可视化
在开始建模之前,我们应该先对数据进行可视化,以了解变量之间的关系。这有助于我们判断是否适合使用线性回归模型。
data = pd.DataFrame(boston.data, columns=boston.feature_names)
data['target'] = boston.target
# 绘制散点图以可视化数据
data.plot(x='RM', y='target', kind='scatter')
在这段代码中,我们首先将数据集转换为pandas
的DataFrame
对象,然后使用plot
函数绘制了RM
(平均房间数量)与目标变量之间的散点图。
3. 模型训练
接下来,我们将使用sklearn
库来构建简单线性回归模型,并对其进行训练。
from sklearn.linear_model import LinearRegression
# 准备自变量和因变量
X = data[['RM']]
y = data['target']
# 构建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X, y)
在这段代码中,我们首先将自变量和因变量分别赋值给X
和y
变量。然后,我们使用LinearRegression
类创建一个线性回归模型,并使用fit
函数对模型进行训练。
4. 模型评估
在训练模型之后,我们需要评估模型的性能。我们可以使用决定系数(R-squared)来衡量模型的拟合程度。
# 使用训练集进行预测
y_pred = model.predict(X)
# 计算决定系数
r_squared = model.score(X, y)
print('R-squared:', r_squared)
在这段代码中,我们首先使用训练集数据对模型进行预测,并将预测结果赋值给y_pred
变量。然后,我们使用score
函数计算模型的决定系数。
5. 预测
最后,我们可以使用训练好的模型进行预测。
# 准备预测数据
X_new = pd.DataFrame({'RM': [6.5]})
# 使用模型进行预测
y_new_pred = model.predict(X_new)
print('Predicted price:', y_new_pred)
在这段代码中,我们首先准备了一个包含一个新房间数量的数据集,并将其赋值给X_new
变量。然后,我们使用训练好的模型对新数据进行预