资源详情

编程不难(全彩图解 + 微课 + Python编程)(鸢尾花数学大系:从加减乘除到机器学习)

编程不难(全彩图解 + 微课 + Python编程)(鸢尾花数学大系:从加减乘除到机器学习)-电子书下载


作者: 姜伟生
出版社: 清华大学出版社
出版年: 2024-5-1
页数: 662
定价: 268元
装帧: 精装
ISBN: 9787302660330

下载次数:9


本站推荐

编程不难(全彩图解 + 微课 + Python编程)(鸢尾花数学大系:从加减乘除到机器学习)

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录
本书是“鸢尾花数学大系—从加减乘除到机器学习”丛书的第一册,也是“编程”板块的第一册, 着重介绍如何零基础入门学 Python 编程。虽然本书主要讲解 Python 编程,但是也离不开数学。本书尽量 避免讲解数学概念公式,而且用图形和近乎口语化的语言描述程序设计、数据分析、机器学习背后常用的 数学思想。
本书分为预备、语法、绘图、数组、数据、数学、机器学习、应用八大板块, 共 36 章, 内容“跨度”极大! 从 Python 基本编程语法,到基本可视化工具,再到各种数据操作工具,还介绍常用 Python 实现的各种复 杂数学运算,进入数据分析和机器学习之后,还讲解如何搭建应用 App。我们可以把本书看作从 Python 编 程角度对“鸢尾花书”全系内容的总览。
本书提供代码示例和讲解,而且提供习题,每章还配套 Jupyter Notebook 代码文件(Jupyter Notebook 不是可有可无的,而是学习生态的关键一环, “鸢尾花书”强调在 JupyterLab 自主探究学习才能提高大家 编程技能)。本书配套微课也主要以配套 Jupyter Notebooks 为核心,希望读者边看视频,边动手练习。
本书读者群包括所有试图用编程解决问题的朋友,尤其适用于初级程序员进阶、高级数据分析师、机器学习开发者。
姜伟生 博士 FRM。
勤奋的小镇做题家,热爱知识可视化和开源分享。自2022年8月开始,在GitHub上开源“鸢尾花书”学习资源,截至2024年5月,已经分享5000多页PDF、5000多幅矢量图、约3000个代码文件,全球读者数以万计,GitHub全球排名TOP119(截止2024年4月19)。
目录
绪论?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????1

第1章聊聊“巨蟒” 9
1.1Python?巨蟒? 10
1.2Python和可视化有什么关系? 14
1.3Python和数学有什么关系? 14
1.4Python和机器学习有什么关系? 20
1.5相信“反复+精进”的力量! 21
第2章安装使用Anaconda 29
2.1集成开发环境 30
2.2如何安装Anaconda? 31
2.3测试JupyterLab 33
2.4查看Python第三方库版本号 35
2.5安装、更新、卸载Python第三方库 38
第3章JupyterLa

,用起来! 41
3.1什么是JupyterLab? 42
3.2使用JupyterLab:立刻用起来 43
3.3快捷键:这一章可能最有用的内容 48
3.4什么是LaTeX? 51
3.5字母和符号 52
3.6用LaTex写公式 57

第4章Python语法,边学边用 63
4.1Python也有语法? 64
4.2注释:不被执行,却很重要 66
4.3缩进:四个空格,标识代码块 69
4.4变量:一个什么都能装的箱子 72
4.5使用import导入包 74
4.6Pythonic:Python风格 76
第5章Python数据类型 77
5.1数据类型有哪些? 78
5.2数字:整数、浮点数、复数 79
5.3字符串:用引号定义的文本 81
5.4列表:存储多个元素的序列 88
5.5其他数据类型:元组、集合、字典 94
5.6矩阵、向量:线性代数概念 95
第6章Python常见运算 101
6.1几类运算符 102
6.2算术运算符 103
6.3比较运算符 105
6.4逻辑运算符 106
6.5赋值运算符 107
6.6成员运算符 108
6.7身份运算符 108
6.8优先级 109
6.9聊聊math库 109
6.10聊聊random库和statistics库 113
第7章Python控制结构 123
7.1什么是控制结构? 124
7.2条件语句:相当于开关 126
7.3for循环语句 129
7.4列表生成式 138
7.5迭代器itertools 143

第8章Python函数 147
8.1什么是Python函数? 148
8.2自定义函数 152
8.3更多自定义线性代数函数 160
8.4递归函数:自己反复调用自己 164
8.5位置参数、关键字参数 165
8.6使用*args和**kwargs 167
8.7匿名函数 169
8.8构造模块、库 170
8.9模仿别人的代码 171
第9章Python面向对象编程 175
9.1什么是面向对象编程? 176
9.2定义属性 178
9.3定义方法 180
9.4装饰器 181
9.5父类、子类 182

第10章聊聊可视化???????????????????????????????????????????????????????????????????????????????????????????????187

10.1解剖一幅图 188
10.2使用Matplotlib绘制线图 190
10.3图片美化 198
10.4使用Plotly绘制线图 202
第11章二维和三维可视化 209
11.1二维可视化方案 210
11.2二维散点图 210
11.3二维等高线图 216
11.4热图 222
11.5三维可视化方案 225
11.6三维散点图 229
11.7三维线图 231
11.8三维网格曲面图 232
11.9三维等高线图 234
11.10箭头图 235


第12章Seaborn可视化数据??????????????????????????????????????????????????????????????????????????????????239
12.1Seaborn:统计可视化利器 240
12.2一元特征数据 241
12.3二元特征数据 252
12.4多元特征数据 257

第13章聊聊NumPy???????????????????????????????????????????????????????????????????????????????????????????????265
13.1什么是NumPy? 266
13.2手动构造数组 267
13.3生成数列 273
13.4生成网格数据 274
13.5特殊数组 276
13.6随机数 276
13.7数组导入、导出 280
第14章NumPy索引和切片???????????????????????????????????????????????????????????????????????????????????283
14.1什么是索引、切片? 284
14.2一维数组索引、切片 284
14.3视图vs副本 287
14.4二维数组索引、切片 289
第15章NumPy常见运算???????????????????????????????????????????????????????????????????????????????????????293
15.1加、减、乘、除、乘幂 294
15.2广播原则 295
15.3统计运算 298
15.4常见函数 301
第16章NumPy数组规整???????????????????????????????????????????????????????????????????????????????????????307
16.1从reshape()函数说起 309
16.2一维数组→行向量、列向量 310
16.3一维数组→二维数组 311
16.4一维数组→三维数组 312
16.5视图vs副本 312
16.6转置 313
16.7扁平化 314
16.8旋转、翻转 314
16.9堆叠 315
16.10重复 317
16.11分块矩阵 318
第17章NumPy线性代数 321
17.1NumPy的linalg模块 322
17.2拆解矩阵 323
17.3向量运算 325
17.4矩阵运算 329
17.5几个常见矩阵分解 333
第18章NumPy爱因斯坦求和约定 337
18.1什么是爱因斯坦求和约定? 338
18.2二维数组求和 340
18.3转置 341
18.4矩阵乘法 343
18.5一维数组 345
18.6方阵 346
18.7统计运算 347

第19章聊聊Pandas???????????????????????????????????????????????????????????????????????????????????????????????351
19.1什么是Pandas? 353
19.2创建数据帧:从字典、列表、NumPy数组 354
19.3数据帧操作:以鸢尾花数据为例 357
19.4四则运算:各列之间 363
19.5统计运算:聚合、降维、压缩、折叠 365
19.6时间序列:按时间顺序排列的数据 368
第20章Pandas快速可视化??????????????????????????????????????????????????????????????????????????????????373
20.1Pandas的可视化功能 374
20.2线图:pandas.DataFrame.plot() 375
20.3散点图 378
20.4柱状图 381
20.5箱型图 382
20.6直方图和核密度估计曲线 382
第21章Pandas索引和切片???????????????????????????????????????????????????????????????????????????????????385
21.1数据帧的索引和切片???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????386
21.2提取特定列 387
21.3提取特定行 388
21.4提取特定元素 388
21.5条件索引 389
21.6多层索引 391
21.7时间序列数据帧索引和切片 395
第22章Pandas规整??????????????????????????????????????????????????????????????????????????????????????????????399
22.1Pandas数据帧规整 400
22.2拼接:pandas.concat() 401
22.3合并:pandas.join() 402
22.4合并:pandas.merge() 405
22.5长格式转换为宽格式:pivot() 409
22.6宽格式转换为长格式:stack() 411
22.7长格式转换为宽格式:unstack() 414
22.8分组聚合:groupby() 415
22.9自定义操作:apply() 417
第23章Plotly统计可视化?????????????????????????????????????????????????????????????????????????????????????421
23.1Plotly常见可视化方案:以鸢尾花数据为例 422
23.2增加一组分类标签 424
23.3两组标签:两个维度 428
23.4可视化比例:柱状图、饼图 432
23.5钻取:多个层次之间的导航和探索 434
23.6太阳爆炸图:展示层次结构 438
23.7增加第三切割维度 440
23.8平均值的钻取:全集vs子集 447
第24章Pandas时间序列数据??????????????????????????????????????????????????????????????????????????????453
24.1什么是时间序列? 454
24.2缺失值:用NaN表示 457
24.3移动平均:一种平滑技术 460
24.4收益率:相对涨跌 462
24.5统计分析:均值、波动率等 464
24.6相关性:也可以随时间变化 474

第25章SymPy符号运算 481
25.1什么是SymPy? 482
25.2代数 482
25.3线性代数 487
第26章SciPy数学运算??????????????????????????????????????????????????????????????????????????????????????????499
26.1什么是SciPy? 500
26.2距离 502
26.3插值 507
26.4高斯分布 510
第27章Statsmodels统计模型??????????????????????????????????????????????????????????????????????????????517
27.1什么是Statsmodels? 518
27.2二维散点图+椭圆 519
27.3最小二乘线性回归 522
27.4主成分分析 524
27.5概率密度估计:高斯KDE 535

第28章Scikit-Learn机器学习 545
28.1什么是机器学习? 546
28.2有标签数据、无标签数据 549
28.3回归:找到自变量与因变量关系 550
28.4降维:降低数据维度,提取主要特征 551
28.5分类:针对有标签数据 552
28.6聚类:针对无标签数据 553
28.7什么是Scikit-Learn? 554
第29章Scikit-Learn数据 555
29.1Scikit-Learn中有关数据的工具 557
29.2样本数据集 557
29.3生成样本数据 558
29.4特征缩放 561
29.5处理缺失值 563
29.6处理离群值 566
29.7训练集vs测试集 570
第30章Scikit-Learn回归 573
30.1聊聊回归 574
30.2一元线性回归 575
30.3二元线性回归 577
30.4多项式回归 579
30.5正则化:抑制过度拟合 584
第31章Scikit-Learn降维???????????????????????????????????????????????????????????????????????????????????????589
31.1降维 590
31.2主成分分析 591
31.3两特征PCA 595
31.4三特征PCA 601
第32章Scikit-Learn分类??????????????????????????????????????????????????????????????????????????????????????605
32.1什么是分类? 606
32.2k最近邻分类:近朱者赤,近墨者黑 607
32.3高斯朴素贝叶斯分类:贝叶斯定理的应用 611
32.4支持向量机:间隔最大化 613
32.5核技巧:数据映射到高维空间 616
第33章Scikit-Learn聚类??????????????????????????????????????????????????????????????????????????????????????619
33.1聚类 620
33.2K均值聚类 621
33.3高斯混合模型 624

第34章了解一下Spyder???????????????????????????????????????????????????????????????????????????????????????633
34.1什么是Spyder? 634
34.2Spyder用起来 637
34.3快捷键:这章可能最有用的内容 639
第35章Streamlit搭建Apps???????????????????????????????????????????????????????????????????????????????????641
35.1什么是Streamlit? 642
35.2显示 645
35.3可视化 646
35.4输入工具 647
35.5App布局 649
第36章Streamlit搭建机器学习Apps??????????????????????????????????????????????????????????????????653
36.1搭建应用App:编程+数学+可视化+机器学习 654
36.2一元高斯分布 654
36.3二元高斯分布 655
36.4三元高斯分布 656
36.5多项式回归 657
36.6主成分分析 657
36.7k最近邻分类 658
36.8支持向量机+高斯核 659
36.9高斯混合模型聚类 660