打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
真伪数据科学对比

数据科学书籍、认证和文凭,如雨后春笋般层出不穷。不幸的是,许多仅仅是镜花水月:许多人钻了这一新名词的空子,将旧酒(比如统计学和R编程)放在“数据科学”这个新瓶里。

本文选自《数据天才:数据科学家修炼之道》

先来说一下R语言编程跟伪数据科学为何扯上了关系:R是一种有20多年历史的开源统计编程语言及编译环境,是商业化产品S+的后继者。R一直以来都局限于内存数据处理,在统计圈子里非常流行,并因其出色的可视化效果为人称道。一些新型的开发环境通过创建R程序包或者将其扩展到分布式架构里(比如将R与Hadoop结合的RHadoop),将R(限于在内存里处理数据)的能力扩大。其他程序语言当然也存在跟伪数据科学沾边的情况,比如说SAS,但不及R这么流行。说到SAS,它价格高昂,在政府机构或者实体企业的应用更为广泛。但在过去10年数据快速增长的领域(如搜索引擎、社交媒体、移动数据、协同过滤推荐等)运用不多。R跟C、Perl或者Python的语法不一样(后三者语法根源一样),其简易性使得写R的程序员比较广泛。R还有很多程序包和不错的用户界面,SAS却难学很多。

更混淆的事情是,管理决策层在搭建其数据科学家团队时,有时也不是很清楚他们想要的到底是什么。他们往往最终招募的是很纯粹的技术极客、计算机科学家,或者缺乏恰当大数据经验的人。人力资源部门对于数据科学的了解也不会好到哪里,因此导致更为严重的问题,他们给出的招聘广告就是不断重复类似的关键词:Java、Python、MapReduce、R、Hadoop和NoSQL。但数据科学真的就是这些技能的混合吗?

MapReduce只是一个将数据分解为子集,在不同机器上分开处理,并把所有结果集合起来,从而处理大数据的泛化框架。因此它涉及的是处理大数据的分布式框架,用到的这些服务器和设备则组成云(Cloud)。

Hadoop是MapReduce的一种实现,就像C++是面向对象编程的实现一样。NoSQL意味着“Not Only SQL(意为不单只是SQL)”,是指能更新颖、更高效地访问(比如MapReduce)数据的数据库或数据库管理系统,有时它是作为SQL(标准数据库查询语言)之下的隐藏层而存在的。

除了MapReduce以外,还有其他框架——例如,图形数据库和环境,它们依赖于节点和边这类概念,来管理和访问数据(通常是空间数据)。这些概念并不一定是新的。在谷歌存在之前,分布式体系结构已被应用到搜索技术环境中了。15年前,我写Perl脚本进行哈希连接(一种NoSQL连接,用来连接或合并数据库中的两个表)。然而,现在一些数据库厂商提供的哈希连接,是SQL连接的一个快速替代品。哈希连接在本书后面还会讨论到。它们使用哈希表,并依赖于名称-值对的形式。我想说的结论是,有时MapReduce、NoSQL、Hadoop、Python(一种优秀的脚本语言,往往用于处理文本和非结构化数据)会被认为是Perl的后继者,但它们根源于几十年前就开发出的系统和技术,只是在过去的10年里变得更成熟而已,但数据科学并不只是这些。

事实上,你可以成为一名真正的数据科学家,且不需要掌握这些技能。NoSQL和MapReduce不是新概念——在这些关键词被创建之前,就有很多人接触到它们。但要成为一名数据科学家,你需要以下能力。

  • 敏锐的商业头脑。

  • 真正的大数据专业知识(例如,可以在几个小时内快速地处理一个5 000万行的数据集)。

  • 认知数据的能力。

  • 对模型具有猜疑精神。

  • 了解大数据“诅咒”。

  • 有能力沟通并理解管理人员正在试图解决哪些问题。

  • 能正确评估付你工资所能带来的回报(ROI)或效益提升(lift)。

  • 能够快速地识别一个简单的、健壮的、可扩展的解决方案。

  • 能够说服并推动管理人员,即使不情愿,也要为了公司、用户和股东的利益,转到正确的方向上。

  • 真正热爱数据分析。

  • 成功案例的实际应用经验。

  • 数据架构知识。

  • 数据收集和清理技能。

  • 计算复杂度的基础知识——如何开发健壮的、高效的、可扩展的、可移植的架构。

  • 良好的算法知识。

数据科学家在商业分析、统计学和计算机科学等领域也是通才,比如会掌握这些专业知识:健壮性、实验设计、算法复杂度、仪表盘和数据可视化。一些数据科学家也是数据策略师——他们可以开发数据收集策略,并使用数据来发现可操作的、能对商业产生影响的见解。这就要求数据科学家具有创造性,能根据业务要求,制定分析、提出解决方案。

要理解数据科学,所需的基本数学知识包括:

  • 代数,如果可能的话,包括基本矩阵理论。

  • 微积分入门课程。要掌握的理论不多,只需要理解计算的复杂度和O标记法即可。了解特殊函数,包括对数、指数、幂函数。微分方程、积分和复数不是必要的。

  • 统计与概率的入门课程,要了解随机变量、概率、均值、方差、百分位数、实验设计、交叉验证、拟合度和稳健统计的概念(不需要了解技术细节,而是达到本书介绍的程度即可)。

从技术的角度,要掌握的重要技能和知识有R、Python(或Perl)、Excel、SQL、图形(可视化)、FTP、基本的UNIX命令(sort、grep、head、tail、管道和重定向操作符、cat、cron定时等),以及对如何设计和访问数据库有基本了解。了解分布式系统如何工作和在哪里能发现瓶颈(是在硬盘和内存之间的数据传输,还是在互联网上),这也很重要。最后,要了解网络爬虫基本知识,这有助于获取互联网上能找到的非结构化数据。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何成为一名数据科学家
数据科学的历史、开拓者和现代趋势
大数据行业必须掌握的25个大数据术语
每个人都应该知道的25个大数据术语
不懂这25个名词,好意思说你懂大数据?
大数据技术介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服