拿起这本书的读者至少应该听说过数据科学,知道Python是计算机语言,更深入的还应该知道数据科学深刻地改变着科学研究的范式、商业社会的规则等。那些讲述数据科学之伟大,Python语言之优美,两者结合之于实践的文章已经有很多,这里就不再赘述。下面笔者以自己的亲身经历来讲讲这方面的感受。
初识Python。2011年,我有幸在加州大学伯克利分校与一群有趣且疯狂的人度过了美好的一年,其中一位十分有趣的朋友就是学神级人物——Siqi Wu。Siqi虽为统计系博士,但课堂上他经常和我在一个讨论组,时常鼓励我一定要把计算机系的课程都修完。虽然我懵懵懂懂,但是学神发话,我便和他一起走上了“不归路”。Siqi从计算机系的本科核心课程开始学习,最后真的把本科与研究生的计算机系核心课程都拿到了学分,这让我佩服不已。他介绍我一定要学习的第一门课程是CS61A(https://cs61a.org),这门课等价于国内本科生计算机系的算法基础。我进入教室就震撼了,500多人的大教室坐满了人,讲的居然是Python。对,我懵了!这是因为我在国内读本科时的算法课程基本用的是C语言,难以理解讲算法为什么用Python。我觉得大致内容我都知道,所以也没有坚持学习这门课,就这样与Python第一次擦肩而过。
再识Python。2012年,我继续在伯克利的校园游荡。这时接触的项目中需要处理大量的文本。系里面有人建议我不要用R语言处理文本数据,而应该选择更加灵活的Python。我硬着头皮去选了一门天文系开设的Python课程。这门课十分神奇,每次讲课的人都不一样,而且每次的授课内容也比较独特——不仅讲授Python的基础内容,同时还讲授授课教师参与开发的Python模块。后来我才发现,这些人中大部分都是各种Python模块的主要贡献者。虽然课程坚持下来了,但是后来使用Python不多,渐渐地,对Python的印象开始模糊。
三识Python。2014年起,所有人周围都被大数据、数据科学等词所包围。在业界,众多企业也开始招聘数据科学家、数据分析师等职位,Python成为各职位要求的基本技能。这就催生了非常大的教学方面的需求,即利用Python去讲授数据科学。后来我也在西安交通大学管理学院给研究生——工商管理硕士(MBA)与工程管理硕士(MEM)等学员讲授与数据科学相关的课程,这当然就绕不过Python的使用。所以,逼迫自己又重新将Python拾起来。随着人工智能热潮的到来,深度学习的几大架构TensorFIow、PyTorch、MXNet等都给出了Python的灵活使用接口。这更加凸显了Python在这个时代所具有的独特优势。
回头看这些经历,其实利用Python去讲授算法基础,省去了很多C语言中的烦琐内容,能够让学生更容易理解算法基础的核心知识,而不是拘泥于语言的限制。更深层次的Python课程其实是讲授Python在各个领域的快速发展,不同模块的搭建能够让Python迅速成为各个领域的开发利器。最后的教学经历让我感受到Python本身作为数据科学的工具,各种与数据科学相关的Python模块的飞速发展,已经到了学不过来的程度。所以,Python语言讲不完,Python数据科学相关的模块也是讲授不完的,那么什么是核心且不变的呢?这就是本书要讲解的。
本书并不是一本介绍Python的大而全的手册,而是利用Python去讲述数据科学中最基本的核心理念是如何实现的一本手册。狗熊会一直倡导的数据价值理念,应该从理解业务问题出发,获取数据、清洗数据、探索性数据分析、构建变量体系、建立模型和模型评估等都在本书中利用Python的不同模块给予了讲解。如果想要深刻理解本书的所有内容,则可以首先学习狗熊会的《数据思维:从数据分析到商业价值》这本书,理解如何真的利用数据去解决业务问题;然后学习狗熊会的《数据思维实践》这本书,理解实践数据思维的基本过程;最后在实践的时候,Python将会成为你数据科学实践的有力武器。
本书的完成应该感谢很多人。首先,感谢北京大学光华管理学院的王汉生教授,即熊大。如果没有熊大的鼓励(压榨),那么我是没有勇气完成这本书的。还记得那是一个风和日丽、阳光明媚的下午,我接到了熊大的电话,然后他告诉我,就这么定了,你负责写一下Python与数据科学的书。我欣(懵)然接受!其次,感谢曾智亿,本书的第二作者。曾智亿是狗熊会人才计划第一期的毕业学员。他思想活跃,干劲十足,并且热爱Python。本书大部分内容的初始构想虽然是我提出的,但是执行力最强的智亿同学,在非常多的章节都有执笔,从某种意义上讲他对本书的贡献多过我。当然还要感谢李春艳同学和程茜老师,她们也都参与了本书的编写。再次,感谢Kino与Moon(是谁你们猜)陪伴我在西雅图完成了这本书的初稿,同时感谢我和Kino的父母。特别地,感谢华盛顿大学西雅图分校工业与系统工程系的黄帅教授。他给予我在华盛顿大学工作的机会,促使我更好地思考并完成这本书。最后,感谢狗熊会所有小伙伴们的鼓励(互怼);感谢统计之都(COS)所有小伙伴们为数据科学付出的努力,特别是云伯伯的含辛茹苦;感谢在MD Group互帮互助群中的科研知己——妖哥、波神、韩哥与屁孩。
提示:本书所涉及的案例的数据和代码已上传到百度网盘,请读者关注封底“博雅读书社”微信公众号,找到“资源下载”栏目,根据提示获取。另外,读者也可以关注勒口“狗熊会”微信公众号或扫描封底“狗熊会官网链接”二维码,根据提示获取本书配套资源。
狗熊会政委