机器学习 | 一个基于机器学习的简单小实践:波斯顿房价预测分析

文采用Kaggle上面的Boston HousePrice数据集展示了如何建立机器学习模型的通常过程,包括以下几个阶段:

  • 数据获取
  • 数据清洗
  • 探索性数据分析
  • 特征工程
  • 模型建立
  • 模型集成

标签变量(房价)采取了对数转换,使其符合正太分布,最后从12个备选模型中选出预测效果最好的6个模型Lasso,Ridge,SVR,KernelRidge,ElasticNet,BayesianRidge分别进行加权平均集成和Stacking集成,最后发现Stacking集成效果更好,创新之处在于将Stacking集成后的数据加入原训练集中再次训练Stacking集成模型,使得模型性能再次得到改善,作为最后的预测模型,预测结果提交kaggle上后表现不错。另外受限于训练时间,超参数搜索空间小,有待改善。

数据获取

Kaggle官网提供了大量的机器学习数据集,本文从其中选择了Boston HousePrice数据集,下载地址为https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data,下载后的数据集包括train.csv,test.csv,data_description.txt,sample_submission.csv四个文件,顾名思义train.csv为训练数据集,用于训练模型,test.csv为测试数据集,用于验证模型的准确性,data_description.txt描述train.csv字段,sample_submission.csv提供了最后提交文件的样式。其中训练集有1459条样本,81个字段,一个ID字段,一个标签SalePrice字段,测试集共有1458条样本,80个字段。

赛题给我们79个描述房屋的特征,要求我们据此预测房屋的最终售价,即对于测试集中每个房屋的ID给出对于的SalePrice字段的预测值,主要考察我们数据清洗、特征工程、模型搭建及调优等方面的技巧。本赛题是典型的回归类问题,评估指标选用的是均方根误差(RMSE),为了使得价格的高低对结果的评估有均等的影响,赛题均方根误差基于预测值和实际值分别取对数来计算。特征初步分析:

特征名称

描述

类型

单位

SalePrice

房屋售价,我们要预测的label

数值型

美元

MSSubClass

建筑的等级

类别型

 

MSZoning

区域分类

类别型

 

LotFrontage

 距离街道的直线距离

数值型

英尺

LotArea

地皮面积

数值型

平方英尺

Street

街道类型

类别型

 

Alley

巷子类型

类别型

 

LotShape

房子整体形状

类别型

 

LandContour

平整度级别

类别型

 

Utilities

公共设施类型

类别型

 

LotConfig

房屋配置

类别型

 

LandSlope

倾斜度

类别型

 

Neighborhood

市区物理位置

类别型

 

数据清洗

数据清洗,是整个数据分析过程中不可缺少的一个环节,其结果质量直接关系到模型效果和最终结论。数据清洗对象主要有离群点、缺失值、重复值,以及数据转换等。

离群值

离群点通常指的是数值型变量,通过做特征GrLivArea和SalePrice散点图发现右下方存在两个异常点,因为不太可能居住面积越大,而售价却越低,因而删除。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值