[最佳0.11353! @a1041134926,奖励详见2楼,分数持续更新中] 实战Kaggle比赛:房价预测 讨论区


#1

http://zh.gluon.ai/chapter_deep-learning-basics/kaggle-house-price.html

数据集下载地址: 国内 国际


kaggle调整调整正则项等相关参数遇到的问题
课程建议,是否可以增加多些kaggle 比赛章节
求教 机器学习工程师如何系统的入门mxnet和gluon
第四课:BatchNorm,更深的卷积神经网络,图片增强和新的Kaggle练习
于置顶 #2

[最高0.9853! @zzc1995,分数持续更新中] 动手玩Kaggle比赛------使用Gluon对原始图像文件分类(CIFAR-10) 讨论区
[当前最佳0.00000 @ypw/ 0.20631 @LeeJuly30] Kaggle ImageNet Dogs
#3

【11/1更新】我们依然会继续在成绩列表中添加小伙伴们新提交的分数 :grinning:

恭喜大家!国内的AWS团队会私信大家并奖励AWS credit。

我们鼓励获奖的小伙伴们把最终的代码(或github链接)、方法或感悟作为自己参加本次比赛的总结,贴在“方法”的索引楼层(编辑楼层内容即可,多楼层请贴在最后一楼)。让我们多多分享,相互学习。

范文参考: 105楼 (感谢 @gca 分享,写的非常好)。

获奖的小伙伴可以开始参照教程申请AWS账号,并注意在Limits里检查下样例是不是有数量限制。

所有分享贴图的小伙伴均会得到 “调得一手好参” 徽章奖励。

在北京时间10月14日早9点前提交作业和分享方法的小伙伴(请给对你有启发的分享点个赞):

前十名小伙伴 分数 名次
@sfy020 0.11362 1
@pitt 0.11378 2
@anabasYu 0.11459 3
@davidwang 0.11474 4
@albHun 0.11484 5
@burde 0.11491 6
@qingfengsuiyu2016 0.11505 7
@fiercex 0.11515 8
@root 0.11557 9
@daigz1224 0.11627 10

全部榜单:

社区优秀小伙伴 分数 奖励 方法
@lonelykid 0.11701 $100(最早提交) 详见8楼 26楼 29楼
@sjsun 0.12991 $50 详见22楼
@BUGQIN 0.12060 $50 详见24楼
@huliang2016 0.12957 $50 详见25楼
@albHun 0.11484 $100(Rank 4-10) 详见27楼 159楼
@SimonLliu 0.12296 $50 详见30楼
@becauseof86 0.12856 $50 详见31楼
@fiercex 0.11515 $100(Rank 4-10) 详见38楼 116楼
@victcity 0.12361 $50 详见39楼
@root 0.11557 $100(Rank 4-10) 详见46楼 55楼
@daigz1224 0.11627 $100(Rank 4-10) 详见63楼 124楼
@xintong 0.12871 $50 详见65楼
@cxf2015 0.12649 $50 详见73楼 84楼
@kevin-meng 0.12625 $50 详见87楼
@qingfengsuiyu2016 0.11505 $100(Rank 4-10) 详见88楼 94楼 101楼
@xiaoyi 0.11728 $50 详见89楼 92楼 156楼
@liulirong123 0.11971 $50 详见93楼
@pitt 0.11378 $200(Rank 2) 详见98楼 101楼 106楼 107楼 109楼
@qianlongzju 0.12227 $50 详见99楼
@bensentray 0.12492 $50 详见100楼
@hGuo 0.12944 $50 详见104楼
@gca 0.12839 $50 详见105楼
@zymboy 0.13466 $50 详见114楼
@sfy020 0.11362 $300(Rank 1) 详见115楼 124楼
@kale 0.12245 $50 详见117楼
@ych 0.12198 $50 详见125楼
@davidwang 0.11474 $100(Rank 4-10) 详见129楼 136楼
@fanjiangke 0.11736 $50 详见133楼
@IronMan3zZ 0.12374 $50 详见135楼
@burde 0.11491 $100(Rank 4-10) 详见137楼
@hnVfly 0.12845 $50 详见138楼
@anabasYu 0.11459 $150(Rank 3) 详见139楼 140楼 142楼 152楼
@daweiOSU2017 0.11712 $50 详见141楼 158楼
@free_slam_dunk 0.11762 $50 详见143楼 144楼
@cryoung 0.12148 $50 详见154楼
@bcai 0.12394 $50 详见157楼
@loveisp 0.12281 $50(奖励暂时截至本楼) 详见160楼
@yaoyaozxh 0.11899 详见163楼
@snowdj 0.12120 详见164楼
@dzwduan 0.12275 详见172楼
@jiaenyue 0.11380 详见173楼
@tntll 0.11879 详见176楼 详见179楼
@NodYoung 0.12328 详见177楼
@classtag 0.11543 详见178楼
@lotl_special 0.11729 详见180楼
@wq_liu 0.12125 详见189楼
@loveme 0.11814 详见190楼
@ShinyuuLee 0.11393 详见201楼
@pkubobo 0.11403 详见193楼
@Oliver 0.11641 详见198楼
@wddr955 0.11569 详见204楼
@shiwenThu 0.12179 详见211楼
@zuozqi 0.11570 详见216楼
@yuxiaojian01 0.11504 详见219楼
@luxinglong 0.12385 详见222楼
@pensz 0.11752 详见226楼
@RealSys 0.12851 详见232楼
@gsdm123 0.11522 详见234楼
@TomRen 0.11938 详见236楼
@zq1335030905 0.12647 详见243楼
@liboaidushu 0.12151 详见244楼
@nature 0.12588 详见256楼
@sgoal 0.11480 详见257楼
@a1041134926 0.11353 详见263楼
@jake221 0.12344 详见266楼
@elliotxx 0.12340 详见283楼
@chiya 0.11762 详见286楼
@x1aokeHuang 0.11743 详见291楼
@HeVi 0.11509 详见293楼
@Wanghengyu502 0.11665 详见294楼
@jameson 0.12077 详见299楼
@Han 0.11476 详见301楼

11月5日(下周日)MXNet/Gluon社区线下活动调查问卷
社区排版设计
#4

用现有的讲过的模型能做出比这个更好的成绩么?


#5

对的,只需要前两节课的内容,我们自己试过,应该不用花太多时间。作业描述里也有提示。同时可以积累一些设计模型和调参的经验

非常期待你和其他小伙伴可以刷出比random forest regressor更好的成绩


#6

有时候挺奇怪kaggle上面有些人的成绩如何取得的。
像数字识别那一块能够达到100%的正确率,太可怕了。


#7

@yulangwx
这里有个参考文献:
https://www.zhihu.com/question/24533374/answer/34631808


#8

已浪费一次submit机会 :grinning:
第二次提交: 0.15265
第三次提交: 0.12950
达到要求了,说一下我的做法吧,加了一个hidden layer,另外用了early stop来减少overfit。用 weight dacay 的效果不太好,原因不太清楚。希望能详细讲解下,学习下调参的思路。另外不断调参,强行达到0.10*的最好成绩,我比较怀疑这么做的意义,一方面时间成本高,另一方面这究竟是模型更好得capture了特征,还是overfit到了特定的test set,这个问题不好说把。

第五次提交: 0.12134
主要是改进了一下数据预处理,对偏度比较大的参数取了对数,对价格也取了对数并且normalize。去掉了hidden layer,表现是好了一些。但是计算的时候抖动大了很多,不完全理解原因,消除不了。


#9

如果用神经网络,对于数据源里面的离散型数据,和缺失数据大家有什么好的处理办法么?


#10

对于缺失的数据,是不是可以先用另一个网络预测出来,然后把结果作为房价预测的数据。另外,我这边下不了房价预测的数据,求一份数据集和测试集,zgzg15@qq.com


#11

已更新下载地址,见1楼


#12

需要提醒读者,在train()函数中,用的optimizer是‘adam’而不是之前一直使用的’sgd’。另外,train中optimize的loss function是square_loss(),但定义测量结果的是get_rmse_log()。


#13

对的,你可以试试优化loss设为rmse_log,看看结果如何,或者有没有什么issue


#14

我知道是Adam optimizer,我也试过sgd,的确是adam效果更好。关于loss中取log,和事先把房价取log应该是等价的,预处理的时候取log后面求导数可能还更方便一些,还有个根号应该没有明显影响吧。然而我还没得到更好的结果,过两天再玩一下试试


#15

对的。预先对房价取log比定义rmse_log更好。如果explicitly定义rmse_log,一个可能的issue是,一开始训练万一预测不准(初始化参数是随机的),甚至是负数,取对数就会有问题


#16

给跪了,

明明装了pandas,始终识别不了包,大神知道是什么原因吗。。。(根据以往的经验没找到原因啊)


#17

你是不是装到conda里不同的env下了


#18

首先进入你的tutorial repo,打开environment.yml,确认dependencies里面有pandas

然后在tutorial repo的根目录下跑这个:
conda env update -f environment.yml

最后记得source activate gluon


#19

计算rmse_log的返回值为什么平方误差的均值前还要乘2呢?不是直接是 平方误差均值再开方吗?

return np.sqrt(2 * nd.sum(square_loss(
    nd.log(clipped_preds), nd.log(y_train))).asscalar() / num_train)

#20

因为L2 loss前面系数是1/2。Kaggle计算用的loss不带这个系数。

请参考
https://mxnet.incubator.apache.org/api/python/gluon.html#mxnet.gluon.loss.L2Loss