编辑推荐
适读人群:有一定工作经验的职业数据分析师、在工作中涉及数据分析的程序员,以及其他对数据分析感兴趣的人群
仅仅会Python编程是不够的。想成为一名优秀的数据分析工程师,还需要有全方位、透彻理解问题本质的能力,善于把实际的工作任务拆解成准确的数据问题,并运用相关的知识来解决。
《Python绝技:运用Python成为顶级数据工程师》恰好是从这个角度出发的,它条分缕析地帮助你认识任务的本质,教你从数据的角度来思考、拆解任务,并最终顺利地达成目标。
内容简介
Python已成为广受数据科学领域欢迎的开发语言。《Python绝技:运用Python成为顶级数据工程师》契合这一趋势,结合具体的业务场景,从数据思维的角度出发,剖析各业务环节中数据处理的策略、算法,并运用Python代码呈现翔实的案例,构建出一个完整的数据分析体系。
在内容的组织和安排上,《Python绝技:运用Python成为顶级数据工程师》层次分明、详略得当:针对简单的数据分析工作,读者可以先浏览第1章至第3章;专职从事数据分析的工程师可以通篇阅读《Python绝技:运用Python成为顶级数据工程师》,以构建数据处理工程的完整知识框架;最后一章针对从事大数据分析的工程师提供了一些常见问题的解决思路和方法。
《Python绝技:运用Python成为顶级数据工程师》既适合刚接触数据工程的从业人员作为入门参考,也可以帮助具有一定经验的数据工程师搭建知识体系,洞悉业务场景中的数据奥秘,得心应手地运用数据指导业务。
作者简介
黄文青,目前在百度公司任职,从事大数据、机器学习方向的研究与学习。对于如果成为一名数据工程师,有自己独特的理解与实践。
精彩书评
数据工程师必备三大技能:数据工程能力、数据分析能力、业务能力,三者相辅相承,缺一不可。《Python绝技:运用Python成为顶级数据工程师》从这三个方面出发,以简单易懂的Python为基础工具,介绍了很多基础知识和工程案例,读起来非常痛快!
——路人甲,公众号《一个程序员的日常》
基于开源的第三方库和活跃的社区支持,Python数据科学生态体系得到了快速的发展,越来越多的数据工程师选择Python作为开发语言。然而,在实际工作中,许多工程师往往侧重于需求实现而忽视对业务的理解。《Python绝技:运用Python成为顶级数据工程师》针对这一盲区,根据不同的业务场景,从数据的角度梳理、思考问题,并有针对性地阐述了不同的策略、算法和案例。
在跟随《Python绝技:运用Python成为顶级数据工程师》学习的过程中,我们可以从全局上深入理解数据分析的精髓,并融会贯通——这对于初学者和初级数据工程师的能力提升尤为重要。
——阿橙,《Python中文社区》公众号主编
数据分析是近年来的热点。几乎所有的互联网公司在产品上都告别了“拍脑袋”做决定的方式,而选择“用数据说话”。因此,也有越来越多的人投入到相关领域当中。Python作为数据分析的重要语言,受到了广泛关注。然而,对于想要成为数据工程师的人来说,仅完成编程语言的学习是远远不够的。《Python绝技:运用Python成为顶级数据工程师》恰恰为这一阶段的学习者提供了很好的帮助:从数据分析的基本理论,到业内实践中的分析流程和常用工具,《Python绝技:运用Python成为顶级数据工程师》均做了较为完整的梳理。
除了理论讲解外,书中还附带了不少分析实例,便于读者理解和演练;此外,作者的行业经验保证了《Python绝技:运用Python成为顶级数据工程师》的实用性,为入行者指出了清晰的学习路径。
——Crossin,公众号《Crossin的编程教室》作者、码课创始人
Python语言继在Web大潮之下成为网站快速开发、服务端运维的明星语言之后,随着人工智能技术的飞速发展又迎来了新的一波高潮,成为人工智能领域的*选编程语言。
Python语言易学易用,有丰富的数据处理包,社区也相当成熟,在数据工程师群体中是非常流行的语言。作为中国*早一批使用Python的人之一,看见Python逐步从一门小众语言变成推动技术进步的主流语言,很是欣慰。希望此书能够帮助有志于成为*级数据工程师的朋友更好地掌握这门优秀的语言。
——洪强宁,爱因互动创始人兼CTO
人工智能是当下*热门的技术领域之一,各大厂商紧锣密鼓进行战略布局:自动驾驶、个人助手、医疗健康、电商零售、金融、教育……如果把人工智能比喻成火箭,那么数据就是燃料。不管你是从事人工智能、机器学习,还是数据分析,都离不开数据,由此诞生了数据工程师的职业。
《Python绝技:运用Python成为顶级数据工程师》从数据分析、数据挖掘、深度学习等方面介绍了一名数据工程师应该掌握的数据工程的方法和数据分析的思路,书中总结的数学公式和代码实践让原来枯燥的概念变得有滋有味。有志于成为数据工程师的你,细细“品尝”《Python绝技:运用Python成为顶级数据工程师》,必有收获!
——刘志军,公众号《Python之禅》
《Python绝技:运用Python成为顶级数据工程师》内容由浅入深,分别介绍了数据分析的常用工具、Python在数据分析方面常用的包、如何运用Python做基础的统计分析和如何运用Python做数据建模……读完以后令人有一种从侏罗纪时代穿梭到未来时代的感觉,信息量很大。
更难得的是作者拥有工业界的背景,这使他可以从实践操作的角度,手把手教您打造一把数据分析的利剑。
一言以概之,《Python绝技:运用Python成为顶级数据工程师》没有繁杂的数学公式,只有挤不出水的干货。
——挖数,公众号Washu66
目录
1概述/1
1.1何为数据工程师/1
1.2数据分析的流程/3
1.3数据分析的工具/11
1.4大数据的思与辨/14
2关于Python/17
2.1为什么是Python/17
2.2常用基础库/19
2.2.1Numpy/19
2.2.2Pandas/26
2.2.3Scipy/37
2.2.4Matplotlib/38
3基础分析/43
3.1场景分析与建模策略/43
3.1.1统计量/43
3.1.2概率分布/48
3.2实例讲解/55
3.2.1谁的成绩更优秀/55
3.2.2应该库存多少水果/57
4数据挖掘/60
4.1场景分析与建模策略/60
4.1.1分类/61
4.1.2聚类/76
4.1.3回归/86
4.1.4关联规则/90
4.2数据挖掘的重要概念/93
4.2.1数据预处理/93
4.2.2评估与验证/97
4.2.3Bagging与Adaboost/99
4.2.4梯度下降与牛顿法/102
4.3实例讲解/105
4.3.1信用卡欺诈监测/105
4.3.2员工离职预判/110
5深度学习/114
5.1场景分析与建模策略/115
5.1.1感知机/115
5.1.2自编码器/119
5.1.3限制玻尔兹曼机/123
5.1.4深度信念神经网络/127
5.1.5卷积神经网络/129
5.2人工智能应用概况/137
5.2.1深度学习的历史/137
5.2.2人工智能的杰作/140
5.3实例讲解/146
5.3.1学习识别手写数字/146
5.3.2让机器认识一只猫/151
6大数据分析/160
6.1常用组件介绍/160
6.1.1数据传输/165
6.1.3数据计算/174
6.1.4数据展示/180
6.2大数据处理架构/188
6.2.1Lambda架构/189
6.2.2Kappa架构/192
6.2.3ELK架构/193
6.3项目设计/194
参考文献/202
前言/序言
数据分析、数据挖掘、深度学习及云计算,是当前最热门的技术领域。1830年前后,Gauss、Legendre等数学家奠基了数据分析的基础理论;1943年,心理学家WarrenMcCulloch和数理逻辑学家WalterPitts首次提出神经网络;19世纪80年代,Hinton、YannLeCun等人提出BP算法及卷积神经网络;2006年,深度置信网络研究成果发表。至此,数据建模理论研究的宏观大厦已初见雏形。
历史是如此的巧合,正当需要海量数据集和工程技术方案来处理数据时,云计算应运而生。2003年,谷歌发表关于GoogleFileSystem、GoogleBigtable及MapReduce三篇论文,让大数据处理技术风靡全球。以此为基础,2010年前后,整个云计算的概念及技术体系已经非常完善了。
数据理论的完善、工程技术的发展与无数创意的结合,使得2010年以后,整个人类社会进入了“数据时代”。无论是精细化运营,还是人工智能产品,对数据的应用无处不在;无论是政府机构,还是私有的大、中、小型企业,使用数据的热情都达到空前的高度。
2014年,我加入百度公司,从事大数据处理及数据建模等相关工作。回首过往,在该领域的几年中,我经历了云计算从雾里看花到如今的方兴未艾;人工智能的初现端倪到如今的高潮迭起。作为一名前线的数据工程师,我深刻认识到,对我及大多数工程师而言,既无法像JeffDean等一样提出经典的大数据计算模型;也无法像Hinton、YannLeCun一样提出具有深远影响的建模算法。我们所要做的,就是学习与汲取当前的理论与技术,结合应用领域,实现工程应用。这也是我写《Python绝技:运用Python成为顶级数据工程师》的初衷,希望能从宏观框架上梳理已有的数据分析理论与工程实施技术,并搭建相对系统的知识体系;同时,阐述工作实践中遇到的问题及解决的思路。
Python简洁易懂的语法、丰富的类库、与大数据组件的无缝集成等诸多特点,使其成为数据工程师的首选编程语言。当然,只是掌握Python还完全不足以成为顶级数据工程师,因此,《Python绝技:运用Python成为顶级数据工程师》介绍数据处理知识体系,并以Python实现相关代码示例,力求让读者能使用Python完成数据处理的各个环节。
《Python绝技:运用Python成为顶级数据工程师》的第1章和第2章,简要说明了数据处理领域的基本概念,旨在让读者对数据处理工作有宏观的了解。第3章~第5章,主要讲述数据分析理论。笔者按照难易程度,将其划分成三个部分,即基础分析、数据挖掘和深度学习。第6章针对大数据分析,介绍了在工程实施过程中需要用到的工程组件和架构模式,并以一个具体的案例说明整个数据工程的实施流程。
《Python绝技:运用Python成为顶级数据工程师》适合以下读者阅读:①对人工智能和云计算感兴趣的读者;②刚进入数据处理领域的IT工程师;③希望从宏观上梳理数据处理知识体系的读者;④用Excel、SPSS、Python做过数据分析的数据分析师;⑤应用过HDFS、Kafka等大数据组件的IT工程师。
《Python绝技:运用Python成为顶级数据工程师》能够完稿,得益于外界诸多的帮助与指导。感谢数据领域的先驱者GeoffreyHinton、YannLeCun、JeffDean等,他们的著作是数据时代最重要的理论依据;感谢在百度工作中遇到杨振宇、李华青、王珉然、陈合等许多优秀的同事和领导,在和他们一起试错、交流的过程中,让我取得巨大的进步;感谢《Python绝技:运用Python成为顶级数据工程师》的编辑刘皎,在她不厌其烦地督促下,《Python绝技:运用Python成为顶级数据工程师》才从凌乱的只言片语中编辑成书;特别感谢女友孙万兴,在《Python绝技:运用Python成为顶级数据工程师》的撰写过程中给予的谅解与支持。