数据科学家是做啥的?看看Stack Overflow这位大牛两年的经历就清楚了

百家 作者:AI100 2017-07-21 09:25:36


翻译 | AI科技大本营(rgznai100)

参与 | 波波



有个数据科学家常常调侃自己:既不如统计学家懂统计,又不如软件工程师懂软件……


可他一旦出手,却总能手到擒来、毫不含糊,比如分析川普竞选期间使用Twitter的规律:


(话说读完川普的1390条推文,你能看出点啥?)



数据科学家看出来的是,老川普在用安卓机(真土豪应该不用卖肾来买苹果),同时还不爱发图片(到底是老年人),较为和善的推文都是下属用iPhone发的(终究是担心被炒鱿鱼)。


因为在川普这1390条推文中,有762条来自安卓机,628条来自iPhone,安卓机所发的负面语气(讨厌、悲哀等)要比iPhone高出80%,两者明显不是同一个人。


做这个分析的数据科学家就是David Robinson,他最近刚刚写过自己在Stack Overflow的第二个年度总结,他觉得整年的付出非常值得。


当然,他的主业不是盯川普,而是从Stack Overflow的数据鸟瞰整个软件开发生态,从数以百万计的用户、问答和日访问量中分析出结论。


对初学者来说,光是看看那些被同时使用的“标签”,就能发现技术的天然集群,从而自动把框架和软件包分类到它们所属的上一层级语言和集群中,完全不用手工注释。



不过,C#和SQL Server可能并不总是同时出现在同一个问答里,但它们往往会被用于同一技术堆栈的某个部分。有鉴于此,就需要参考一下Stack Overflow Careers的职业数据,看看哪些技术会被同一批开发者所用。



此外,Stack Exchange旗下还有各种不同主题的问答站,观察哪些社区倾向拥有同类活跃的用户,就可以建立起网站内部相互关联的网络。



这样的数据分析,有时候真的能直接影响产品的功能。


举例来说,在数量上掌握技术集群,能让我们改进开发者类型的模型,而这个模型会驱动Providence的目标(把用户和他们感兴趣的工作机会匹配到一起)。从商业的角度来说,帮助销售部、市场部以及社区团队解读数据,提供不同角度的洞见,对于做决策是非常有价值的。


以上这些实例,就是数据科学家要做的典型工作。但还算不上David Robinson的日常工作项目,他整天都在忙的事情还有:


  • 设计、开发和测试机器学习功能


在Stack Overflow,如果你浏览的大部分问题都跟Python、JavaScript有关,你将会收到Python网络开发工作的广告。这是因为他们的Providence机器学习系统会主动把用户跟他们感兴趣的工作机匹配到一起。一


David Robinson在数据团队的目的,就是设计、改进和执行这些机器学习算法。比如,努力平衡工作机会的地理位置和用户在技术上的匹配度,确保用户能看到多样化的工作机会,而不是反复显示同样的职位。


这项工作主要包括设计和分析A/B测试,尤其是优化目标算法、广告设计与其他能促进点击率(CTR)的因素。这在统计学习上其乐无穷,有些情况你能发现学生时代的实验方法的新用法,有些情况你要积极去学新的统计方法。


  • 开发数据科学框架并教授R语言


David Robinson是Stack Overflow第一个用R语言的人,R语言是一个很棒的工具,可以直接处理数据并回答有趣问题。


为了让其他工程师也能像他一样轻松地用R语言来学习数据中有趣的东西,David Robinson开始像AirBnb那样来开发R语言的内部数据包,构建可靠的工具和框架而非“一次性”的分析脚本,让人们各种各样的问题上都用得上。它们能够查询数据库,并从句法上分析内部的API,包括向用户隐藏各种安全和基础设施方面的问题。


这就牵涉到了建立一门R语言辅导课和撰写“入门”的材料。为此,David Robinson开过一门公开教程,介绍查询数据库的内部sqlstackr包。它后来延伸成一个总体的dplyr/tidyr/ggplot2介绍,David Robinson认为这比连接开发者与dplyr的普通教程更有用,因为那毕竟是他同事更为关心的东西。


David Robinson的想法是,随着数据团队的成长,以及更多工程师掌握了R语言,这些数据包和内部指南最终成长为一个真正的内部数据科学平台。


从去年的9月份开始,每周五都有R语言的学习活动,期间他会和一些工程师们通过编写R语言的程序来分析数据并创建和开发相关的模型。而这些分析结果和模型已经用在了实际的产品中,包括在数据团队以及其他开发团队之中。nj



大约有6个工程师会定期地参与R语言的学习活动,而他们都干出了不错的成果。他特别欣赏的是Ian Allen和Jisoo Shin,他们在这几个月的学习活动中提出了许多好的观点。Ian Allen和Jisoo Shin两人是去年夏季加入的公司,曾对学习使用R语言来辅助产品功能上的设计非常感兴趣。这些参与到R语言学习的工程师最终都证明了数据分析也可以成为工程师们日常工作中的一部分。


  • 写产品化的代码


David Robinson说,这一年来,他写的代码也悄然发生着变化。


Stack Overflow网站背后实际上使用的是C#代码,在他工作的第一年,是需要写C#的,尽管更多的时候在用R;直到第二年,他才完全停止写C#。David Robinson上一次提交C#程序这种产品化的代码是在一年前了,作为一个果粉,他终于可以不用碰Windows了。


这种变化体现了一个数据科学家在工程师团队里的角色变迁。David Robinson现在的日常工作是数据分析而不是上线产品的新功能,可以更专注于写R程序,而不需要在其他编程语言之间切换,从而提升工作效率。


他现在和工程师们配合工作,通过数据分析和更新模型来改善线上的产品。一直以来,David Robinson都会通过写一些技术文档,来记录需要查询的数据源和提出的模型。这种流量数据非常难于提取和分析,但通过编写程序将这些数据转化为可查询的数据库表格,他后续的数据分析和挖掘工作才得以顺利完成。


  • 招聘第二个数据科学家


作为团队中唯一的一位数据科学家,David Robinson表示相当艰辛:


目前我的大多数统计工作都是需要仅靠自己来完成的,对此我需要极其地谨慎。这是因为即使我在报告中使用了错误的统计假设方法,而身边几乎也没有能够人会意识到。”


这个问题一直存在着,直到去年的12月份,他们终于雇佣了第二个数据科学家:Julia Silge



对于Julia的加入,David Robinson表示特别兴奋,因为自从他们在2016年的rOpenSci会议上相识并共同开发tidytext包,他们这一年来一直在一起工作。Julia是一位优秀的同事,多了她,他们既能够在统计分析工作上合作,也能够专注于工作中的各个小部分。她在写作和沟通上同样经验丰富,这对接下来的目标至关重要。


  • 跨团队协作


前面提到的Providence个项目,是招聘类广告信息方面的数据科学工作,目的是想让有求职需求的Stack Overflow用户能看到他感兴趣的广告。让查看Python和Javasrcipt相关问题的用户,找到Python方向的Web开发工作,这样的机制能为公司带来重要利润,这也说明数据对于商业的推动是多么的重要。



Stack Overflow的另一个广告项目是展示广告(Display Ads),不同于招聘类广告,展示广告主要是为相关技术人员推销对应的产品和服务。David Robinson与展示广告团队运营组共同协作,对广告的展示和评估设计了许多方法,特别是应对广告拦截软件的举措,其中潜在的大量数据必定会使公司受益。


如果你对此感兴趣,可以去读Steve Feldman所写的“为什么Stack Overflow不在乎你屏蔽广告”:


https://stackoverflow.blog/2016/10/26/why-stack-overflow-doesnt-care-about-ad-blockers/


  • 写作


关于写作,David Robinson觉得对于做数据科学来说,也是必不可少的。


他说,“这是一项被我低估的优势。写作可以让我对自己所做的数据分析工作进行更多分享,比如分析了目前最冷门的编程技术。”


从去年的12月到现在,他写了许多有关公司内容的文章:


在纽约、旧金山、伦敦和班加罗尔做软件开发有哪些不同之处;

https://stackoverflow.blog/2016/11/30/how-do-developers-in-new-york-san-francisco-london-and-bangalore-differ/

软件开发、网站站长和Ninjas:关于职位名称的含义;

https://stackoverflow.blog/2016/12/20/developers-webmasters-and-ninjas-whats-in-a-job-title/

软件开发无国界:Stack Overflow的全球化;

https://stackoverflow.blog/2017/01/30/developers-without-borders-the-global-stack-overflow-network/

在校学生会使用Stack Overflow吗;

https://stackoverflow.blog/2017/02/15/how-do-students-use-stack-overflow/

会有人真正去访问Stack Overflow的主页吗;

https://stackoverflow.blog/2017/03/09/anyone-actually-visit-stack-overflows-home-page/

深夜最爱使用什么编程语言;

https://stackoverflow.blog/2017/04/19/programming-languages-used-late-night/

浅谈Stack Overflow的发展趋势;

https://stackoverflow.blog/2017/05/09/introducing-stack-overflow-trends/

Stack Overflow上所呈现的移动端开发现状;

https://stackoverflow.blog/2017/05/16/exploring-state-mobile-development-stack-overflow-trends/

Stack Overflow:让百万开发人员选择弃用Vim;

https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/

常敲空格键的开发者比常敲Tab键的赚钱更多;

https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/


当然,团队的其他成员也写了一些有关数据分析的文章:


编程技术的变迁历史(Kevin Montrose)

https://www.stackoverflowbusiness.com/blog/the-changing-landscape-of-programming-technologies

相比在旧金山,在瑞典做软件开发的好处 (Julia Silge)

https://stackoverflow.blog/2017/01/16/benefits-for-developers-from-san-francisco-to-sweden/

2016年度Stack Overflow女性用户调研 (Julia Silge)

https://stackoverflow.blog/2017/01/19/women-in-the-2016-stack-over-survey/

最喜欢在周末使用的编程语言 (Julia Silge)

https://stackoverflow.blog/2017/02/07/what-programming-languages-weekends/

2017年软件开发方面的招聘趋势 (Alyssa Mazzina和Julia Silge)

https://stackoverflow.blog/2017/03/09/developer-hiring-trends-2017/

最现实的软件开发者是…… (Julia Silge)

https://stackoverflow.blog/2017/03/28/realistic-developer-fiction/

在Stack Overflow上搜索职位的背后 (Aurélien Gasser)

https://medium.com/@aurelien.gasser/a-dive-into-stack-overflow-jobs-search-62bc6e628f83

软件开发者进入劳动市场的现状 (Julia Silge)

https://stackoverflow.blog/2017/06/12/new-kids-block-understanding-developers-entering-workforce-today/


写完博客,David Robinson把文章整理成书,他已经出版了一本电子书《经验主义贝叶斯:从一个棒球统计案例说起》。此外,他还跟Julia共同出了一本R语言的书——《利用R语言进行文本挖掘》(Text Mining with R),你可以在这里免费阅读:http://tidytextmining.com/。他说自己还会继续下去。


Julia和我在O’Reilly上发表和出版了一本书,叫《利用R语言进行文本挖掘》(Text Mining with R),现在已经在Amazon上架了并且可以免费在线阅读-(http://tidytextmining.com/)。David Robinson也出了一本电子书,《经验主义贝叶斯:从一个棒球统计案例说起》,这本电子书参考了一系列的博文。


在AI科技大本营微信公众号(rgznai100)会话回复“数据”,获得《经验主义贝叶斯:从一个棒球统计案例说起》电子书所参考的文章地址。


我很享受将一些博客整理成书籍的过程,明年我会继续做下去。


原文链接:

http://varianceexplained.org/r/year_data_scientist/

http://varianceexplained.org/r/two-years-data-scientist/



热文推荐

CCAI专访 | 杨强教授谈深度学习泡沫、迁移学习机遇与人工智能入门

专访 | 今日头条李磊:顶级AI专家是不分学校和背景的,年轻人要有自己的判断

独家|蚂蚁金服漆远首谈刚完成的AI重大突破及紧缺人才,呼吁国内多点技术性强的大会,少点网红

CCAI专访 | 清华大学朱军:深度学习“盛行”,传统方法何去何从?

CCAI 2017 | 小数据学习对 AI 究竟有着怎样的影响?





提示中国人工智能大会(CCAI)由中国人工智能学会、阿里巴巴集团 & 蚂蚁金服主办,CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会(CCAI 2017)将于 7 月 22-23 日在杭州召开。作为中国国内高规格、规模空前的人工智能大会,本次大会甄选出在人工智能领域本年度海内外最值得关注的学术与研发进展,汇聚了超过 40 位顶级人工智能专家,带来 9 场权威主题报告,4 大专题论坛,届时将有超过 2000 位人工智能专业人士参与。


为了帮助未能参会的小伙伴第一时间了解到嘉宾的重磅分享,AI科技大本营微信公众号将进行大会图文直播、视频直播并可在会后获取演讲PPT,敬请关注! 


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接