资深大数据专家多年实战经验总结,拒绝晦涩,开启大数据与机器学习妙趣之旅。以降低学习曲线和阅读难度为宗旨,系统讲解统计学、数据挖掘算法、实际应用案例、数据价值与变现,以及高级拓展技能,并清晰勾勒出大数据技术路线与产业蓝图。
本书共分18章。用通俗易懂的语言,结合大量案例与漫画,不枯燥,实用、接地气。
第1~5章,这部分是大数据入门所需的系统性知识,剖析大数据产业、数据与信息算法等的关系,妙解数学基础(排列组合、概率、统计与分布),以及指标化运营及体系构建。这部分补足读者的产业与相关概念认知,以及所需的数学知识。为下面的数据挖掘算法的理解与应用夯实基础。
第6~8章,这部分介绍数据挖掘基础知识与算法,讲解了与数据息息相关的信息论,重点讲解了:多维向量空间(向量和维度、矩阵及其计算、上卷和下钻);
回归(线性回归、残差分析、拟合相关问题);
聚类(K-Means算法、有趣模式、孤立点、层次与密度聚类,聚类的评估等);
分类(朴素贝叶斯、决策树归纳、随机森林、隐马尔科夫模型、SVM、遗传算法)。
第11~18章,这部分介绍生产应用与高级扩展。其中第11~15章介绍生产应用实践,涵盖关联分析、用户画像、推荐算法、文本挖掘、人工神经网络。这些也是工业界和学术界研究的热点。第16章讲解了著名的大数据框架及其安装与配置,如Hadoop、Spark、Cassandra、PrestoDB。第17章从速度与稳定性维度介绍了大数据系统的架构与调优。第18章则从数据运营、评估、展现与变现场景层面进行了解读。
附录部分给出了大数据平台运行可能需要的软件和库,以及群众如何看待炙手可热的大数据。
资深大数据专家多年实战经验总结,拒绝晦涩,开启大数据与机器学习妙趣之旅
以降低学习曲线和阅读难度为宗旨,重点讲解了统计学、数据挖掘算法、实际应用案例、数据价值与变现,以及高级拓展技能,清晰勾勒出大数据技术路线与产业蓝图
目前很多大中型企业都有数据分析岗位,尤其是和自己业务结合紧密的分析岗位。企业求贤若渴,而求职者对数据分析岗位望而却步。这就是当前大数据分析市场的尴尬。
原因有三:
●数学基础薄弱:很多应用中的统计学、概率学,成为学习中的巨大阻力。
●学习成本高:数学和相关的算法过于抽象,布道者往往忽略了很多解释性的内容,使得读者学习起来费时费力。
●变现不确定:这也是数据分析人员的尴尬。个人对数据的加工增值以及变现有多大的贡献难以度量。
本书通俗易懂,有高中数学基础即可看懂,同时结合大量案例与漫画,将高度抽象的数学、算法与应用,与现实生活中的案例和事件一一做了关联,将源自生活的抽象还原出来,帮助读者理解后,又带领大家将这些抽象的规律与算法应用于实践,贴合读者需求。同时,本书不是割裂讲解大数据与机器学习的算法和应用,还讲解了其生态环境与关联内容,让读者更全面地知晓渊源与未来,是系统学习大数据与机器学习的不二之选:
●大数据产业解读——剖析产业情况,人才供需、职业选择与相应“武器”库;
●步入大数据之门——解读数据、信息、算法,以及与大数据应用的关系;
●大数据基石——结合大量示例和漫画,趣味讲解大数据算法应掌握的数学知识,无障碍学习;
●大数据算法奥义——信息论、向量空间、回归、聚类、分类等*为核心的算法的释义与应用,举重若轻;
●大数据热门应用——关联分析、用户画像、推荐算法、文本挖掘、人工神经网络等*实用、*需要了解的应用的原理与实现;
●大数据主流框架——介绍了主流的大数据框架(Hadoop、Spark和Cassandra);
●系统架构与调优——从速度与稳定性方面给出调优的一般性“内功心法”;
●大数据价值与变现——从运营指标、AB测试、大数据价值与变现场景多维度解读。
为什么要写这本书
不知从何时开始我们已周身没入大数据时代的潮流,不知不觉被卷入了大数据时代。
无论是每天上网看网页、聊QQ、聊微信,或者登录银行、网购、买票,或者出行、投宿,甚至是出入任何公众场合、驾车、用水用电……我们无时无刻不在生产着各种数据。而同时我们也在消费着其他人生产的数据,我们使用的众多家电产品,每一个设计细节都融入了设计者对用户体验数据的调查与分析;我们使用的每一部手机、每一台电脑,每一个部件的产出都融入着多得无法想象的指标数据控制下的生产与监控;我们访问的每一个网页、每一个软件,每一次享受到的贴心的产品改动和服务的升级,无不浸透着无数的数据汇集与精细的分析和反馈。这是一场慢慢到来的、贯穿所有产业的革命,这是一次润物细无声的各行业精耕细作的开端。
不管我们是不是愿意,不管我们有没有意识到,我们现在已经身处大数据时代的奇点,而未来要迎接的是大数据奇点爆炸给我们带来的冲击力。我们需要力量来驾驭浪里的航船,我们需要乘风破浪前进的动力。
在这一次远航中,我们不必担心自己的能力水平无法感知数据这种磅礴之力的气魄,不必担心晦涩难懂的公式定理会让我们感到阻力。
请相信我,这是一本通俗易懂的大数据图书,这是一本轻松愉悦的数据挖掘和机器学习的读本,这是一本没有门槛的机器学习实战手册。让我们一起扬帆远航吧!
本书特色
从行为脉络来看,本书基本上是从数据统计、数据指标理解、数据模型、聚类/分类与机器学习、数据应用、大数据框架补充知识,以及扩展讨论这样的角度来层层深入完成的。
这种方式会给读者比较好的带入感,让大家——尤其是不擅长数学的读者降低对大数据与机器学习算法的恐惧感。如果读者朋友对排列组合、统计分布这些基础知识比较了解,完全可以考虑跳过这些部分直接去读后面更感兴趣的内容。
为了调节阅读气氛,我们还尝试加入了一些漫画插图。为了让读者朋友能够更快地进行实践,我们几乎在每一个算法讲解后都配有Python或者SQL语言的实现部分。相信这些能够帮助大家更快、更轻松地阅读本书。
读者对象
(1)对大数据感兴趣但是完全不了解的技术人员。
(2)对机器学习和数据挖掘比较感兴趣的技术人员。
(3)大数据初级从业人员。
如何阅读本书
本书一共分为18章。
第1章~第5章为入门所需基础知识及对数据指标运营的阐述。
第6章~第10章是对数据挖掘基础知识与算法的介绍。
第11章~第18章为生产应用与高级扩展。
其中,第1章~第15章正文内容,以及第17章、第18章的正文内容由高扬编写。
全书所有的Python代码由卫峥编写与补充整理。
第16章、附录全部由尹会生编写。
全书所有的漫画插画由万娟创作完成。
勘误和支持
由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,欢迎扫描下方的二维码,关注“奇点大数据”微信公众号和我们进行互动讨论。关注大数据尖端技术发展,关注“奇点大数据”。
同时,你也可以通过邮箱77232517@qq.com联系到我,期待能够得到你的真挚反馈,在技术之路上互勉共进。
致谢
特别感谢:万娟女士为本书做的漫画插画内容。
万娟女士现任深圳星盘科技有限公司UI设计师,是我在多年工作中遇到过的最敬业的UI设计师之一,在2013年一起合作的过程中给我留下了非常深刻的印象。
她多次参加全国和国际艺术比赛,曾获得全国青少年绘画大赛铜奖,中国–新加坡国际青少年绘画比赛优秀奖,以及全国大学生工业设计大赛三等奖。从小酷爱绘画,理想是开一个属于自己的画室。
她给我留下的最深刻的印象用两个词可以描述:一个词是“敬业”,不管是在过去共事期间的合作,还是在为本书创作插画的过程中,为了保证进度带病坚持创作,都让我非常感动;另一个词是“唯美”,不仅人长得美,作品设计风格也透出现代与时尚的气息。
此外还要对所有支持和关心本书成书的各界朋友表示由衷的感谢:
衷心感谢北京邮电大学软件学院杨谈老师对本书的审校工作。
衷心感谢腾讯公司数据分析师彭瑶女士对本书的审校工作。
衷心感谢重庆工商大学黄辉老师、杨艺老师对本书的大力支持。
衷心感谢机械工业出版社华章公司对本书的支持与帮助。
衷心感谢“奇点大数据”微信群友对本书的关注与支持。
高扬
高扬,金山软件西山居资深大数据架构师与大数据专家,有多年编程经验(多年日本和澳洲工作经验)和多年大数据架构设计与数据分析、处理经验,目前负责西山居的大数据产品市场战略与产品战略。专注于大数据系统架构以及变现研究。擅长数据挖掘、数据建模、关系型数据库应用以及大数据框架Hadoop、Spark、Cassandra、Prestodb等的应用。负责西山居紫霞系统——大数据日志处理系统的系统架构与设计工作。
卫峥,西山居软件架构师,多年的软件开发和架构经验,精通C/C++、Python、Golang、JavaScript等多门编程语言,近几年专注于数据处理、机器学算法的研究、应用与服务研发。曾在新浪网平台架构部负责音视频转码平台的架构和研发工作,为新浪微博,新浪微盘,秒拍等提供视频在线观看服务。51CTO讲师。
尹会生,西山居高级系统工程师。曾任新浪研发中心技术经理、北京尚观科技高级讲师。在新浪广告、微博广告、西山居大数据平台架构中担任关键角色。擅长企业集群解决方案和内核调优经验,并提供高性能和高可用性集群咨询服务。近4年专注于Hadoop集群、Spark集群在推荐系统和BI相关领域的解决方案。
万娟,星盘科技有限公司UI设计师平面,对VI设计、包装、海报设计等、商业插画、App交互、网页设计等有独到认识。多次参与智能家居和智能音箱等项目的UI设计。多次参加国际和国内艺术和工业设计比赛,并获奖。从小酷爱绘画,理想是开一个属于自己的画室。
第1章大数据产业1
1.1大数据产业现状1
1.2对大数据产业的理解2
1.3大数据人才3
1.3.1供需失衡3
1.3.2人才方向3
1.3.3环节和工具5
1.3.4门槛障碍6
1.4小结8
第2章步入数据之门9
2.1什么是数据9
2.2什么是信息10
2.3什么是算法12
2.4统计、概率和数据挖掘13
2.5什么是商业智能13
2.6小结14
第3章排列组合与古典概型15
3.1排列组合的概念16
3.1.1公平的决断——扔硬币16
3.1.2非古典概型17
3.2排列组合的应用示例18
3.2.1双色球彩票18
3.2.2购车摇号20
3.2.3德州扑克21
3.3小结25
第4章统计与分布27
4.1加和值、平均值和标准差27
4.1.1加和值28
4.1.2平均值29
4.1.3标准差30
4.2加权均值32
4.2.1混合物定价32
4.2.2决策权衡34
4.3众数、中位数35
4.3.1众数36
4.3.2中位数37
4.4欧氏距离37
4.5曼哈顿距离39
4.6同比和环比41
4.7抽样43
4.8高斯分布45
4.9泊松分布49
4.10伯努利分布52
4.11小结54
第5章指标55
5.1什么是指标55
5.2指标化运营58
5.2.1指标的选择58
5.2.2指标体系的构建62
5.3小结63
第6章信息论64
6.1信息的定义64
6.2信息量65
6.2.1信息量的计算65
6.2.2信息量的理解66
6.3香农公式68
6.4熵70
6.4.1热力熵70
6.4.2信息熵72
6.5小结75
第7章多维向量空间76
7.1向量和维度76
7.1.1信息冗余77
7.1.2维度79
7.2矩阵和矩阵计算80
7.3数据立方体83
7.4上卷和下钻85
7.5小结86
第8章回归87
8.1线性回归87
8.2拟合88
8.3残差分析94
8.4过拟合99
8.5欠拟合100
8.6曲线拟合转化为线性拟合101
8.7小结104
第9章聚类105
9.1K-Means算法106
9.2有趣模式109
9.3孤立点110
9.4层次聚类110
9.5密度聚类113
9.6聚类评估116
9.6.1聚类趋势117
9.6.2簇数确定119
9.6.3测定聚类质量121
9.7小结124
第10章分类125
10.1朴素贝叶斯126
10.1.1天气的预测128
10.1.2疾病的预测130
10.1.3小结132
10.2决策树归纳133
10.2.1样本收集135
10.2.2信息增益136
10.2.3连续型变量137
10.3随机森林140
10.4隐马尔可夫模型141
10.4.1维特比算法144
10.4.2前向算法151
10.5支持向量机SVM154
10.5.1年龄和好坏154
10.5.2“下刀”不容易157
10.5.3距离有多远158
10.5.4N维度空间中的距离159
10.5.5超平面怎么画160
10.5.6分不开怎么办160
10.5.7示例163
10.5.8小结164
10.6遗传算法164
10.6.1进化过程164
10.6.2算法过程165
10.6.3背包问题165
10.6.4极大值问题173
10.7小结181
第11章关联分析183
11.1频繁模式和Apriori算法184
11.1.1频繁模式184
11.1.2支持度和置信度185
11.1.3经典的Apriori算法187
11.1.4求出所有频繁模式190
11.2关联分析与相关性分析192
11.3稀有模式和负模式193
11.4小结194
第12章用户画像195
12.1标签195
12.2画像的方法196
12.2.1结构化标签196
12.2.2非结构化标签198
12.3利用用户画像203
12.3.1割裂型用户画像203
12.3.2紧密型用户画像204
12.3.3到底“像不像”204
12.4小结205
第13章推荐算法206
13.1推荐思路206
13.1.1贝叶斯分类206
13.1.2利用搜索记录207
13.2User-basedCF209
13.3Item-basedCF211
13.4优化问题215
13.5小结217
第14章文本挖掘218
14.1文本挖掘的领域218
14.2文本分类219
14.2.1Rocchio算法220
14.2.2朴素贝叶斯算法223
14.2.3K-近邻算法225
14.2.4支持向量机SVM算法226
14.3小结227
第15章人工神经网络228
15.1人的神经网络228
15.1.1神经网络结构229
15.1.2结构模拟230
15.1.3训练与工作231
15.2FANN库简介233
15.3常见的神经网络235
15.4BP神经网络235
15.4.1结构和原理236
15.4.2训练过程237
15.4.3过程解释240
15.4.4示例240
15.5玻尔兹曼机244
15.5.1退火模型244
15.5.2玻尔兹曼机245
15.6卷积神经网络247
15.6.1卷积248
15.6.2图像识别249
15.7深度学习255
15.8小结256
第16章大数据框架简介257
16.1著名的大数据框架257
16.2Hadoop框架258
16.2.1MapReduce原理259
16.2.2安装Hadoop261
16.2.3经典的WordCount264
16.3Spark框架269
16.3.1安装Spark270
16.3.2使用Scala计算WordCount271
16.4分布式列存储框架272
16.5PrestoDB——神奇的CLI273
16.5.1Presto为什么那么快273
16.5.2安装Presto274
16.6小结277
第17章系统架构和调优278
17.1速度——资源的配置278
17.1.1思路一:逻辑层面的优化279
17.1.2思路二:容器层面的优化279
17.1.3思路三:存储结构层面的优化280
17.1.4思路四:环节层面的优化280
17.1.5资源不足281
17.2稳定——资源的可用282
17.2.1借助云服务282
17.2.2锁分散282
17.2.3排队283
17.2.4谨防“雪崩”283
17.3小结285
第18章数据解读与数据的价值286
18.1运营指标286
18.1.1互联网类型公司常用指标287
18.1.2注意事项288
18.2AB测试289
18.2.1网页测试290
18.2.2方案测试290
18.2.3灰度发布292
18.2.4注意事项293
18.3数据可视化295
18.3.1图表295
18.3.2表格299
18.4多维度——大数据的灵魂299
18.4.1多大算大299
18.4.2大数据网络300
18.4.3去中心化才能活跃301
18.4.4数据会过剩吗302
18.5数据变现的场景303
18.5.1数据价值的衡量的讨论303
18.5.2场景1:征信数据307
18.5.3场景2:宏观数据308
18.5.4场景3:画像数据309
18.6小结310
附录AVMwareWorkstation的安装311
附录BCentOS虚拟机的安装方法314
附录CPython语言简介318
附录DScikit-learn库简介323
附录EFANNforPython安装324
附录F群众眼中的大数据325
写作花絮327
参考文献329