背景

Datawhale 是国内很有名的一个开源学习组织。这个组织将渴望改变的学习者以及一群有能力有想法的青年人集结在一起,营造出一种互促高效的学习环境,一起为开源学习付出努力。

Datawhale 近期将推出三门课程的组队学习。我将第三门 数据竞赛(房价预测) 的任务发布出来。如果你愿意跟我们一起来学习这门课程,请留意我们近期公布的 “Datawhale第八期组队学习计划”。


“2019未来杯高校AI挑战赛 > 城市-房产租金预测”

赛题说明

线上比赛要求参赛选手根据给定的数据集,建立模型,预测房屋租金。

数据集中的数据类别包括租赁房源、小区、二手房、配套、新房、土地、人口、客户、真实租金等。

平台提供的数据包括训练集、预测试集(Test A)、正式测试集(Test B),详见数据集说明。

参赛选手需要将预测的结果按照测试集ID顺序输出,以便平台对提交模型的结果进行验证。每天每个参赛者最多可以提交2次。

线上赛数据发放与结果提交

训练数据Train_data和预测试集Test A将在赛事开始时开放,Train_data供参赛选手训练模型;预测试集Test A只供参赛选手熟悉提交流程,Test A的预测结果不计入正式成绩。

正式测试数据Test B在赛事规定的时间开放,仅供模型验证使用,禁止调整测试数据Test B的顺序及任何其他形式的修改。参赛选手需要在赛事结束前提交模型、代码以及预测结果。平台将及时更新结果排名,取最好成绩作为客观成绩,每人每天有2次提交机会。

比赛要求

  • 赛选手可以根据模型需求,筛选适当的数据维度。
  • 参赛选手可以根据模型需求,自行清洗训练数据。
  • 不得使用提供的数据集之外的数据训练模型。
  • 不得将自行手工标注的结果运用于训练和测试。
  • 参赛选手需要同时提交说明文档、预测结果、训练和预测代码、模型(参数集),详见结果提交要求。
  • 参赛选手所提交程序应可在Linux/windows环境顺利运行。建议(不强制)使用Python 2.7或Python3.6作为首选编程环境,使用Anaconda 3 搭建软件环境。不限制第三方软件包使用,但须获得合法授权和软件拷贝,以确保主办方可以复现程序运行过程。
  • 参赛选手的提交作品需要可完整复现训练和预测过程,主办方不会做任何代码修改,如无法复现的,视作无效提交。

复赛晋级与综合评审

根据模型有效提交的得分,前10名选手可以晋级复赛。晋级复赛的选手需要通过PPT展示进行线下答辩,PPT展示主要包括数据清洗规则、模型创新、算法实现、结果分析等。

有关这次比赛更多的信息参见:

https://2019ai.futurelab.tv/contest_detail/3#contest_des


学习任务

Task01:赛题分析(2天)

https://github.com/datawhalechina/team-learning/blob/master/数据竞赛(房租预测)/1_赛题分析.ipynb

每一步都要认真完成,附上代码,最终效果截图

认识数据

  • 了解比赛的背景
  • 分类问题还是回归问题
  • 熟悉比赛的评分函数

对比赛数据做EDA

  • 缺失值分析
  • 特征值分析
  • 是否有单调特征列(单调的特征列很大可能是时间)
  • 特征nunique分布
  • 统计特征值出现频次大于100的特征
  • Label分布
  • 不同的特征值的样本的label的分布

Task02:数据清洗(2天)

https://github.com/datawhalechina/team-learning/blob/master/数据竞赛(房租预测)/2_数据清洗.ipynb

每一步都要认真完成,附上代码,最终效果截图

缺失值分析及处理

  • 缺失值出现的原因分析
  • 采取合适的方式对缺失值进行填充

异常值分析及处理

  • 根据测试集数据的分布处理训练集的数据分布
  • 使用合适的方法找出异常值
  • 对异常值进行处理

深度清洗

  • 分析每一个communityName、city、region、plate的数据分布并对其进行数据清洗

Task03:特征工程&特征选择(2天)

https://github.com/datawhalechina/team-learning/blob/master/数据竞赛(房租预测)/3_特征工程.ipynb

使用3种以上特征选择的方法,附上代码,最终效果截图

特征工程

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。so,想要获得一个比较好的分数,特征工程是十分重要的。那么数据清洗之后,特征工程该如何下手呢?由于不同的业务特征工程千差万别,在这里,只给一些思路,一些具体的特征工程方法,大家自己摸索。

  • 房间总数

    • 根据房型信息抽取出更细的信息,然后可以组合
  • 每平方均价
    • 根据租房信息可以求得每平方的均价
  • 根据小区信息groupby
    • 同一个小区的租房信息相差不大,可以根据小区
  • 聚类特征
    • 使用sklearn.mixture.GaussianMixture做聚类特征
  • Word2vec特征
    • 将类别特征使用w2v构建特征(思路:将每一个样本的类别特征够造成一个句子,然后使用word2vec提取特征之间的相关关系)
  • OneHotEncoder、labelencoder
    • 过大量级值取log平滑(针对线性模型有效)

特征选择

  • Filter

    • 相关系数法
    • 卡方检验
  • Wrapper
    • 递归特征消除法(RFE)
  • Embedded
    • 基于惩罚项的特征选择法
    • 基于树模型的特征选择法
  • baseline
    • 任选一个模型套用,得到baseline。对比任务二使用的模型结果的得分情况。

Task04:模型选择&模型调优(2天)

https://github.com/datawhalechina/team-learning/blob/master/数据竞赛(房租预测)/4_模型选择.ipynb

每一步都要认真完成,附上代码,最终效果截图

模型选择

如果你不熟悉各个算法模型的适用数据,那么就去尝试吧!然后选取效果最好的模型,当然这个是基于你已经做好一套特征工程之后,比赛中常用的模型有GBDT,XGB,LGB,CatBoost等等。

选取两个模型,学习Sklearn包相关参数。

模型调优

使用网格搜索进行模型调参,并记录每个模型的最优参数

结果对比

任选一个模型套用,得到 baseline 对比任务三使用的模型结果的得分情况。


Task05:模型融合(3天)

https://github.com/datawhalechina/team-learning/blob/master/数据竞赛(房租预测)/5_模型融合.ipynb

任选三个模型融合的方法进行融合。附上代码,最终效果截图

模型融合

尝试多种模型融合的方案

  • stacking
  • 简单加权融合
  • blending
  • boosting
  • bagging
  • 将多个模型结果再放入模型中预测
  • ……以及你能想到和借鉴的模型融合方法

结果对比

对比任务四使用的模型结果的得分情况。


Task06:比赛整理(1天)

https://github.com/datawhalechina/team-learning/blob/master/数据竞赛(房租预测)/6_竞赛整理.ipynb

以赛方最后给的答辩模板为主线整理比赛思路,模拟比赛答辩环节,进行比赛整理。

Part1:参赛队成员简介

这个由于是模拟比赛所以这个部分可以不写哦

Part2:参赛作品概述

Part3:关键技术阐述

数据清洗、特征工程、模型、模型融合,并强调对比赛提分最有帮助的部分

Part4:探索与创新

写明做的与众不同的创新点

Part5:实施与优化过程

在过程中尝试过的方法都可以提及并总结

Part6:其它

有其他需要补充的可以写在这个部分,因为比赛是和企业合作,并具有实际意义的比赛,所以强调你的代码模型的实际意义,商业价值都会在答辩环节有帮助哦。

Datawhale组队学习:数据竞赛(房价预测)课程任务相关推荐

  1. Datawhale组队学习:初级算法梳理课程任务

    背景 Datawhale 是国内很有名的一个开源学习组织.这个组织将渴望改变的学习者以及一群有能力有想法的青年人集结在一起,营造出一种互促高效的学习环境,一起为开源学习付出努力. Datawhale ...

  2. Datawhale组队学习:数据结构与算法课程任务

    背景 Datawhale 是国内很有名的一个开源学习组织.这个组织将渴望改变的学习者以及一群有能力有想法的青年人集结在一起,营造出一种互促高效的学习环境,一起为开源学习付出努力. Datawhale ...

  3. 第37期Datawhale组队学习——数据可视化(Matplotlib)

    目录 前言 学习路线 Task01:Matplotlib初相识(5.16.5.17) Task02:艺术画笔见乾坤(5.18-5.22) Task03:布局格式定方圆(5.23.5.24) Task0 ...

  4. Datawhale组队学习-金融时序数据挖掘实践-Task01数据探索与分析

    Datawhale组队学习-金融时序数据挖掘实践-Task01数据探索与分析   在二手车交易价格预测之后,本菜鸟又加入了金融时序数据挖掘实践的学习.两个项目都是结构化数据,都着重于对数据本身的探索. ...

  5. Datawhale组队学习周报(第021周)

    本文总结了本周(07月05日~07月11日)Datawhale组队学习的运行情况,我们一直秉承"与学习者一起成长的理念",希望这个活动能够让更多的学习者受益. 第 25 期组队学习 ...

  6. Datawhale组队学习周报(第022周)

    文章目录 已经结营的开源内容 即将结营的开源内容 正在进行的开源内容 八月排期的开源内容 每周号外 Whalepaper 招新公告 本文总结了本周(07月12日~07月18日)Datawhale组队学 ...

  7. Datawhale组队学习周报(第032周)

    希望开设的开源内容 目前Datawhale的开源内容分为两种:第一种是已经囊括在我们的学习路线图内的Datawhale精品课,第二种是暂未囊括在我们的学习路线图内的Datawhale打磨课.我们根据您 ...

  8. 【组队学习】【29期】Datawhale组队学习内容介绍

    第29期 Datawhale 组队学习活动马上就要开始啦! 本次组队学习的内容为: 编程实践(数据可视化) 计算机视觉 自然语言处理之情感分析 吃瓜教程--西瓜书+南瓜书 李宏毅机器学习(含深度学习) ...

  9. Datawhale组队学习周报(第002周)

    Datawhale组队学习周报(第002周) (一)当下 本周(02月22日~02月28日),我们正在进行5门开源内容的组队学习.一共建立了6个学习群,参与人数1080人.到目前为止,有4门课开源内容 ...

  10. Datawhale组队学习周报(第028周)

    吼一嗓子: 如果您有开源的内容希望通过组队学习的方式与大家分享,那么请跟我联系,我们来排期. 如果您对Datawhale某一门开源内容感兴趣,希望跟我们一起为学习者答疑解惑,那么请跟我联系,我们来排期 ...

最新文章

  1. 中使用mysql连接失败_如何在命令行下使用 MySQL 连接数据库不用每次都输入密码?...
  2. Rational工具介绍『转』
  3. java audit模块实现_Apollo 源码解析 —— Config Service 操作审计日志 Audit
  4. HDU - 4856 Tunnels(哈密顿路径+状压dp)
  5. Beautiful Soup库
  6. 星级评分--演进式部署
  7. vs安装 c语言编译环境,Visual Studio Code安装与C/C++开发调试环境搭建
  8. 64位和32位的寄存器和汇编的比较
  9. android手机访问协议页面,易语言修改IE协议头留言手机版网页
  10. Java职业规划(职业晋升路线、技术转移路线、工作经验与技术栈的匹配)——学习笔记
  11. mysql数据库出现2003-Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法
  12. 网络安全论文投稿给电脑编程技巧与维护有哪些要求
  13. 解决联通宽带域名劫持
  14. Android屏幕适配(网易云音乐方案)
  15. IDEA项目无法引用本地Class类,而且各种报错
  16. 2020-12-05 论文阅读
  17. 复杂度分析--时间复杂度
  18. scilab 求微分_科学计算自由软件SCILAB在常微分方程中的应用
  19. Java是用来干什么的?
  20. [Spring] 注入Bean属性

热门文章

  1. Android四大组件简介
  2. ViewStub用法
  3. mysql触发器报错_mysql触发器实例:莫名其妙的错误?
  4. 局域网共享工具_win10一键局域网共享工具使用教程
  5. GJB438C相比438B在文档种类上的变化
  6. 如何用产品经理思维写一篇商业计划书
  7. 为什么计算机连不上无线网络,电脑连不上wifi怎么办
  8. 阵列信号处理知识概括总结
  9. sql连接本地数据库
  10. 软件测试中什么是正交分析法,软件测试用例设计方法之正交分析法