房价预测机器学习之集成学习

房价预测机器学习之集成学习励嘉豪曾丹---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---Summary房价预测是大数据处理的经典命题。本文基于kaggle平台的房价预测数据集,实现了特征分析、特征清洗、特征工程、特征选择、模型选择和集成学习。其中特征工程中对多达79个特征的处理以及使用Stacking进行集成学习是本文的亮点除了stacking学习法,本文还尝试了boosting学习法的XGB和LGBM以及Bagging学习法,最终在kaggle.com的最好成绩为0.11274,在世界4000多只队中排名TOP4%,这证明本文模型有效得预测了房价同时避免了过拟合。【Key】Housingdata;FeatureRMSE;Stacking;Engineering;boosting1引言Kaggle平台的房价预测是大数据处理的经典热门比赛。kaggle将使用Root-Mean-Squared-Error(RMSE)来评价预测房价的对数和实测房价的对数,使用对数意味着你对高价和低价房屋价格预测的准确度对最终结果的影响将会同等。关于RMLSE(使用对数的均方根误差):Cli代表了观测值,Pi代表了预测值,IIS代表的是记录个数。在现有结构化数据比赛中,随机森林RF和梯度提升回归树GBDT是比较热门的,也是kaggle所推荐的算法。论文【1】通过MSE来评估模型,并选取了XGB,Lasso和Ridge的按权组合,最终得分0.11390;论文【2】通过Lasso选择特征并使用随机森林回归预测,由于其并未提供最终得分故对其结果不予比较;论文【3】使用65%LASSO和35%GBR的模型组合,最佳得分为0.11260。本文中的Bagging学习法正是由随机森林所集成,而大杀器XGB则是GBDT的强化版,它采用二阶导数计算,增加正则项防止过拟合。---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---同时由于数据量不大,所以本文不考虑采用深度学习算法而是选择了更适合处理小数据量的浅层学习,因此对于特征的预处理就尤为关键,特别是在初始特征高达79个的情况下,如何有效地进行特征工程值得深思与推敲。在数据分析中,本文利用python的matplollib和seabom包等使数据可视化,统计数据总量,分析数据是否正态分布,绘制相关图并考虑哪些特征对最终结果又较大的影响。数据清洗中对79个特征的缺失值进行处理,清洗异常点,并调整训练集的价格使之符合正态分布。在特征工程中,本文将一些数值型变量转换为分类变量,对一些序列型数据进行编码,增加新的特征,对倾斜较严重的数值型数据通过BOXCOX进行矫正,最后对分类变量进行durarn、展開。在模型选择方面,本文通过交叉验证选择了LASSO,RIDGE,ELA,SVR,KR-R等模型,并分别调参。在模型融合学习法中,使用Stacking构建两层学习器,用第一层训练的结果去预测第二层,并将stacking结果与其他学习法XGB,Bagging,以及LGBM按权相加,最终输出提交的预测样本。2特征分析使用Python的工具包,可以使数据之间的联系变得更加立体,这对于数据工程师来说是不可或缺的技能。Kaggle提供了三个CSV文件,分别是训练集train.esv,测试集test.csv,以及提交样本submission.csv。训练集和测试集由79个特征构成,其中36个是数值型特征,43个是类别特征,训练集有1460个样本,而测试集中有1459个样本。2.1查看销售量与月份的关系如图1所示。2.2研究SalePrice和GrLivArea的关系---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---如图2所示。除此之外,本文绘制了特征效果图以及挖掘最相关的五个特征,研究了SalePrice和overallqual的关系,以及替相关度较高的特征做散点图,在此不——列举。3特征清洗3.1异常值清洗异常值对于最终结果的影响不容小觑,所以我们第一步选择对异常值进行清洗。通过前面特征分析时的经验,我们敏锐地发现在图6中,存在前者大于4000而后者却低于30000的情况,于是我们将这些异常值清除。3.2调整价格由于价格分布不符合正态分布,所以对价格进行10Glp变换使之符合正态分布。3.3处理缺失值通过定义的查缺函数,我们可以得到缺失值情况:如表1,可以看到有将近34个特征有缺失值,其中POOLQC的缺失量高达2900多.缺失值处理如下:PoolQC:除三个特例(有面积无质量)用平均值填充外,其余填None。IotFrontag...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?