新書推薦:
《
村上春树·旅(一本充满村上元素的旅行指南,带你寻访电影《挪威的森林》拍摄地,全彩印刷;200余幅摄影作品)
》
售價:NT$
301.0
《
智能驾驶硬件在环仿真测试与实践
》
售價:NT$
709.0
《
都铎王朝时期英格兰海事法庭研究
》
售價:NT$
398.0
《
中年成长:突破人生瓶颈的心理自助方案
》
售價:NT$
296.0
《
维奥莱塔:一个女人的一生
》
售價:NT$
347.0
《
商业银行担保管理实务全指引
》
售價:NT$
658.0
《
信风万里:17世纪耶稣会中国年信研究(全二册)
》
售價:NT$
811.0
《
青铜之美 国宝里的中式美学
》
售價:NT$
806.0
|
編輯推薦: |
这是一本前所未见的数据入门书,颜值极高。姜伟生博士自谦“小镇做题家”,实际上他是国际著名金融企业的金融科技专家。很难想象一位以“术数”为业的金融家具备如此彻底的分享动机,同时,姜博士有着卓越的艺术品位和设计能力,不仅承担了这套书的精深内容,更承担了全系图书的整体设计。希望读者从枯燥的常规数学书中解脱出来,赏心悦目地慢慢走入缤纷的AI宇宙。
|
內容簡介: |
《数据有道 : 数据分析 图论与网络 微课 Python编程》是“鸢尾花数学大系—从加减乘除到机器学习”丛书的第三板块 ( 实践板块 ) 中的一本关于数据 科学的分册。“实践”这个板块,我们将会把学到的编程、可视化, 特别是数学工具应用到具体的数据科学、 机器学习算法中,并在实践中加深对这些工具的理解。
《数据有道 : 数据分析 图论与网络 微课 Python编程》可以归纳为 7 大板块—数据说、数据处理、时间数据、图论基础、图的分析、图与矩阵、图论实践。 这 7 个板块 ( 共 25 章内容 ) 都紧紧围绕一个主题—数据!
《数据有道 : 数据分析 图论与网络 微课 Python编程》以数据为名,以好奇心和疑问为驱动,主动使用“编程 可视化 数学”工具进行探索。《数据有道 : 数据分析 图论与网络 微课 Python编程》将 会回顾鸢尾花书前五本主要的工具,让大家对很多概念从似懂非懂变成如数家珍;同时,我们还会掌握更 多工具,用来扩展大家的知识网络。
依照惯例,《数据有道 : 数据分析 图论与网络 微课 Python编程》提供代码和视频教学。
《数据有道 : 数据分析 图论与网络 微课 Python编程》读者群包括数据科学从业者、大数据从业者、高级数据分析师、机器学习开发者、计算机图形学 研究者等。
|
關於作者: |
姜伟生 博士 FRM。
勤奋的小镇做题家,热爱知识可视化和开源分享。自2022年8月开始,在GitHub上开源“鸢尾花书”学习资源,截至2024年5月,已经分享5000多页PDF、5000多幅矢量图、约3000个代码文件,全球读者数以万计,GitHub全球排名TOP100。
|
目錄:
|
绪论 ...................................? 1
第一板块 综述...............5
第 1章 万物皆数 .............................. 7
1.1 万物皆数:从矩阵说起 8
1.2 数据分类:定量 ( 连续、离散 ) 、定性 ( 定类、定序 ) 14
1.3 机器学:四大类算法 17
1.4 征工程:提取、转换、构建数据 21
第2板块 数据处理...............23
第 2章 缺失值 ................................ 25
2.1 是不是缺了几个数? 26
2.2 可视化缺失值位置 30
2.3 处理缺失值:删除 34
2.4 单变量补 37
2.5 k 近邻补 39
2.6 多变量补 41
第 3章 离群值 ................................ 43
3.1 这几个数有点不合群? 44
3.2 直方图:单一征分布 46
3.3 散点图:成对征分布 49
3.4 QQ 图:分位数 - 分位数 51
3.5 箱型图:上界、下界之外样本 54
3.6 Z 分数:样本数据标准化 55
3.7 马氏距离和其他方法 57
第4章 数据转换 63
4.1 数据转换 64
4.2 中心化:去均值 65
4.3 标准化:Z 分数 69
4.4 归一化:取值在 0 和 1 之间 71
4.5 广义幂转换 72
4.6 经验累积分布函数 74
4.7 值 79
第 5章 数据距离 91
5.1 怎么又聊距离? 92
5.2 欧氏距离:常见的距离 94
5.3 标准化欧氏距离:考虑标准差 96
5.4 马氏距离:考虑标准差和相关性 99
5.5 城市街区距离:L1 范数 101
5.6 切比雪夫距离:L ∞范数 102
5.7 闵氏距离:Lp 范数 103
5.8 距离与近度 104
5.9 成对距离、成对近度 108
5.10 协方差矩阵,为什么无处不在? 110
第3板块 时间数据...............127
第6 时间数据 129
6.1 时间序列数据 130
6.2 处理时间序列缺失值 133
6.3 从时间数据中发现趋势 135
6.4 时间序列分解 138
6.5 时间数据讲故事 143
第 7章 移动窗口 157
7.1 移动窗口 158
7.2 移动波动率 162
7.3 相关性 165
7.4 回归系数 166
7.5 指数加权移动平均 167
7.6 EWMA 波动率 169
第 8章 随机过程入门 .........................? 175
8.1 布朗运动:来自花粉颗粒无规则运动 176
8.2 无漂移布朗运动 180
8.3 漂移布朗运动:确定 + 随机 182
8.4 具有一定相关性的布朗运动 185
8.5 几何布朗运动 188
8.6 股模拟 190
8.7 相关股模拟 193
第 9章 高斯过程 ...........................? 197
9.1 高斯过程原理 198
9.2 协方差矩阵 202
9.3 分块协方差矩阵 206
9.4 后验 206
9.5 噪声 210
9.6 核函数 211
第4板块 图论基础...............223
第 10章 图论入门 225
10.1 什么是图? 226
10.2 图和几何 233
10.3 图和矩阵 234
10.4 图和机器学 236
10.5 NetworkX 241
第 11章 无向图 ............................. 243
11.1 无向图:边没有方向 244
11.2 自环:节点到自身的边 248
11.3 同构:具有等关系的图 250
11.4 多图:同一对节点存在不止一条边 253
11.5 子图:图的一分 254
11.6 有权图:边自带权重 256
第 12章 有向图 ............................. 261
12.1 有向图:边有方向 .....................................? 262
12.2 出度、入度 265
12.3 邻居:上家、下家 266
12.4 有向多图:平行边 267
12.5 三元组:三个节点的 16 种关系 269
12.6 NetworkX 创建图 273
第 13章 图的可视化 ........................ 281
13.1 节点位置 282
13.2 节点装饰 286
13.3 边装饰 289
13.4 分别绘制节点和边 291
第5板块 图的分析...............299
第 14章 常见图 ...........................? 301
14.1 常见图类型 302
14.2 完全图 303
14.3 二分图 307
14.4 正则图 310
14.5 树 311
14.6 柏拉图图 315
第 15章 从路径说起 ........................ 321
15.1 通道、迹、路径、回路、环 322
15.2 常见路径问题 333
15.3 短路径问题 334
15.4 欧拉路径 339
15.5 哈密尔顿路径 339
15.6 推销员问题 340
第 16章 连通性 ...........................? 343
16.1 连通性 344
16.2 连通分量 349
16.3 强连通、弱连通:有向图 352
16.4 桥 353
第 17章 图的分析 ............................ 357
17.1 度分析 358
17.2 距离度量 363
17.3 中心性 372
17.4 图的社区 380
第6板块 图与矩阵 ............... 383
第 18章 从图到矩阵 .........................? 385
18.1 无向图到邻接矩阵 386
18.2 有向图到邻接矩阵 397
18.3 传球问题 399
18.4 邻接矩阵的矩阵乘法 406
18.5 征向量中心性 409
第 19章 成对度量矩阵 ...........................? 413
19.1 成对距离矩阵 414
19.2 近度矩阵:高斯核函数 420
19.3 相关性系数矩阵 424
第 20章 转移矩阵 ..........................? 429
20.1 再看邻接矩阵 430
20.2 转移矩阵:可能性 435
20.3 有向图 436
20.4 马尔可夫链 442
第 21章 其他矩阵 ..........................? 449
21.1 图中常见矩阵 450
21.2 关联矩阵 450
21.3 度矩阵 462
21.4 拉普拉斯矩阵 464
第7板块 图论实践 ............................ 475
第 22章 树 ................................? 477
22.1 树 478
22.2 近共同祖先 484
22.3 小生成树 485
22.4 决策树:分类算法 487
22.5 层次聚类 490
22.6 树形图:聚类算法 496
第 23章 数据聚类 ..........................? 499
23.1 数据聚类 500
23.2 距离矩阵 502
23.3 相似度 504
23.4 无向图 506
23.5 拉普拉斯矩阵 507
23.6 征值分解 509
第 24章 PageRank算法 ........................... 513
24.1 PageRank 算法 514
24.2 线性方程组 522
24.3 幂迭代 526
第 25章 社交网络分析 ...........................? 533
25.1 社交网络分析 534
25.2 度分析 536
25.3 图距离 538
25.4 中心性 542
25.5 社区结构 547
|
內容試閱:
|
感谢首先感谢大家的信任。作者仅仅是在学习应用数学科学和机器学习算法时,多读了几本数学书,多做了一些思考和知识 整理而已。知者不言,言者不知。知者不博,博者不知。由于作者水平有限,斗胆把自己有限所学所 思与大家分享,作者权当无知者无畏。希望大家在 B 站视频下方和 GitHub 多提意见,让“鸢尾花数 学大系—从加减乘除到机器学习 ”丛书成为作者和读者共同参与创作的优质作品。特别感谢清华大学出版社的栾大成老师。从选题策划、内容创作到装帧设计,栾老师事无巨细、 一路陪伴。每次与栾老师交流,都能感受到他对优质作品的追求、对知识分享的热情。 出来混总是要还的曾经,考试是我们学习数学的唯一动力。考试是头悬梁的绳,是锥刺股的锥。我们中的绝大多数 人从小到大为各种考试埋头题海,学数学味同嚼蜡,甚至对其恨之入骨。数学给我们带来了无尽的“折磨”。我们甚至恐惧数学,憎恨数学,恨不得一走出校门就把数学 抛之脑后,老死不相往来。可悲可笑的是,我们很多人可能会在毕业五年或十年以后,因为工作需要,不得不重新学习微积分、 线性代数、概率统计,悔恨当初没有学好数学,走了很多弯路,没能学以致用,甚至迁怒于教材和老师。这一切不能都怪数学,值得反思的是我们学习数学的方法和目的。 再给自己一个学数学的理由为考试而学数学,是被逼无奈的举动。而为数学而学数学,则又太过高尚而遥不可及。相信对于绝大部分人来说,数学是工具,是谋生手段,而不是目的。我们主动学数学,是想用数 学工具解决具体问题。现在,本丛书给大家带来一个学数学、用数学的全新动力—数据科学、机器学习。数据科学和机器学习已经深度融合到我们生活的方方面面,而数学正是开启未来大门的钥匙。不数据有道 5校 文前.indd 12024/8/26是所有人生来都握有一副好牌,但是掌握“数学 编程 机器学习 ”的知识绝对是王牌。这次,学习 数学不再是为了考试、分数、升学,而是为了投资时间,实现自我,面向未来。未来已来,你来不来?本丛书如何帮到你为了让大家学数学、用数学,甚至爱上数学,作者可谓颇费心机。在本丛书创作时,作者尽量克 服传统数学教材的各种弊端,让大家学习时有兴趣、看得懂、有思考、更自信、用得着。为此,本丛书在内容创作上突出以下几个特点。虽然本丛书标榜“从加减乘除到机器学习”,但是建议读者朋友们至少具备高中数学知识。如果 读者正在学习或曾经学过大学数学 (微积分、线性代数、概率统计) ,那么就更容易读懂本丛书了。聊聊数学数学是工具 。锤子是工具,剪刀是工具,数学也是工具。数学是思想 。数学是人类思想高度抽象的结晶。在其冷酷的外表之下,数学的内核实际上就是人 类朴素的思想。学习数学时,知其然,更要知其所以然。不要死记硬背公式、定理,理解背后的数学 思想才是关键。如果你能画一幅图,用大白话描述清楚一个公式、一则定理,这就说明你真正理解了它。数学是语言 。就好比世界各地不同种族有自己的语言,数学则是人类共同的语言和逻辑。数学这 门语言极其精准,高度抽象,放之四海而皆准。虽然我们中大多数人没有被数学“女神 ”选中,不能 为人类对数学认知开疆拓土,但是这丝毫不妨碍我们使用数学这门语言。就好比,我们不会成为语言 学家,但是我们完全可以使用母语和外语交流。数学是体系 。代数、几何、线性代数、微积分、概率统计、优化方法等,看似一个个孤岛,实际 上它们都是由数学网络连接起来的。建议大家在学习时,特别关注不同数学板块之间的联系,见树, 更要见林。数学是基石 。拿破仑曾说:“数学的日臻完善和国强民富息息相关。”数学是科学进步的根基, 是经济繁荣的支柱,是保家卫国的武器,是探索星辰大海的航船。数学是艺术 。数学和音乐、绘画、建筑一样,都是人类艺术体验。通过可视化工具,我们会在看 似枯燥的公式、定理、数据背后,发现数学之美。数学是历史,是人类共同记忆体。“历史是过去,又属于现在,同时在指引未来。”数学是人类 的集体学习思考,它把人的思维符号化、形式化,进而记录、积累、传播、创新、发展。从甲骨、泥II数据有道 5校 文前.indd 22024/8/26板、石板、竹简、木牍、纸草、羊皮卷、活字印刷字模、纸张,到数字媒介,这一过程持续了数千年, 至今绵延不息。数学是无穷无尽的想象力,是人类的好奇心,是自我挑战的毅力,是一个接着一个的问题,是看 似荒诞不经的猜想,是一次次胆大包天的批判性思考,是敢于站在前人肩膀之上的勇气,是孜孜不倦 地延展人类认知边界的不懈努力。家园、诗、远方诺瓦利斯曾说:“哲学就是怀着一种乡愁的冲动到处去寻找家园。”在纷繁复杂的尘世,数学纯粹得就像精神的世外桃源。数学是一束光、一条巷、一团不灭的希望、 一股磅礴的力量、一个值得寄托的避风港。打破陈腐的锁链,把功利心暂放一边,我们一道怀揣一份乡愁,心存些许诗意,伴随艺术维度, 投入数学张开的臂膀,驶入它色彩斑斓、变幻无穷的深港,感受久违的归属,一睹更美、更好的远方。数据有道 5校 文前.indd 3《数据有道》2024/8/26 19:25:30Acknowledgement致谢To my parents.谨以此书献给我的母亲和父亲。数据有道 5校 文前.indd 42024/8/26 使用本书丛书资源本系列丛书提供的配套资源有以下几个。数学家、科学家、 艺术家等语录配套Python代码完 成核心计算和制图引出本书或本系列 其他图书相关内容相关数学家生平贡 献介绍代码中核心Python 库函数和讲解用Streamlit开发制作App提醒读者格外注意 的知识点每章结束总结或升 华本章内容思维导图总结本章 脉络和核心内容介绍数学工具、机 器学习之间的联系每章配套微课视频 二维码本书核心参考文献和 推荐阅读文献数据有道 5校 文前.indd 52024/8/26微课视频本书配套微课视频均发布在B站—生姜DrGinger。微课视频是以“聊天 ”的方式,和大家探讨某个数学话题的重点内容,讲解代码中可能遇到的难 点,甚至侃侃历史,说说时事,聊聊生活。本书配套微课视频的目的是引导大家自主编程实践、探究式学习,并不是“照本宣科”。纸质图书上已经写得很清楚的内容,视频课程只会强调重点。需要说明的是,图书内容不是视频 的“逐字稿”。App开发本书配套多个用Streamlit开发的App ,用来展示数学动画、数据分析、机器学习算法。Streamlit是个开源的Python库,能够方便、快捷地搭建、部署交互型网页App 。Streamlit简单易 用,很受欢迎。Streamlit兼容目前主流的Python数据分析库,比如NumPy 、Pandas 、Scikit-Learn 、 PyTorch 、TensorFlow等。Streamlit还支持Plotly 、Bokeh 、Altair等交互可视化库。本书中很多App设计都采用Streamlit Plotly方案。此外,本书专门配套教学视频手把手和大家一 起做App。大家可以参考如下页面,更多地了解Streamlit:实践平台本书作者编写代码时采用的IDE (Integrated Development Environment) 是Spyder ,目的是给大家提 供简洁的Python代码文件。但是,建议大家采用JupyterLab或Jupyter Notebook作为“鸢尾花书 ”配套学习工具。简单来说,Jupyter集“浏览器 编程 文档 绘图 多媒体 发布 ”众多功能于一身,非常适 合探究式学习。运行Jupyter无需IDE ,只用到浏览器。Jupyter容易分块执行代码。Jupyter支持inline打印结果,直 接将结果图片打印在分块代码下方。Jupyter还支持很多其他语言,如R和Julia。使用Markdown文档编辑功能,可以在编程的同时写笔记,不必额外创建文档。在Jupyter中插入图 片和视频链接都很方便,此外还可以插入LaTex公式。对于长文档,可以用边栏目录查找特定内容。Jupyter发布功能很友好,方便输出为HTML 、PDF等格式文件。 Jupyter也并不完美, 目前尚待解决的问题有几个:VI数据有道 5校 文前.indd 62024/8/26注意,利用Altair或Plotly绘制的图像支持交互功能。对于自定义函数,目前没有快捷键直接跳转 到其定义。但是,很多开发者针对这些问题正在开发或已经发布相应插件,请大家留意。大家可以下载安装Anaconda ,将JupyterLab 、Spyder 、PyCharm等常用工具,都集成在Anaconda 中。下载Anaconda的地址为:JupyterLab探究式学习视频:代码文件本书的Python代码文件下载地址为:同时也在如下GitHub地址备份更新:Python代码文件会不定期修改,请大家注意更新。图书原始创作版本PDF(未经审校和修订,内容 和纸质版略有差异,方便移动终端碎片化学习以及对照代码)和纸质版本勘误也会上传到这个GitHub 账户。因此,建议大家注册GitHub账户,给书稿文件夹标星 (Star) 或分支克隆 (Fork)。考虑再三,作者还是决定不把代码全文印在纸质书中,以便减少篇幅,节约用纸。本书编程实践例子中主要使用“鸢尾花数据集”,数据来源是Scikit-Learn库、Seaborn库。要是 给“鸢尾花数学大系 ”起个昵称的话,作者乐见“鸢尾花书”。数据有道 5校 文前.indd 7《数据有道》2024/8/26 19:25:31学习指南大家可以根据自己的偏好制定学习步骤,本书推荐如下步骤。2下载本章配套Python 代码文件5尝试开发数学动画、 机器学习 App3观看微课视频,阅 读本章正文内容6翻阅本书推荐参 考文献学完每章后,大家可以在社交媒体、技术论坛上发布自己的Jupyter笔记,进一步听取朋友们的意 见,共同进步。这样做还可以提高自己学习的动力。另外,建议大家采用纸质书和电子书配合阅读学习。学习主阵地在纸质书上,学习基础课程最重 要的是沉下心来,认真阅读并记录笔记;电子书可以配合查看代码,相关实操性内容可以直接在电脑 上开发、运行、感受,还可以同步记录Jupyter笔记。强调一点:学习过程中遇到困难,要尝试自行研究解决,不要第一时间就去寻求他人帮助。意见和建议欢迎大家对“鸢尾花书 ”提意见和建议,丛书专属邮箱地址为:也欢迎大家在B站视频下方留言互动。
|
|