现代数据科学家的“忍者“技能
2020-03-27 来源:raincent
作者:Khush Patel 译者:刘志勇 来源:InfoQ
突然间,数据科学家成了“香饽饽”。江湖传言,刚毕业的人工智能博士起薪 50 万,2 年经验的薪水 100 万以上,貌似一当上数据科学家,分分钟就能实现财富自由……屏幕前的你,是不是跃跃欲试?如果你想成为一名数据科学家,那么本文将会给你介绍真正的数据科学家必需的所有技能。
用外行人的话来说,火箭专家就是一个具有火箭科学知识(并在火箭科学方面具有惊人经验)的人。要成为一名数据科学家并不难。(我说的不难,并不是说每个小孩都可以担任数据科学家。要知道,成为一名喷气式飞行员并不需要掌握火箭科学方面的知识,但仍然也需要付出很多努力。)
在和 Linkedln 上的许多数据科学家进行交流之后,我写下了这篇文章,收集了其他人 30 多年的经验。在本文中,你将会发现数据科学家很多令人惊叹的经历。
让我们来看看,如果要成为一名数据科学家,都必须掌握哪些所需的技能。
1. 数学与统计学
机器学习
各种机器学习技术的的知识,就好比任何数据科学家的“心脏”一样。很难想象,会有这样的数据科学家,居然没有机器学习方面的知识。大多数公司要求机器学习工程师至少具备 3~5 年的基础经验,之后,才有资格成为任何组织的数据科学家。
在人工智能项目中,机器学习工程师就是“万事通”。万事通意味着,对问题定义、数据分析、结果展示和测试都有透彻的理解。它包括了从预处理到选择合适的算法来解决问题,再到以出色的可视化方式来展示结果的方方面面。整个过程都要靠你自己动手,因为你既是开发人员,又是分析人员,同时还是测试人员。
所以基本上,你需要拥有机器学习的“超能力”。
虽然你不必亲自编写每一行代码,但是理解机器学习是很重要的。
统计建模
统计学在数据科学家的工作中起着非常重要的作用。仅仅是编写机器学习算法的代码这一项,你就必须对数据进行更多的分析。最后,经过充分预处理的数据可能意味着你的项目已经完成了一半。
你需要对评估矩阵,以及一些参数,如正确率、错误率、精确度、召回率、F1 分数和其他术语有一个基本的理解,才能完成你的任务。对概率和统计有着超强理解的人可以像数据科学领域的国王一样统治世界。
贝叶斯推断
贝叶斯理论是数据分析领域中最重要的理论。数据革命始于贝叶斯理论。掌握贝叶斯理论的基础知识,将会使你在数据科学竞赛中所向披靡,势如破竹。掌握这一理论,你才能够轻松地从其他竞争对手中脱颖而出。
有监督学习和无监督学习
如果数据科学家没有监督算法知识,就好比没有球的足球运动员。试想,如果一场足球赛中,球员在没有球的情况下进行比赛,会是什么样子?两个字:愚蠢。同理,如果数据科学家没有掌握有监督算法和无监督算法的知识,也是一样的情景。
有监督算法包括线性回归、逻辑回归、朴素贝叶斯线性判别分析、决策树、K- 最近邻算法、支持向量机、神经网络(多层感知器)等。
无监督算法包括层次聚类、K- 均值、混合模型、 DBSCAN、OPTICS 算法、主成分分析等等。
优化
优化是一项不为多数人所能掌握的技能。这是使你有别于其他开发人员的关键因素。训练模型并不很重要,但是,创建一个优化版本的模型需要进行大量的工作。超参数每天都会让你头疼,如果你对优化有着完美的理解,对你来说,优化就像进行一场没有任何障碍的比赛。因此,要成为一名“英雄”,就要优化你的优化技能。
2. 编程与数据库
计算机科学基础
计算机科学技能是很少有人能掌握的。但我有很多熟人,他们都是专业的机械工程师。他们开始学习 Python,然后转入数据科学领域。你会惊讶的发现,他们的表现就像冠军一样。
但是,计算机科学概念对数据科学家的角色来说,是非常重要的要求。如果你能够掌握算法、操作系统、Web 开发和设计、计算机网络的基础知识将会带来很大的不同。掌握这些概念,将会使你的速度提高十倍。
脚本和编程语言
如果没有 Python、R 或 MatLab 这样的脚本或编程语言,就不可能想象数据科学家的生活会是什么样子的。如果你没有掌握这些脚本或编程语言中的任何一个,那么就请你自己出局吧。没有花花草草的话,你就永远不会有一座花园。你能想象没有花花草草的花园是什么样子的吗?试想一下,那不是花园,那是沙漠。而你必须在沙漠里耕作。这怎么可能呢?你不仅需要了解 Python,还需要了解一些更高级的库,如 TensorFlow、PyTorch、带 MatplotLib 的 Keras、Numpy 和 Pandas。
因此,在脚本和编程语言方面,没有妥协的地方。就像 NO NO NO NO NO NO。就是这样!
数据库 SQL 和 NoSQL
每个项目都有自己的数据和存储格式。全面了解各种数据库,可以帮助你理解和定义项目特有的问题。
数据可以是任何形式的。你只需接受这些数据就可以了。你不能对客户说,“不行,我想要不同格式的数据。”记住,你的职责就是将数据转换成所需的算法输入,并对其进行预处理。数据科学界指出,粗略的数据会降低正确性,但大量的非结构化数据会带来意想不到的结果。但这需要创新的想法来解决。这时候,如果你掌握不同数据库的知识,将有助于你解决问题。它可以是结构化的、非结构化的、图像、文本、音频或者其他东西。
将数据转换为可视化
可视化是一件令人惊叹的事情,你可以用数据来做。当你感受到可视化的重要性时,你就会从内部感受到数据。可视化是展示结果的最佳方式。在演示中不用说一句话,你的老板就会明白一切。因此,它是数据科学领域取得成功的关键。
数据科学工具知识
不同工具的指令就像在比赛中使用特斯拉赛博皮卡一样。当然,你也可以用“塔塔 Nano”(印度生产的全球最便宜的汽车)完成一场比赛,但是,这值得去完成一场比赛吗?明智地使用任何工具也是一项技能。所有的工具都可以在互联网上找到,但你必须能够正确地使用它。
像 Tableau、SAS、Apache Spark、Excel、RapidMiner、KNIME、QlikView 这样的工具,可以提高你的效率并缩短项目期限。
云计算
对云计算的了解并不是必须的,但可以作为一种资产。一些内置的库和服务可以很好地使用,比如,Google MLKit、Google Colaboratory、Kaggle 服务器、IBM Watson 和其他 API、Microsoft Azure AI 工具包和 AWS 存储。
至此,全部技术细节我都讲完了。
但是,你仍然对如何成为一名数据科学家一无所知。
3. 领域知识和软技能
对业务充满热情
数据科学家也经常从业务角度考虑问题,因为归根结底,什么才是最重要的呢?钱。是的,我再说一次,钱!
你必须有很强的业务策略。它会提升你在组织中的价值,最重要的是你的名声。作为数据科学家,有一个关于业务视角的想法是很好的。
对数据充满好奇心
优秀的数据科学家具备根据自己的经验以不同的方式看待数据的技能。数据科学家能看到的东西,初级工程师往往看不到,是因为数据科学家有经验的“放大镜“和惊人的才能。所以,数据很能说明问题。作为一名数据科学家,你只需仔细聆听。
问题解决能手
人工智能是没有人能够做到完美境界的领域。你可以面对很多挑战,只要你能够跳出框框想问题即可。从字面上来看,解决问题就需要跳出框框来思考。你身边有个解决方案,但你只需将它放入你的脑海中,它就会解决你的问题。
战略决策者
作为一名数据科学家,在某些阶段,你必须更上一层楼,因为,在完成某些任务后,你将会意识到,使用另一种技术,可以更轻松的完成这项任务。因此,要运用一些脑力和技巧来做决定。只需继续使用基本的解决方案,然后再回来应用一些高级版本即可。
4. 沟通
与高级管理层接触
这完全是关于人脉关系网、人际交往技巧和个人能力的问题。一分耕耘,一分收获。这就像是你的数据科学职业竞赛中的强力助推器。与机构接触,他们会在组织需要的时候帮助你。与上级保持良好的沟通,可以让你及时了解即将进行的项目。提前做好准备是最好的表现方式。
讲故事的技巧
作为数据科学家,你必须参加很多会议,从董事会到客户,再从首席技术官到许多其他人。因此,如果不给他们展示代码的话,你就必须给他们解释一个场景。因此,只要展示你的魔力,人们就会认为你是天使。只要把故事讲好,你就可以睡个好觉了。
了解人工智能的最新趋势
要随时了解市场上的最新趋势和技术。这会让你成为一个积极的领导者。在这个技术时代(21 世纪),只有积极的领导者才能统治世界。
如果你拥有这些技能,那么你就是这个竞赛的冠军。这可是神一般的水平啊!
作者介绍:
Khush Patel,人工智能爱好者,机器学习工程师,Facebook 人工智能学者、发明家。
原文链接:
https://towardsdatascience.com/ninja-skills-of-modern-data-scientist-621622e59614
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。