Data Challenge套路求帮忙打开

最近准备面试,找到了一些资料,但是积分不够可以帮忙打开吗先谢谢了!
https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=465683&fromguid=hot&extra=&mobile=2

https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=477238&extra=page%3D1%26filter%3Dsortid%26sortid%3D311%26sortid%3D311

2018(10-12月) 分析|数据科学类博士全职 @- 内推 - 在线笔试 | Pass/Offer | fresh grad应届毕业生

最近在找data scientist的工作,大多数招DS的公司都有这个环节,我也是从去年找实习的时候做一个takehome跪一个到现在基本都能拿到onsite,来分享一下经验也给自己攒点运气。因为很多公司都不能share data,所以就不说具体的问题了,但是其实data challenge都大同小异,给一个或者几个data和几个business problem,让建模来解决。有的公司让提交report和代码,也有的公司是提交ipython notebook或者r markdown。我以前都不太能抓住重点,觉得takehome给的时间不长data也不算太大,所以总是想做点fancy的其他人想不到的东西,于是很多时间都花在并不熟悉的模型然后fit数据急急忙忙给个结果,report也并没有写的很详细,每次挂了OA都没有feedback所以也一直不知道是哪里做的不对。后来给machine learning当TA,判学生project的时候看了很多栗子才开始思考怎样才算很好的处理数据和展示结果,就总结了一些我现在用的套路希望可以帮到大家。
我一般会把report分成几个部分:
1. Problem Overview 用自己的话复述问题介绍一下给的数据,最好能讲一下这个问题可以给公司带来哪些opportunity。
2. 然后就是数据处理阶段了,数据处理应该占绝大部分的时间。列出来都有哪些variable,他们的类型,给出descriptive statistics summary,然后看分布找outlier看看每个variable的missing value比例,也要做multivariate study,看feature之间的联系,是不是高度相关可以互相代替,然后也要看看每一个feature和response variable的关系,哪些在data exploration阶段就可以看出来非常significant,哪些看起来像是noise。这一部分可以画很多图来给出直观的展示。
3. 接下来就是建模了,其实在第二阶段impute完missing value去掉outlier做好这些preprocessing之后建模阶段很简单,先挑一个简单易懂的当做baseline model,然后定义好拿什么当evaluation metric看一下baseline performance,然后就可以套各种常规的或者fancy的model挨个看performance,选top的几个model继续parameter tuning,然后可以继续处理feature,比如说去掉correlated或者纯noise的feature,也可以自己加一些interaction term看看能不能提高model performance。最后选模型的时候能给出合理理由就可以了,比如evaluation metric特别高,运行速度最快,模型比较好解释,在各种情形下非常robust。基本上没有正确答案的,解释的能让人信服就可以了。
4. 最后不要忘了conclusion。夸一下final model的优点,如何可以解决现有问题,最好可以结合公司业务讲一下business value,再给一下未来可以继续做的问题。

我大概的思路就是这样,如果有什么我没想到的点子也非常欢迎一起分享啊。


聊聊 Data Challenge

2017(10-12月) 分析|数据科学类硕士全职 @- 内推 - 其他 | Pass/Offer | 在职跳槽

朋友最近在面试,正好把自己之前的经验写给ta

之间跳槽的总结贴:https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=311264

看到别人的很好的帖子:Data Challenge套路分享
https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=465683&fromguid=hot&extra=&mobile=2

正文

data challenge 我听说过的,有 analytics,modeling,ab testing 三个大类的(如有遗漏,欢迎补充)。Analytics的职位我没有投过,没有经验讲。AB testing 这个实际应用水比较深,还是挺看经验的,也不在讨论范围。此文着重 modeling

前期准备

  • 可以通过看别人的经验贴,某本电子书,翻以前ML project相关作业的report,和朋友请教经验等等方式了解这个东西大体应该怎么搞
  • 常用的code可以提前准备了好,例如 LaTeX 写报告的模板,写报告常用语句,EDA 相关code,常用模型的code
  • cheatsheet手边待用
  • 想好modeling的大体思路,先检查data,画各种图,选定evaluation metric,train一到两个model,检查结果,写结论

时间安排

  • 大部分 data challenge 会给 24 或 48 小时,可以和recruiter商量好时间接收。我当时是第一天早上十点接受,保证收到立马开始进入工作状态,时间不够用的时候还能熬夜赶工。
  • 为了几家公司进度差不多一致,我九天之内做了三个(累觉不爱):一个周末两天,周中请假两天,接下来的周末两天。
  • train model的时候需要考虑train的时间。我碰到有个数据量比较大,R跑起来特别慢,中途换了python。

几点注意

  • 解释你的选择:为什么数据这么清理,为什么feature这么搞,为什么用 model A,而不是 model B,为什么用这个metric,为什么做这个假设
  • 不是特别常见的 model 可以简单解释下原理,毕竟批卷子的人也不可能什么都懂。当时直接调别人一个现成的包,用了不太常见的一个model,reference按规矩写好
  • 个人偏好加一个future work,说一下如果时间充足,你还打算做什么,以示考虑充分
  • Summary/Conclusion 这个前面帖子lz已经强调过了,是一定要写的。通过你的模型,发现了什么。最好能给出 actionable insights (是的,这词很俗。换位思考,公司出 data challenge 是想考察你解决问题的能力,而不是调包的能力。

欢迎大家补充~

你这个完全打不开啊

哎,我积分也不够

1 Like