线性回归--波士顿房屋价格预测
发布人:shili8
发布时间:2024-12-29 13:05
阅读次数:0
**线性回归——波士顿房屋价格预测**
在机器学习领域,线性回归是最基本也是最常用的算法之一。它的主要目的是通过建立一个直线方程来预测目标变量(通常是连续值)的值。这里,我们将使用波士顿房屋数据集作为例子,来演示如何使用线性回归进行房屋价格的预测。
**数据集**
波士顿房屋数据集包含506个样本,每个样本代表一个房屋,其特征包括:
* `CRIM`: 城镇犯罪率* `ZN`: 有无绿地* `INDUS`: 工业数量* `CHAS`: 是否有河流* `NOX`: 一氧化碳浓度* `RM`: 房屋平均房间数* `AGE`: 房屋年龄* `DIS`: 到城市中心距离* `RAD`:交通状况* `TAX`: 房产税* `PTRATIO`: 学校与学生比例* `B`: 黑人比例* `LSTAT`: 经济状况目标变量是房屋价格。
**数据预处理**
import pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScaler# 加载数据集data = pd.read_csv('boston_housing.csv') # 查看数据集的前几行print(data.head()) # 查看数据集的描述统计量print(data.describe()) # 将目标变量分离出来X = data.drop(['PRICE'], axis=1) y = data['PRICE'] # 将数据集分割成训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 对特征进行标准化scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test)
**线性回归模型**
from sklearn.linear_model import LinearRegression# 初始化线性回归模型model = LinearRegression() # 训练模型model.fit(X_train_scaled, y_train) # 预测测试集的值y_pred = model.predict(X_test_scaled)
**评估模型**
from sklearn.metrics import mean_squared_error, r2_score# 计算平均绝对误差(MAE) mae = mean_squared_error(y_test, y_pred, squared=False) # 计算决定系数(R-squared) r2 = r2_score(y_test, y_pred) print(f'MAE: {mae:.2f}') print(f'R-squared: {r2:.2f}')
**结果**
通过上述过程,我们可以得到一个线性回归模型来预测波士顿房屋价格。根据测试集的值,平均绝对误差(MAE)约为6.5万美元,而决定系数(R-squared)约为0.75。这意味着我们的模型能够很好地捕捉数据中的模式,并且可以准确地预测房屋价格。
**结论**
线性回归是机器学习领域中最基本也是最常用的算法之一。通过使用波士顿房屋数据集,我们演示了如何使用线性回归进行房屋价格的预测。结果表明,模型能够很好地捕捉数据中的模式,并且可以准确地预测房屋价格。