【数据科学家实战训练营】公开课干货总结


(daonaldo) #1

【太阁课程】数据科学家实战训练营试听课—在线播放—优酷网,视频高清在线观看http://v.youku.com/v_show/id_XMTc2NDM3NDM5Mg==.html

本科就读于清华自动化专业,又在南加州获得系统工业工程的博士的Ella老师,带着自己在微软和谷歌多年的Data Scientist经验,来太阁开课啦!

Tell me about Data Scientist

被福布斯称为21世纪最性感职业的Data Scientist,毋庸置疑是当下北美就业市场最火的话题之一。德勤的咨询报告显示,截至2018年,美国就业市场需要18万掌握高级分析技术的人才,100万掌握基础数据分析的人才。在加州湾区,Data Scientist基础工资为年薪13万美元,加上各种薪资补贴,年收入能达到20万美元左右。而目前的人才市场上需求远远大于人才供给,截至2018年,市场上将出现14万-17万人才缺口。目前90%企业都在招聘Data Scientist,但只能满足一半的人才需求。

那么Data Scientist的工作究竟是怎样的呢?学科创始人DJ Patil这么说:“A data scientist is that unique blend of skills that can both unlock the insights of data and tell a fantastic story via the data”概括来讲,Data Scientist的工作就是在数据中找pattern,得到insight,并且把自己的发现有效的呈现出来。

那么Data Scientist需要怎样的skillset呢?分为三部分:Business sense, Math/Statistics knowledge, Programming/hacker skills。简单而言就是能够根据行业专业知识做出合理的假设,并进一步用常用的统计模型和知识进行数据分析,而数据分析的进行依赖于熟练的编程技术。在本次训练营中,我们将主要针对工作和面试中常用的数学统计知识和编程技术方面,运用案例、超越理论,为大家提供打包培训,让大家作为Data Scientist的技术背景得以提升。

![](data:image/svg+xml;utf8,)

用人企业怎么说?

在公开课中,Ella老师以Uber和Airbnb为例,为大家解析企业对candidate的要求到底是怎样的。

![](data:image/svg+xml;utf8,)

由关键词可以看出,不同公司对DS要求大致符合上面三点:Quant background, Programming skill,Product mindset(business sense)和Communication。在谷歌的博客《How to get a Job at Google – as a data scientist》中,谷歌将自己对应聘者的希望进行了透彻的解析:Know your Stats, Get real-world experience, Spend time coding。需要注意的是,在stats知识方面,企业希望看到candidate在实际工作和project中对模型的应用而非简单的记忆;在数据处理方面,很多同学在进行学校里的项目时,使用的都是被老师预处理过的数据,导致在实际面试和工作过程中,对data cleaning 和manipulation束手无策;在Programming方面,公司并未要求candidate是技术背景强硬的工程师水平,而更多的是能够编程。在本次训练营中,Ella老师讲带领大家使用R语言,面对实际生活中的杂乱数据进行处理和分析。真正的做到“Get hands dirty with real-life data.”,熟练使用常用模型。

Data Scientist v.s. Data Analyst

![](data:image/svg+xml;utf8,)


Ella老师同时也对Data Analyst和Data Scientist的工作进行了对比。两种工作的工作内容和skillset有很多的重合,但整体来说,Data Analyst更多是一种总结性的工作,通过对历史数据进行总结和分析,来解释现象发生的原因。而Data Scientist则通过对数据的分析、建模、测试,来探寻现象发生的根本原因,并根据模型来预测未来现象。

DS Project lifecycle

接下来Ella老师又根据经验,为大家展示了Data Science Project 的lifecycle.

![](data:image/svg+xml;utf8,)

1. 了解项目及项目目标。在这个阶段,Data Scientist通常与Data Engineer, Developer进行头脑风暴,讨论为了达成项目目标应该着重收集哪些数据,这些收集过程的可行性有是怎样。
2. 加载数据。3. 在拿到数据后做sanity check,通过简单的测试来看数据收集过程中是否有意外和错误发生。例如,用户登出时间应该在登入时间之后。4. 确定数据的正确性后,开始进行data exploration 了解数据。5. Feature Engineering 阶段。由于原始数据并不能和模型很好的契合,在这步中通过提取feature,并不断进行测试feature与model是否契合的过程。例如,在本课的project中,原始数据里有time stamp。在Feature engineering 阶段中,Data Scientist就可以在time stamp里提取pattern。比如每天用户有几次行为,什么时间发生,每天次数多大变化区间。由于诸多feature,我们并不能确定那个feature能起作用,所以在这个过程中应该尽量多的构建feature。6. 上一步骤中我们探索了很多feature,但过多的feature会存在overfitting的问题,使得构建出来的模型即使在training data上有出色的表现,在test data上的表现并不一定好。如果highly correlated features同时进入模型,会对模型的coefficient方面有不好的影响。所以这步中我们要选择合适的feature。7. Feature选好后选合适Machine Learning model,并用training data去测试这个model。选择方式有很多,通常我们尝试所有能用的model然后看哪个表现最好。8. 找到合适model后,我们尝试在test data上输出数据。9. 在所有的步骤之后,使用evaluation matrix评估model的prediction power。10. 根据需要,可视化模型输出的结果。这个过程中看哪部分prediction power 不强,再提取data,调整model。

What is machine learning

![](data:image/svg+xml;utf8,)


接下来Ella老师又针对Machine Learning Model的定义、分类、选择和常用模型,通过简单易懂的案例进行了分析讲解。更多干货,感兴趣的同学,请观看我们长达两小时的免费公开课

关于课程

☑ 你知道面试官是如何判断你有没有data经验的吗?

☑ 你能一句话概括 logistic regression 和 naive bayes 的区别吗?

☑ 你能用一个词来说明 Expectation-maximazation 算法的特点吗?

上面这些问题在Flag等公司的data相关职位甚至Software Engineer面试中常常被提及。倘若不能很好的回答,往往会导致面试的失败。

如果现在你脑海中还没有肯定的答案,没有关系,Ella老师的课程可以帮到你!理论和实战的立体化学习,助你不仅在面试中脱颖而出,还在斩获offer后的工作中游刃有余!

☑ 理论课:围绕面试考点(如logistical regression, A/B Testing)展开知识体系,深入浅出讲解Statistics和Machine Learning概念,帮你举一反三;

☑ 实战课:面试官往往很注重实际的data经验。在这门课中Ella老师会手把手地带你用R语言亲身实战 Kaggle项目【Facebook Recruiting IV: Human or Robot】,并着重讲解data项目中常见的难点及解决技巧。这样的project经历不仅会让你的resume在面试官眼前一亮,还会助你完成 "think like a Data Scientist"的蜕变!

![](data:image/svg+xml;utf8,)

课程报名本周五截止哟,等你来~

本文作者:yuhuan fan

更多精彩,尽在硅谷高端线上教育社区BitTiger:请猛戳我

公众号:论码农的自我修养

微博:@太阁BitTiger

今日头条:太阁BitTiger