波士顿房价预测:线性回归模型实战指南
创作时间:
2025-01-22 01:32:06
作者:
@小白创作中心
波士顿房价预测:线性回归模型实战指南
01
引言
在数据科学领域,波士顿房价数据集是一个广为人知的经典案例。它不仅被广泛应用于机器学习算法的教学和实践,还是检验新算法效果的重要基准。本文将通过波士顿房价数据集,详细讲解如何使用线性回归模型进行房价预测。
02
数据准备
波士顿房价数据集包含了506个样本,每个样本包含13个特征和1个目标变量(房价中位数)。这些特征包括:
- CRIM:城镇人均犯罪率
- ZN:住宅用地超过25,000平方英尺的比例
- INDUS:城镇非零售商业用地比例
- CHAS:查尔斯河虚拟变量(如果靠近河流则为1,否则为0)
- NOX:一氧化氮浓度
- RM:住宅平均房间数
- AGE:1940年之前建造的自用房屋比例
- DIS:到波士顿五个就业中心的加权距离
- RAD:放射性高速公路可达性指数
- TAX:每10,000美元的全值财产税率
- PTRATIO:城镇师生比例
- B:1000(Bk - 0.63)^2,其中Bk是城镇中黑人比例
- LSTAT:人口中地位低下者的比例
目标变量是MEDV,即自住房的中位数价格(以千美元计)。
在Python中,我们可以使用sklearn库轻松加载这个数据集:
from sklearn.datasets import load_boston
boston = load_boston()
print(boston.DESCR) # 查看数据集描述
03
模型构建
数据预处理
在构建模型之前,我们需要对数据进行预处理。这包括将数据集分为训练集和测试集,以及对特征进行标准化处理。
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
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)
# 特征标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
特征选择
虽然数据集中有13个特征,但并非所有特征都对房价有显著影响。我们可以使用特征选择方法来挑选最重要的特征。这里我们使用递归特征消除(RFE)方法:
from sklearn.feature_selection import RFE
from sklearn.linear_model import LinearRegression
model = LinearRegression()
rfe = RFE(model, n_features_to_select=5)
fit = rfe.fit(X_train, y_train)
print("Num Features: %d" % fit.n_features_)
print("Selected Features: %s" % fit.support_)
print("Feature Ranking: %s" % fit.ranking_)
假设RFE选择了以下5个特征:RM、LSTAT、DIS、CRIM和AGE。
模型训练
现在我们可以使用选定的特征来训练线性回归模型:
X_train_selected = X_train[:, fit.support_]
X_test_selected = X_test[:, fit.support_]
model = LinearRegression()
model.fit(X_train_selected, y_train)
04
模型评估
模型训练完成后,我们需要评估其预测效果。常用的评估指标包括均方误差(MSE)、均方根误差(RMSE)和决定系数(R²)。
from sklearn.metrics import mean_squared_error, r2_score
y_pred = model.predict(X_test_selected)
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mse)
r2 = r2_score(y_test, y_pred)
print(f'Mean Squared Error (MSE): {mse:.2f}')
print(f'Root Mean Squared Error (RMSE): {rmse:.2f}')
print(f'R-squared (R²): {r2:.2f}')
05
总结与展望
通过以上步骤,我们成功地使用线性回归模型对波士顿房价进行了预测。这个过程展示了数据预处理、特征选择和模型评估的重要性。然而,线性回归模型也有其局限性,例如它假设特征与目标变量之间存在线性关系,这在实际中可能并不总是成立。此外,模型的预测效果也可能受到异常值和多重共线性的影响。
未来,我们可以尝试更复杂的模型,如岭回归、Lasso回归或支持向量回归,以获得更好的预测效果。同时,特征工程的优化也是一个重要的研究方向,例如通过特征组合或降维技术来提升模型性能。
热门推荐
中国研制新型超材料,六代机性能将获大幅提升
西工大研发新型铌合金,耐温2400°C突破六代机材料瓶颈
中国六代机试飞成功,无尾设计实现隐身突破,美国NGAD计划却陷入困境
1:1.3黄金比例,5步蒸出海底捞级鸡蛋羹
嗅觉之谜:探索气味如何塑造儿童感知世界
广州六年级学生热议:如何写出高分英语作文?
告别蜂窝状,六大技巧教你蒸出完美鸡蛋羹
黑神话悟空BOSS战技巧,用嗨格式录屏大师记录精彩瞬间
中医嗅觉养生知识讲座
心理健康:高效学习的关键
道医瘦康:科学调理助你远离“四高”困扰
秋冬穿搭指南:基础款选择与搭配技巧全解析
解码爱情博弈:从择偶差异到情感经营
从倾听开始,用细节打动她:高情商男生素来指南
高情商男生素来如此:网络追女生的三大关键步骤
2025春晚主持人阵容揭晓:马凡舒能否成为新生代主持的佼佼者?
古筝学习系统指南:从入门到精通的完整练习法
2025年春晚主持人阵容揭晓在即,朱军董卿能否重返舞台?
《眼神真不错安卓版》:一款考验观察力的休闲益智游戏
《燕云十六声》游民评测7.3分 一碗掺了沙子的捞饭
云南硅光伏产业:打造“世界光伏之都”的绿色崛起之路
用AI生成新年祝福语,让爷爷奶奶感受满满心意
果酸换肤真能改善肌肤?7大功效vs7种副作用全解析
钉宫病患者的福音:变声器黑科技揭秘
重阳节亲子活动:让孩子们学会尊老敬老
孙中山东征与惠州古城墙:一段被遗忘的近代史
新式带娃法:让爷爷奶奶轻松育儿,让家庭关系更和谐
维生素C助力缓解鼻炎,这些食物效果最好
目的论教你搞定跨国商务英语沟通
泗县糖尿病食疗新宠:小茴香