《数据科学实战》试读:前言

Rachel Schutt 2012 年秋天,我在哥伦比亚大学开设了一门新课:数据科学导论。作为一个新兴领域,数据科学在学术界尚未划分为一个独立学科。那么数据科学到底是什么呢?我将这门课的讲义集结成书,试图回答这一问题。 为了帮助读者理解本书及其缘起,我觉得有必要简单介绍一下我自己,和我设计并讲授这门课的初衷。 初衷 简单地说,我期望在我上大学时就有这样的课。但那是20 世纪90 年代,数据爆炸尚未开始,开设这样一门课也就无从谈起。我本科时主修数学专业,主要是做理论和实证研究。 虽然很庆幸这些训练赋予了我严谨解决问题的能力,但同时我也略感遗憾,若当时能再学点实际应用的技巧就更好了。 在从大学毕业到获得统计学博士学位期间,我走了一些弯路,我一直在试图寻找适合自己的研究领域,喜欢探究隐藏在宇宙中的模式,喜欢解答有趣的谜题,希望可以将自己的这些爱好物尽其用。之所以谈起这些,是因为现在很多学生觉得必须先知道自己这辈子到底想要干什么,我做学生时,不可能规划将来要从事数据科学相关的工作,因为那时根本还没有数据科学这样一个领域。因此我建议这些学生,或者其他愿意听我在这儿唠叨的人:大可不必这样。不必现在就规划好未来,走点弯路也没什么,谁知道这一路上你会发现什么呢?我拿到统计学博士学位后,在谷歌工作了几年,在这几年中,数据科学、数据科学家这些术语才在硅谷流行起来。 这个世界有许多问题尚未解决,对于那些拥有量化思维又乐于开动大脑的人来说,在解决问题的过程中充满了机遇。我的目标是帮助学生们成为具有批判性思维的人、能用创新思维去解决问题(甚至是人们尚未发现的问题)的人、对世界充满好奇喜欢问问题的人。若要我去构建一个数学模型,去为治愈癌症贡献一份力量,或者揭示出自闭症的奥秘,或者用来预防恐怖袭击,我或许永远做不到。但我的学生有一天会做到,我教给了他们这些知识,就算完成了自己的使命。写作此书,使我有机会将毕生所学传播给更多的人,我希望他们能从中得到激励,或者学到一些有用的工具,来让这个世界变得更好,而不是更坏。 建模和数据分析的过程并非彻底地中立,会受到研究者个人价值观的影响。研究的问题是由你来挑选的,研究假设也是你根据模型得出的,度量方法和算法也是由你来设计的。 世界上也并不是所有的问题都需要用数据科学或技术手段来解决,一个好的数据科学家是指他能甄别出哪些问题适合用数据科学解决,构建出对应的数据模型或者编写代码去解决它。但是我相信,在多学科的团队中,如果有一个理解数据、具有量化思维、精通编程的问题解决者(让我们将这种人称为“数据科学家”),这个团队可能会走得更远。 课程的起源 我在2012 年3 月份提议开设此课,主要原因有三。其中第一个原因最重要,我将会花最大篇幅去阐述。 原因一:我想告诉我的学生业界的数据科学家是怎么工作的,并且让他们掌握一些数据科学家所使用的技术。 在为Google+ 工作时,我所在的数据科学团队由一群身怀绝技的博士组成,其中有学社会学的、学工程的、学物理的和学计算机的,而我是统计学专业的。我们隶属于一个更大的团队,这个团队有很多天才的数据工程师,他们实现数据管道、基础架构、分析面板和一些实验性质的架构(用来做A/B 测试)。我们的团队架构是扁平化的,我们有海量的数据,每个人都是各自领域的专家,我们精诚合作,做出了很多不可思议的事,包括建立预测模型、实现算法原型、揭示出隐藏在数据背后的模式,这些对我们的产品影响深远。 以数据为基础,我们为领导层的决策提供真知灼见;分析因果关系,我们发展出了新的方法论。这些全仰仗世界一流的工程师和技术设备。每个人都为团队引入了专家级的技能,包括编码、软件工程、统计学、数学、机器学习、通信、可视化、探索性数据分析(EDA)等,还有对社交网络和社交空间的数据的敏感直觉和专业知识。 要知道,没有人是全知全能的,但集合所有人的智慧,我们就做到“无所不能”。我们认识到了每种技能的价值,因此就成功了。我们的共同点是守信,对解决有趣的问题充满好奇心,对待新的科学发现既保有适度的怀疑又充满激情。我们喜爱这项工作,对数据背后的模式充满了好奇。 我居住在纽约,希望把我在谷歌公司的工作经验传授给哥伦比亚大学的学生们,我相信他们需要这个,而且,我也喜欢教学。我想把我从工作中学到的东西教给他们。另外,我知道纽约的技术圈里有一个新兴的数据科学家社区,我也希望学生们能从他们身上汲取知识。 因此,这门课程常会邀请业界或学术界的数据科学家来做客座演讲。每位嘉宾所专长的技能和领域都不尽相同。我希望通过这样一种多样性的组合,让学生们对数据科学有一个更全面的认识。 原因二:数据科学有希望成为一门极具研究价值、意义深远的学科,它会影响到人们生活的方方面面。为此,哥伦比亚大学和纽约市市长布隆伯格先生在2012 年7 月宣布成立了一个数据科学与工程研究所。开设这门课是在尝试发展数据科学的理论,我希望让数据科学成为一门真正的科学。 原因三:我时常听到业界的数据科学家说,在脱离实践的课堂上是无法真正教授数据科学的,我想挑战一下这种言论。我一直将我的课堂视作数据科学家的孵化器,而我的学生也确实表现出色,他们将会成为数据科学界冉冉升起的新星。事实上,本书其中一章内容就是由我的学生们贡献的。 本书的起源 如果不是遇到了Cathy O’Neil,我的教学笔记也不会集结成书。她是一位数学家,后来转型为数据科学家,她的个人博客mathbabe.org 很受欢迎,在博客中的“关于自己”部分,她说自己一直在期待下面这个问题能有更好的答案:非理论派的数学家能做些什么以让这个世界变得更加美好?我向大学提议开设数据科学导论这门课程时,恰好认识了Cathy,那时她正在一个初创公司工作,职位是数据科学家。对于我开课的尝试,她十分支持。她还提出亲自过来听课,并在博客上同步直播我的授课内容。鉴于我性格比较内向低调,起先我并不喜欢这么做,后来Cathy 说服了我。她说这与商业广告的肆意炒作截然不同,这是一个绝好的机会,借此可以将“数据科学”的概念向大众普及。 我在哥伦比亚大学上的每一节课,Cathy 都会坐在第一排,并不时提出问题。她后来还受邀作为这门课的客座嘉宾给同学们上了一课(见第6 章)。除了将我的讲义发布到博客上,Cathy 还对授课内容贡献甚巨,比如,她提醒我们数据建模过程中存在一些道德伦理方面的考量。此外,她鼓励我也同步开设一个博客(http://columbiadatascience.com/blog/),用来和学生们做直接交流。我在上面也会总结自己的教学经验,这或许会帮到其他教授。 Cathy 博客中所有关于我授课内容的条目,再加上我博客中的部分内容,构成了本书的原始素材,我们在这一基础上修改加工,再集合一些其他资料,终成此书。 本书内容 本书既介绍实践应用,也提出理论规范。一方面,本书介绍了一些业内顶尖数据科学家的日常工作内容,带大家看看他们在实践中如何应用数据科学知识,借此管中窥豹,了解这一学科目前的应用现状。另一方面,我们还将从学术角度去定义数据科学的研究范畴。 这不是一本关于机器学习的教科书。恰恰相反,本书会多角度、全方位、深入地介绍数据科学。它是对现有数据学科领域的纵览,试图为这一学科勾勒出一幅全景图。因此,在选择案例时,我们会更注重广度而非深度。 希望本书能够被那些善待它的人充分利用,举一反三,去解决那些重要的问题。 这门课在哥伦比亚大学讲完后,我听到了这样的评价:它是一门从人文主义角度全面讲解数据科学的课程。我们不仅关注工具、数学、模型、算法和代码,同时也很关注上述过程中的人性化考量。关于什么是人文主义者,我很喜欢如下的定义:“他十分关心人类的福祉,尊重个人的价值观,并且注重维护个体尊严。”如何在数据科学中体现人文主义?你在建模和设计算法时,认识到你作为个人所应起到的作用,想想哪些东西是人所具备而电脑不具备的,比如基于道德的判断;向世界公布一种新的统计模型前,想想会为他人的生活带来什么样的影响。 组织结构 本书的组织结构遵循我在哥伦比亚大学的数据科学导论课程,在第1 章,我们将会回答“什么是数据科学”这个核心问题,同时介绍数据科学工作流程,这是全书组织结构的纲领。第2 章和第3 章对统计模型和机器学习算法做一概览,它们是后续章节的基础。第4章到第6 章,以及第8 章将会针对特定案例深入学习一些模型和算法。第7 章讲述如何从数据中提取有效信息以及在模型中创建统计变量。第9 章和第10 章将深入介绍一些传统学术界很少涉足的内容(当然现在情况有所改善):数据可视化和社交网络。第11 章和第12 章将从预测模型转而介绍因果分析。第13 章和第14 章介绍数据预处理以及工程方法。第15 章是我的学生们讲述他们的故事——他们是怎样学习数据科学的。第16 章展望数据科学未来的发展。 阅读须知 阅读本书时最好从前往后依序阅读,这样更便于理解,因为不少概念都是一环扣一环的。如果你的统计和概率背景不强,或者从前没有编过程,那么阅读本书的同时,如能阅读本章末尾附带的补充材料以查漏补缺,效果将会更好。全书为大家推荐了很多补充材料,当你阅读某个章节感到困难时,这或许由于你缺失某些背景知识,或许由于我们的讲解不够清晰,这时你都可以求助于这些补充材料,厘清概念。 书中的代码 本书不是一本手册,书中代码仅供示范,有时需要读者自己去亲手实践实现某些算法,以期对其中的概念理解得更加深入。 目标读者 虽然媒体把数据科学和数据科学家渲染成摇滚巨星一般,但别怕,数据分析学科的门槛并没有那么高。你是否是金融工程师并不重要,只要你热爱解决问题,热爱寻找数据背后的模式,那么数据科学就绝对是你的菜。 具备各种专业背景的读者均可阅读本书,我们希望每位读者都能各取所需,读出自己心中的“哈姆雷特”。 • 有经验的数据科学家能从 一个全新的角度认识自己和自己从事的行业。 • 统计学家能从中了解到统计学和数据科学的关系。也许他们仍然坚持过去的老态度:什么数据科学,这就是统计学嘛。我们也不介意这样的争论。 • 金融、数学、物理等学科的博士们,若有意转行研究数据科学,或者只是希望学习一些数据科学技能,都能从本书中了解到他们需要学些什么。 • 学生或从未接触过数据科学的人,会觉得被直接扔进了该领域的深水区。如果不能一下子理解书中内容,请不要害怕,这是必经之路。 • 对于那些从未用R 或Python 写过程序的读者,我们推荐一本书:The Art of R Programming,Norman Matloff 著(No Starch Press), 在哥伦比亚大学选修过该课程的学生们也从实验讲师Jared Lander 的讲解中获益良多,他的新书R for Everyone: Advanced Analytics and Graphics( Addison-Wesley)已于2013年12月上市。书中所有练习也可以使用Python 的各种工具包实现。 • 对于那些完全没有编程经验的读者,上述建议也适用,但可能需要先阅读一些基础的编程书籍,如下两本书就是不错的选择: Mark Lutz 和David Ascher 的Learning Python(O’Reilly),以及Wes McKinney 的Python for Data Analysis(O’Reilly)。 基础知识要求 我们假设本书读者学过线性代数、概率论和统计学,还有一些编程经验。不过,没有学过也没关系,我们试图让本书在内容上能够尽可能涵括所有内容。当然,如果读者在某方面知识欠缺,大可以针对不足自行寻找其他补充阅读材料。我们在全书中也都尽可能向读者提示哪些补充阅读材料能让你更深刻地理解相关问题。 补充阅读 数据科学作为一个新兴领域,植根于其他学科:统计推断、算法、统计模型、机器学习、实验设计、优化理论、概率论、人工智能、数据可视化和探索性数据分析等。每门学科都值得花好几门课或好几本书专门讲解,这正是写作本书面临的一个极大挑战,因此我们将这些补充阅读材料附在后面,希望读者在需要时可以参考。 数学 • Linear Algebra and Its Applications,Gilbert Strang著(Cengage Learning) • Convex Optimization,Stephen Boyd 和Lieven Vendenberghe 著(Cambridge University Press) • A First Course in Probability(Pearson)、Introduction to Probability Models(Academic Press),Sheldon Ross 著 编程 • R in a Nutshell,Joseph Adler著(O’Reilly) • Learning Python,Mark Lutz 和David Ascher 著(O’Reilly) • R for Everyone: Advanced Analytics and Graphics,Jared Lander著(Addison-Wesley) • The Art of R Programming: A Tour of Statistical Software Design,Norman Matloff 著(No Starch Press) • Python for Data Analysis,Wes McKinney著(O’Reilly) 数据分析与统计推断 • Statistical Inference,George Casella和Roger L. Berger著(Cengage Learning) • Bayesian Data Analysis,Andrew Gelman 等著(Chapman & Hall) • Data Analysis Using Regression and Multilevel/Hierarchical Models,Andrew Gelman和Jennifer Hill 著(Cambridge University Press) • Advanced Data Analysis from an Elementary Point of View(http://goo.gl/udICRX),Cosma Shalizi 著(Cambridge University Press) • The Elements of Statistical Learning: Data Mining, Inference and Prediction,Trevor Hastie、Robert Tibshirani 和Jerome Friedman 著(Springer) 人工智能和机器学习 • Pattern Recognition and Machine Learning,Christopher Bishop著(Springer) • Bayesian Reasoning and Machine Learning,David Barber 著(Cambridge University Press) • Programming Collective Intelligence,Toby Segaran 著(O’Reilly) • Artificial Intelligence: A Modern Approach,Stuart Russell和Peter Norvig 著(Prentice Hall) • Foundations of Machine Learning,Mehryar Mohri、Afshin Rostamizadeh 和Ameet Talwalkar 著(MIT Press) • Introduction to Machine Learning (Adaptive Computation and Machine Learning),Ethem Alpaydim 著(MIT Press) 实验设计 • Field Experiments,Alan S. Gerber 和Donald P. Green 著(Norton) • Statistics for Experimenters: Design, Innovation, and Discovery,George E. P. Box等著 (Wiley-Interscience) 可视化 • The Elements of Graphing Data,William Cleveland著(Hobart Press) • Visualize This: The FlowingData Guide to Design,Visualization,and Statistics,Nathan Yau 著(Wiley) 关于本书其他贡献者 我邀请了很多嘉宾来我的数据科学导论课上做讲座,他们有的来自初创公司、科技企业,当然还有人就是我所在大学的教授。书中多章的内容都是在这些讲座的基础上写成的。虽然他们没有执笔写作此书,但书中很多内容及想法皆来自他们,此外,他们还帮助我审阅了各自讲座所对应章中的内容,并给出了很好的建议,对此我们深表谢意。没有他们我的数据导论课就不会成功,没有他们也不会有这本书,他们是我在数据科学领域的楷模。 排版约定 本书使用了下述排版约定。 • 楷体 表示新的术语。 • 等宽字体(constant width) 表示程序片段,也用于在正文中表示程序中使用的变量、函数名、命令行代码、环境变量、语句和关键字等代码文本。 • 加粗的等宽字体(constant width bold) 表示应该由用户输入的命令或者其他文本。 • 斜体的等宽字体(constant width italic) 表示应该由用户输入的值或根据上下文决定的值替换的文本。 这个图标代表小技巧、建议或说明。 这个图标代表警告或提醒注意的信息。 使用代码示例 你可以在这里下载本书随附的资料(数据集、练习题等):https://github.com/oreillymedia/doing_data_science。 本书旨在帮助读者解决实际问题。一般来说,对于书中提到的代码,也许你需要在自己的程序或文档中用到,但除非大段大段地使用,否则你不必与我们联系取得授权。因此,用本书中的几段代码写成一个程序不用向我们申请许可。但是,销售或者传播O’Reilly 图书随附代码的光盘必须事先获得授权。引用书中的代码来回答问题你也无需我们授权,将大段的示例代码整合到你自己的产品文档中则必须经过许可。 使用我们的代码时,希望你能标明它的出处。出处一般要包含书名、作者、出版社和ISBN, 例如:Doing Data Science by Rachel Schutt and Cathy O’Neil (O’Reilly).Copyright 2014 Rachel Schutt and Cathy O’Neil, 978-1-449-35865-5。 如果还有其他使用代码的情形需要与我们沟通,可以随时与我们联系: [email protected] Safari® Books Online Safari Books Online(http://www.safaribooksonline.com)是按需获取的数字图书馆。它同时以图书和视频的形式出版世界顶级技术和商务作家的专业作品。 技术专家、软件开发人员、Web 设计师、商务人士和创意专家等,在开展调研、解决问题、学习和认证培训时,都将Safari Books Online 视作获取资料的首选渠道。 对于组织团体、政府机构和个人,Safari Books Online 提供各种产品组合和灵活的定价策略。用户可通过一个功能完备的数据库检索系统访问O’Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology 以及其他几十家出版社的上千种图书、培训视频和正式出版之前的书稿。要了解Safari Books Online 的更多信息,我们网上见。 联系我们 请把对本书的意见和疑问发送给出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) 奥莱利技术咨询(北京)有限公司 O’Reilly 的每一本书都有专属网页,你可以在那儿找到本书的相关信息,包括勘误表、示例代码以及其他信息。本书的网站地址是: http://oreil.ly/doing_data_science 对于本书的评论和技术性问题,请发送电子邮件到: [email protected] 要了解更多O’Reilly 图书、培训课程、会议和新闻的信息,请访问以下网站: http://www.oreilly.com 我们在Facebook 的地址如下:http://facebook.com/oreilly 请关注我们的Twitter 动态:http://twitter.com/oreillymedia 我们的YouTube 视频地址如下:http://www.youtube.com/oreillymedia 致谢 感谢在谷歌的同事:David Huffaker、Makoto Uchida、Andrew Tomkins、Abhijit Bose、Daryl Pregibon、Diane Lambert、Josh Wills、David Crawshaw、David Gibson、Corinna Cortes、ZachYeskel 和Gueorgi Kossinetts。另外,还要感谢在哥伦比亚大学统计系的朋友们:Andrew Gelman 和David Madigan,还有课程的实验指导者和助教Jared Lander 和Ben Reddy。 最后,也最真诚地感谢家人和朋友,他们提供了无尽的支持和爱,他们是:Eran Goldshtein、Barbara 和Schutt、Becky、Susie 和Alex、Nick、Lilah、Belle、Shahed,以及Feeneys 一家。 ——Rachel Schutt 感谢朋友与家人,尤其是可爱的儿子和丈夫,他们允许我每周为这门课程写一次博客。 ——Cathy O’Neil 我们还要共同对以下人士和单位致谢。 在Cathy 家参加聚会的那些志同道合的朋友:Chris Wiggins• 、David Madigan、Mark Hansen、Jake Hofman、Ori Stitelman 和Brian Dalessandro。 • 编辑Courtney Nash和Mike Loukides。 • IMA User 级建模会议的参与者及组织者, 很多关于本书的基本构思即来源于那里。 • 学生们! • Coppelia餐馆,Cathy和Rachel经常碰头和吃早餐的地方。最后,我们将谢意诚敬给Johnson 实验室的John Johnson 和David Park,感谢他们的慷慨大方,提供给我充足的时间用来写作此书。

>数据科学实战

数据科学实战
作者: [美] Rachel Schutt, [美] Cathy O'Neil
原作名: Doing Data Science
isbn: 7115383499
书名: 数据科学实战
页数: 316
译者: 冯凌秉, 王群锋
定价: 79.00元
出版社: 人民邮电出版社
出版年: 2015-3
装帧: 平装
OSZAR »