使用线性回归模型预测波士顿房价

该文演示了如何利用Python的sklearn库进行线性回归建模,以预测波士顿地区的房价。首先,从sklearn.datasets导入波士顿房价数据集,然后将其划分为训练集和测试集。接着,创建并训练线性回归模型,并通过计算均方误差和决定系数来评估模型性能。最后,用matplotlib库将预测结果与实际房价进行可视化比较。
摘要由CSDN通过智能技术生成

使用线性回归模型预测波士顿房价

本篇使用sklearn中自带的波士顿房价数据集,该数据集包含了506个样本和13个特征。通过数据预处理、训练模型、模型评估和结果可视化等步骤来完成。

加载数据集

首先,需要从sklearn中加载波士顿房价数据集。使用load_boston()函数来加载数据集,并将特征和标签分别赋值给变量Xy

from sklearn.datasets import load_boston

# 加载数据集
boston = load_boston()
X = boston.data
y = boston.target

数据预处理

在训练模型之前,需要对数据进行预处理。在本例中,使用train_test_split()函数将数据集拆分为训练集和测试集。保留20%的数据作为测试集,并将剩余的80%用于训练模型。

from sklearn.model_selection import train_test_split

# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

训练模型

使用LinearRegression()类创建一个新的线性回归模型,并使用fit()方法训练模型。

from sklearn.linear_model import LinearRegression

# 创建线性回归模型并训练
model = LinearRegression()
model.fit(X_train, y_train)

模型评估

在训练模型之后,需要对模型进行评估。使用mean_squared_error()函数计算均方误差,并使用score()方法计算模型的决定系数。

from sklearn.metrics import mean_squared_error

# 对测试集进行预测
y_pred = model.predict(X_test)

# 计算均方误差和决定系数
mse = mean_squared_error(y_test, y_pred)
r2 = model.score(X_test, y_test)

print("均方误差:", mse)
print("决定系数:", r2)

结果可视化

最后使用matplotlib库将模型的预测结果和真实值可视化。使用plot()函数绘制一条对角线,以便比较预测结果和真实值之间的差异。

import matplotlib.pyplot as plt

# 绘制预测结果和真实值的散点图
plt.plot([0, 50], [0, 50], '--k')
plt.scatter(y_test, y_pred)
plt.xlabel("True Values")
plt.ylabel("Predictions")
plt.show()

下面是完整的代码:

from sklearn.datasets import load_boston
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

# 加载数据集
boston = load_boston()
X = boston.data
y = boston.target

# 将数据集拆分为训练集和测试集
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)
r2 = model.score(X_test, y_test)

print("均方误差:", mse)
print("决定系数:", r2)

# 绘制预测结果和真实值的散点图
plt.plot([0, 50], [0, 50], '--k')
plt.scatter(y_test, y_pred)
plt.xlabel("True Values")
plt.ylabel("Predictions")
plt.show()

运行结果

在这里插入图片描述

在这里插入图片描述

可以使用线性回归模型预测波士顿房价波士顿房价数据集是一个经典的机器学习数据集,其中包含了影响波士顿地区房价的13个特征,如犯罪率、房间数量、学生与教师比例等。我们可以使用这些特征来训练一个线性回归模型,然后利用该模型来预测其他房屋的价格。 以下是使用Python中的scikit-learn库来实现线性回归模型的示例代码: ```python import numpy as np from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # 加载波士顿房价数据集 boston = load_boston() X = boston.data y = boston.target # 划分训练集和测试集 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) # 计算均方误差(mean squared error) mse = mean_squared_error(y_test, y_pred) print("均方误差:", mse) ``` 在上述代码中,我们首先加载了波士顿房价数据集,并将数据集划分为训练集和测试集。然后,我们创建了一个线性回归模型并在训练集上进行训练。最后,我们使用训练好的模型在测试集上进行预测,并计算预测结果与真实结果之间的均方误差。 这样,我们就可以使用线性回归模型预测波士顿房价了。当然,这只是一个简单的示例代码,你可以根据实际需求进行更多的特征工程和模型优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值