如何成为一名数据科学家

来自:    更新日期:早些时候
如何成为一位数据科学家~

  关于数据科学家的困惑很大部分归咎于:数据科学不是一个具体的职务,而是一种在机构中解决问题的方法。因此,数据科学可以包含多种教育背景、技能、工具、实践。实际工作中的数据科学家们,背景和技能的跨度很大,很难被一概而论。
  相对而言,描述数据科学的实践是什么样的可能更容易。
  简单地说,数据科学是用数据主导的答案解决实际问题的实践。实现这个目标的技术可能多种多样。你会常常听到数据科学家使用传统统计学、贝叶斯方法、机器学习、计算工具、行业领域知识来回答问题。
  有时数据的规模会非常巨大,需要使用复杂的工具和方法来穿过迷雾,得到隐藏在数据中的清晰结论。但是没有哪个方法、工作、算式能回答所有问题,所以也很难为数据科学家下定义。
  展示可能比陈述更有说服力。就让我们来走入数据科学家平凡又不平凡的一天。
  早晨
  早晨的第一件事可能是这一天日程中为数不多的惯例。
  我们的团队在早上进行例会,分享前一天的进展和问题。这和软件开发的“站立”会议可能有点不同。对我们来说,“进展”既可以是建设了一部分软件,也可以是阅读了一篇可以让我们对手头问题有更深理解的论文。
  数据科学可能在许多方面与大学里的学术行为不同,但它依然是对科学方法的合理运用。
  通常,我们的挑战是如何把“未知”变成“已知”。不仅如此,还要让它“可执行”。
  这意味着通过分析数据检验某个假设,建立测量效果的方法,对这个过程进行迭代,直到最终的研究结果被修正到足够有用的水平。晨会是一个交流各个试验进展的机会。
  上午
  现在我们有了各自的任务。是时候做一点实际工作了。这是一天中最有趣的部分。这是我坐下来专注于一个实际问题的时候。
  这可能意味着研究处理偶图的方法,或者写一些代码计算高斯超几何函数。但每个星期面对的问题很少相同。拥有数学、统计、编程的背景对解决这些问题来说很重要,但仍然不够。成为每种方法的专家是不可能的。下一个问题将需要什么知识也是无法预知的。
  这就是为什么数据科学家需要不断学习和无穷的好奇心。
  多数情况下,每个新问题需要一种新方法。这些方法不仅对你来说是新的,对整个世界来说也是新的。这是数据科学的挑战之处和刺激来源。
不确定性不仅是一种统计学的属性,也是一种生活方式。
  午间
  数据科学的实践不止于应用某些算法的技术细节,或是在白板上写出高深的算式。
  归根结底,我们要解决现实生活中的问题。这意味着理解其他人面对的问题。午间是跟客户、商业拓展部门、服务部门以及任何对我们客户和合伙人每天面对的问题有全面了解的人士碰面的好时候。
  大数据分析和机器学习的力量如果不能为他人创造便利就没太大意义。这是数据科学中一个重要的,但是常被忽略的步骤。它决定一个项目最终的成败。这也是区分数据科学与传统学术的一点。
  把一个业务问题翻译成一个缜密的研究项目,再把研究结果翻译成一个实际的解决方案,这需要对业务的深入理解,以及大量的创造力。
  闭门造车,没完没了做算法调优的数据科学团队永远不会成功。的确,有时为了让一个项目最终交付需要这么做。但如果这些都不能投入实际应用还有什么意义?
  数据能告诉我们的关于世界的知识与数据本身中间存在一道鸿沟。与一线工作人员保持良好的交流关系,是弥补这一鸿沟的唯一方式。
  下午
  我们已经卷起袖子,从技术和实际的层面钻研了问题。是时候退一步,思考一下全局了。
  我们常常在下午花些时间详细讨论某个项目的目标,或者探讨把一个研究项目变成可交付的形式所需的剩余步骤。
  与产品团队的密切交流可以确保我们的工作与机构的总体愿景/目标保持一致。确保专注于关键问题是很重要的。由于我们的工作是解决问题,所以必须确保解决方案行得通。我的意思是,在实际工作中行得通。根据特定业务提供解决方案只是个开始。
  我们需要建立可靠的、可重复使用的工具。
  这既包括把一个试验推广到更多的实用案例,也包括构造一个能够深入产品的解决方案。
  这个环节是我们最像软件开发者的部分,考虑并编写一些测试来确保表现、稳定性、扩展性。我们在Umbel的软件工程团队负责建立宏大的系统,我们不能扔给他们额外的工作,让他们为我们收拾烂摊子。
  把这些试验变成软件的一个功能,唯一的办法是在项目全程时刻想着这个目标。这也就是为何研究阶段不应只包含数学。
  我们需要知道我们不仅能解决某个问题,还能现实的限制中构造软件来解决这个问题。
  结束这一天
  经历了所有这些之后,有必要深吸一口气,看看自己究竟走了多远。有些日子会比其他日子走的更远。大多数试验则以失败告终。
  多数解决方案在最终展示之前需要调整打磨。通常很少有什么能保证你选择的路线是对的。开天辟地的过程始终伴随着不确定性。但这个过程中的每天,你都会学到新东西。这一天的结尾,我们反思我们学到了什么,并把这有关世界的新知识带到明天的晨会。
  经过足够的努力,我们最终获得针对特定问题的直接可行的答案。
  我们可以对这个答案充满自信,因为它由数据严谨地支撑。这个时候,我们还是没有结束代码的编写。正如我之前所说,数据科学项目的一个关键环节是把最终结果翻译成有意义、实用的东西。
  我们需要把我们学到的东西有效地传达给不同背景的受众。最终,我们需要利用数据讲一个故事。跟其他环节一样,这个环节没有什么唯一的正确方法。这个环节中我们寻找用图表把结果可视化的方法,或者在一个平面展示从问题到解答的各个环节,或者仅仅是宣布“好的,我们需要做的事是这样的。”
  这里的关键在于,在结束时,每个人都能理解要做什么以及为什么这么做。

我认为有几个大方面1)学好python。现在几乎所以公司的数据都可以api给你,而python的数据处理能力强大且方便。加之在machinelearning的很多算法上,python也独俏一方。另外,它的简明方便迅速迭代开发,15分钟写完个算法就可以看效果了。除此之外,py还有点酷酷的感觉。任何程序拿matlab和c++都是可以写的,不过我真没认识过哪个d愿意自己把自己扔那个不酷的框框里:D对不规则输入的处理也给python一个巨大的优势。通常来说,在我现在日常的工作里,所有的数据都是以纯文本但是非格式的形式存储的(rawtext,unstructureddata)。问题在于,这些文本不可以直接当作各种算法的输入,你需要分词,分句提取特征整理缺失数据除掉异类(outlier)在这些时候,python可谓是神器。这里做的1-4都可以直接在scikit-learn里面找到对应的工具,而且,即使是要自己写一个定制的算法处理某些特殊需求,也就是一百行代码的事情。简而言之,对于数据科学面临的挑战,python可以让你短平快地解决手中的问题,而不是担心太多实现细节。2)学好统计学习略拗口。统计学习的概念就是“统计机器学习方法”。统计和计算机科学前几十年互相平行着,互相造出了对方造出的一系列工具,算法。但是直到最近人们开始注意到,计算机科学家所谓的机器学习其实就是统计里面的prediction而已。因此这两个学科又开始重新融合。为什么统计学习很重要?因为,纯粹的机器学习讲究算法预测能力和实现,但是统计一直就强调“可解释性”。比如说,针对今天微博股票发行就上升20%,你把你的两个预测股票上涨还是下跌的model套在新浪的例子上,然后给你的上司看。Model-1有99%的预测能力,也就是99%的情况下它预测对,但是Model-2有95%,不过它有例外的一个附加属性——可以告诉你为什么这个股票上涨或者下跌。试问,你的上司会先哪个?问问你自己会选哪个?显然是后者。因为前者虽然有很强的预测力(机器学习),但是没有解释能力(统计解释)。而作为一个数据科学家,80%的时间你是需要跟客户,团队或者上司解释为什么A可行B不可行。如果你告诉他们,“我现在的神经网络就是能有那么好的预测力可是我根本就没法解释上来”,那么,没有人会愿意相信你。具体一些,怎么样学习统计学习?先学好基本的概率学。如果大学里的还给老师了(跟我一样),那么可以从MIT的概率论教材【1】入手。从第1章到第9章看完并做完所有的习题。(p.s.面试Twitter的时候被问到一个拿球后验概率的问题,从这本书上抓来的)。了解基本的统计检验及它们的假设,什么时候可以用到它们。快速了解统计学习有哪些术语,用来做什么目的,读这本【5】。学习基本的统计思想。有frequentist的统计,也有bayesian的统计。前者的代表作有【2】,后者看【3】。前者是统计学习的圣书,偏frequentist,后者是patternrecognition的圣书,几乎从纯bayesian的角度来讲。注意,【2】有免费版,作者把它全放在了网上。而且有一个简易版,如果感觉力不从心直接看【2】,那么可以先从它的简易版开始看。简易版【4】是作者在coursera上开课用的大众教材,简单不少(不过仍然有很多闪光点,通俗易懂)。对于【3】,一开始很难直接啃下来,但是啃下来会受益匪浅。注意,以上的书搜一下几乎全可以在网上搜到别人传的pdf。有条件的同学可以买一下纸制版来读,体验更好并且可以支持一下作者。所有的书我都买了纸制版,但是我知道在国内要买本书有多不方便(以及原版书多贵)。读完以上的书是个长期过程。但是大概读了一遍之后,我个人觉得是非常值得的。如果你只是知道怎么用一些软件包,那么你一定成不了一个合格的datascientist。因为只要问题稍加变化,你就不知道怎么解决了。如果你感觉自己是一个二吊子数据科学家(我也是)那么问一下下面几个问题,如果有2个答不上来,那么你就跟我一样,真的还是二吊子而已,继续学习吧。为什么在神经网络里面feature需要standardize而不是直接扔进去对RandomForest需要做Cross-Validatation来避免overfitting吗?用naive-bayesian来做bagging,是不是一个不好的选择?为什么?在用ensembe方法的时候,特别是GradientBoostingTree的时候,我需要把树的结构变得更复杂(highvariance,lowbias)还是更简单(lowvariance,highbias)呢?为什么?如果你刚开始入门,没有关系,回答不出来这些问题很正常。如果你是一个二吊子,体会一下,为什么你跟一流的datascientist还有些差距——因为你不了解每个算法是怎么工作,当你想要把你的问题用那个算法解决的时候,面对无数的细节,你就无从下手了。说个题外话,我很欣赏一个叫Jiro的寿司店,它的店长在(东京?)一个最不起眼的地铁站开了一家全世界最贵的餐馆,预订要提前3个月。怎么做到的?70年如一日练习如何做寿司。70年!除了丧娶之外的假期,店长每天必到,8个小时工作以外继续练习寿司做法。其实学数据科学也一样,沉下心来,练习匠艺。3)学习数据处理这一步不必独立于2)来进行。显然,你在读这些书的时候会开始碰到各种算法,而且这里的书里也会提到各种数据。但是这个年代最不值钱的就是数据了(拜托,为什么还要用80年代的“加州房价数据”?),值钱的是数据分析过后提供给决策的价值。那么与其纠结在这么悲剧的80年代数据集上,为什么不自己搜集一些呢?开始写一个小程序,用API爬下Twitter上随机的tweets(或者weibo吧。。。)对这些tweets的text进行分词,处理噪音(比如广告)用一些现成的label作为label,比如tweet里会有这条tweet被转发了几次尝试写一个算法,来预测tweet会被转发几次在未见的数据集上进行测试如上的过程不是一日之功,尤其刚刚开始入门的时候。慢慢来,耐心大于进度。4)变成全能工程师(fullstackengineer)在公司环境下,作为一个新入职的新手,你不可能有优待让你在需要写一个数据可视化的时候,找到一个同事来给你做。需要写把数据存到数据库的时候,找另一个同事来给你做。况且即使你有这个条件,这样频繁切换上下文会浪费时间。比如你让同事早上给你塞一下数据到数据库,但是下午他才给你做好。或者你需要很长时间给他解释,逻辑是什么,存的方式是什么。最好的变法,是把你自己武装成一个全能工作师。你不需要成为各方面的专家,但是你一定需要各方面都了解一点,查一下文档可以上手就用。会使用NoSQL。尤其是MongoDB学会基本的visualization,会用基础的html和javascript,知道d3【6】这个可视化库,以及highchart【7】学习基本的算法和算法分析,知道如何分析算法复杂度。平均复杂度,最坏复杂度。每次写完一个程序,自己预计需要的时间(用算法分析来预测)。推荐普林斯顿的算法课【8】(注意,可以从算法1开始,它有两个版本)写一个基础的服务器,用flask【9】的基本模板写一个可以让你做可视化分析的backbone。学习使用一个顺手的IDE,VIM,pycharm都可以。4)读,读,读!除了闭门造车,你还需要知道其它数据科学家在做些啥。涌现的各种新的技术,新的想法和新的人,你都需要跟他们交流,扩大知识面,以便更好应对新的工作挑战。通常,非常厉害的数据科学家都会把自己的blog放到网上供大家参观膜拜。我推荐一些我常看的。另外,学术圈里也有很多厉害的数据科学家,不必怕看论文,看了几篇之后,你就会觉得:哈!我也能想到这个!读blog的一个好处是,如果你跟他们交流甚欢,甚至于你可以从他们那里要一个实习来做!

成为数据科学家,先要从数据应用的某一点开始,弄懂一个,再来一个。大数据的应用技术有很多方面,例如信息采集技术,舆情监测技术等。以下是舆情监测技术的一些原理:实施后的好处:多多深入研究,10000小时能成为天才,加油!


如何成为一名数据科学家视频

相关评论:
  • 13770337731如何成为一名数据科学家?
    薄肃桑保持开放的心态。如果你是一个新手,实际上并不知道什么是数据科学,所以它完全有可能不是你想要的工作领域。要成为数据科学家需要花费大量的时间和精力,请充分了解数据科学中不好的方面,比如数据整理,以及构建数据生产流水线,而这些工作占了数据科学家日常工作的大部分时间。首先要做的是学习Python。

  • 13770337731怎样成为数据科学家
    薄肃桑需要以下几个方面:1.业务知识2.数理统计和数据分析3.计算机相关知识3.1数据处理与收集(ETL?)3.2机器学习和数据挖掘

  • 13770337731数据科学家需要具备什么能力
    薄肃桑虽然很多框架都直接提供了这样的工具,但我们至少要了解内部的原型原理,比如如何高效判断一个矩阵是否存在逆矩阵并如何计算等。数理统计:概率论和各种统计学方法要做到基本掌握,比如贝叶斯概率如何计算?概率分布是怎么回事?虽不要求精通,但对相关背景和术语一定要了解。交互式数据分析框架:这里并不是指...

  • 13770337731如何才能成为一名数据科学家?
    薄肃桑深入探索访谈数据的艺术,掌握主题分析法的六步骤,让你轻松驾驭定性研究!主题分析,作为人文社科实证研究中的重要工具,它通过挖掘文本内涵,提炼出关键信息,如Braun和Clarke(2006)所定义的那样,是识别、分析并报告数据模式的过程,主要包括代码(code)、类别(category)和主题(theme)这三个关键概念。

  • 13770337731如何成为一名数据科学家
    薄肃桑成为数据科学家,先要从数据应用的某一点开始,弄懂一个,再来一个。大数据的应用技术有很多方面,例如信息采集技术,舆情监测技术等。以下是舆情监测技术的一些原理:实施后的好处:多多深入研究,10000小时能成为天才,加油!

  • 13770337731数据科学家 \/ 统计学家应该养成哪些好习惯?
    薄肃桑回答:成为一名科学家,统计学家不仅是需要知识技能,还需要养成良好的习惯,下面我给大家说一说一名科学家统计学家应该养成哪些好习惯。进行数据可视化。这是很多老师都会强调的一点,对统计学来说,这也是最重要的一点。在实际的数据分析中,可视化可以决定选择什么模型,怎么样分析结果,解释结果。所以一定要熟悉各...

  • 13770337731如何成为一名数据科学家
    薄肃桑众多新的软件分析工具作为深入大数据洞察研究的重要助力,成为数据科学家所必须掌握的知识技能。传统数据分析所用工具1、Excel作为电子表格软件,适合简单统计(分组\/求和等)需求,由于其方便好用,功能也能满足很多场景需要,所以实际成为研究人员最常用的软件工具。其缺点在于功能单一,且可处理数据规模小。这...

  • 13770337731如何成为一名数据科学家
    薄肃桑要成为数据科学家需要花费大量的时间和精力,请充分了解数据科学中不好的方面,比如数据整理,以及构建数据生产流水线,而这些工作占了数据科学家日常工作的大部分时间。 首先要做的是学习Python。尽快在MOOC上选择相关的课程项目,当熟悉Python基本用法后,请学习如何使用Jupyter工具,并选学一些数据科学领域的网络公开课。

  • 13770337731避免五大误区丨数据科学家新手进阶之路
    薄肃桑你需要做的是,熟练掌握你大部分时间将要做的事,即数据预处理。例如抓取图像或从API收集图像;从Genius收集歌词数据等。为解决特定问题准备所需的数据,然后将其输入到计算机中开始机器学习生命周期。精通数据预处理无疑将大大帮助你成为一名出色的数据科学家,从而让你在公司制定决策中起到关键作用。误区2...

  • 13770337731如何成为一名数据科学家
    薄肃桑我认为有几个大方面1)学好python。现在几乎所以公司的数据都可以api给你,而python的数据处理能力强大且方便。加之在machinelearning的很多算法上,python也独俏一方。另外,它的简明方便迅速迭代开发,15分钟写完个算法就可以看效

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网