网络机器人吧社区

每月好书:Python大战机器学习--数据科学家的第一个小目标(人生苦短,我用Python;算法偷懒,我看笔记学霸版)

Python程序员 2018-12-05 11:42:38

和老规矩一样,本月月考的奖品就是《Python大战机器学习》两本。不知道什么是月考的同学,请补习下面文章:

每月送书活动来袭,免费哦!


规则就说到这里,下面是书籍介绍。


-----------割------------


Python大战机器学习:数据科学家的第一个小目标(人生苦短,我用Python;算法偷懒,我看笔记学霸版)


华校专 王正林 编著
ISBN 978-7-121-30894-9
2017年3月出版
定价:69.00元
452页 16开


编辑推荐


时下热门职业是数据科学家,而不是传统的信息科学家,也不是大数据工程师。


数据科学家必备的技能中,机器学习和Python 应该是位列前五的两项,学习本书,实现自己的第一个小目标。


内容提要


数据科学家是当下炙手可热的职业,机器学习则是他们的必备技能。机器学习在大数据分析中居于核心地位,在互联网、金融保险、制造业、零售业、医疗等产业领域发挥了越来越大的作用且日益受到关注。


Python 是最好最热门的编程语言之一,以简单易学、应用广泛、类库强大而著称,是实现机器学习算法的首选语言。


《Python大战机器学习:数据科学家的第一个小目标》以快速上手、四分理论六分实践为出发点,讲述机器学习的算法和Python 编程实践,采用“原理笔记精华+ 算法Python 实现+ 问题实例+ 代码实战+ 运行调参”的形式展开,理论与实践结合,算法原理与编程实战并重。


《Python大战机器学习:数据科学家的第一个小目标》从内容上分为13 章分4 篇展开:第一篇:机器学习基础篇(第1~6 章),讲述机器学习的基础算法,包括线性模型、决策树、贝叶斯分类、k 近邻法、数据降维、聚类和EM算法;第二篇:机器学习高级篇(第7~10 章),讲述经典而常用的高级机器学习算法,包括支持向量机、人工神经网络、半监督学习和集成学习;第三篇:机器学习工程篇(第11~12章),讲述机器学习工程中的实际技术,包括数据预处理,模型评估、选择与验证等;第四篇:Kaggle 实战篇(第13 章),讲述一个Kaggle 竞赛题目的实战。


《Python大战机器学习:数据科学家的第一个小目标》内容丰富、深入浅出,算法与代码双管齐下,无论你是新手还是有经验的读者,都能快速学到你想要的知识。本书可供为高等院校计算机、金融、信息、自动化及相关理工科专业的本科生或研究生使用,也可供对机器学习感兴趣的研究人员和工程技术人员阅读参考。


目录


第一篇机器学习基础篇
第 1章线性模型
1.1概述 2
1.2算法笔记精华 2
1.2.1普通线性回归 2
1.2.2广义线性模型 5
1.2.3逻辑回归 5
1.2.4线性判别分析 7
1.3 Python实战 10
1.3.1线性回归模型 11
1.3.2线性回归模型的正则化 12
1.3.3逻辑回归 22
1.3.4线性判别分析 26
第 2章决策树
2.1概述 30
2.2算法笔记精华 30
2.1决策树原理 30
2.2构建决策树的 3个步骤 31
CART算法 37
2.4连续值和缺失值的处理 42
2.3 Python实战 43
2.3.1回归决策树(DecisionTreeRegressor) 43
2.3.2分类决策树(DecisionTreeClassifir) 49
2.3.3决策图 54
第 3章贝叶斯分类器
3.1概述 55
3.2 算法笔记精华55
3.2.1 贝叶斯定理55
3.2.2 朴素贝叶斯法56
3.3 Python 实战59
3.3.1 高斯贝叶斯分类器(GaussianNB) 61
3.3.2 多项式贝叶斯分类器(MultinomialNB) 62
3.3.3 伯努利贝叶斯分类器(BernoulliNB) 65
3.3.4 递增式学习partial_fit 方法69
第4 章k 近邻法
4.1 概述70
4.2 算法笔记精华70
4.2.1 kNN 三要素70
4.2.2 k 近邻算法72
4.2.3 kd 树73
4.3 Python 实践74
第5 章数据降维
5.1 概述83
5.2 算法笔记精华83
5.2.1 维度灾难与降维83
5.2.2 主成分分析(PCA) 84
5.2.3 SVD 降维91
5.2.4 核化线性(KPCA)降维91
5.2.5 流形学习降维93
5.2.6 多维缩放(MDS)降维93
5.2.7 等度量映射(Isomap)降维96
5.2.8 局部线性嵌入(LLE) 97
5.3 Python 实战99
5.4 小结118
第6 章聚类和EM 算法
6.1 概述119
6.2 算法笔记精华120
6.2.1 聚类的有效性指标120
6.2.2 距离度量122
6.2.3 原型聚类123
6.2.4 密度聚类126
6.2.5层次聚类 127
6.2.6 EM算法 128
6.2.7实际中的聚类要求 136
6.3 Python实战 137
K均值聚类(KMeans) 138
3.2密度聚类(DBSCAN) 143
3.3层次聚类(AgglomerativeClustering) 146
3.4混合高斯(GaussianMixture)模型 149
6.4小结 153
第二篇机器学习高级篇
第 7章支持向量机
7.1概述 156
7.2算法笔记精华 157
2.1线性可分支持向量机 157
2.2线性支持向量机 162
2.3非线性支持向量机 166
2.4支持向量回归 167
SVM的优缺点 170
7.3 Python实战 170
7.3.1线性分类 SVM 171
7.3.2非线性分类 SVM 175
7.3.3线性回归 SVR 182
7.3.4非线性回归 SVR 186
第 8章人工神经网络
8.1概述 192
8.2算法笔记精华 192
8.2.1感知机模型 192
8.2.2感知机学习算法 194
8.2.3神经网络 197
8.3 Python实战 205
3.1感知机学习算法的原始形式 205
3.2感知机学习算法的对偶形式 209
3.3学习率与收敛速度 212
3.4感知机与线性不可分数据集 213
3.5多层神经网络 215
8.3.6多层神经网络与线性不可分数据集 216
8.3.7多层神经网络的应用 219
第 9章半监督学习
9.1概述 225
9.2算法笔记精华 226
2.1生成式半监督学习方法 226
2.2图半监督学习 228
9.3 Python实战 234
9.4小结 243
第 10章集成学习
10.1概述 244
10.2算法笔记精华 244
10.2.1集成学习的原理及误差 244
10.2.2 Boosting算法 246
10.2.3 AdaBoost算法 246
10.2.4 AdaBoost与加法模型 252
10.2.5提升树 253
10.2.6 Bagging算法 256
10.2.7误差-分歧分解 257
10.2.8多样性增强 259
10.3 Python实战 260
10.3.1 AdaBoost 261
10.3.2 GradientTreeBoosting 272
10.3.3 RandomForest 288
10.4小结 298
第三篇机器学习工程篇
第 11章数据预处理
11.1概述 300
11.2算法笔记精华 300
11.2.1去除唯一属性 300
11.2.2处理缺失值的三种方法 301
11.2.3常见的缺失值补全方法 302
11.2.4特征编码 307
2.5数据标准化、正则化 308
2.6特征选择 310
2.7稀疏表示和字典学习 313
11.3 Python实践 316
11.3.1二元化 316
11.3.2独热码 317
11.3.3标准化 321
11.3.4正则化 325
11.3.5过滤式特征选取 326
11.3.6包裹式特征选取 330
11.3.7嵌入式特征选取 334
11.3.8学习器流水线(Pipeline) 339
11.3.9字典学习 340
第 12章模型评估、选择与验证
12.1概述 345
12.2算法笔记精华 346
2.1损失函数和风险函数 346
2.2模型评估方法 348
2.3模型评估 349
2.4性能度量 350
2.5偏差方差分解 356
12.3 Python实践 357
3.1损失函数 357
3.2数据集切分 359
3.3性能度量 370
3.4参数优化 387
第四篇 Kaggle实战篇 401
第 13章 Kaggle牛刀小试
13.1 Kaggle简介 402
13.2清洗数据 403
2.1加载数据 403
2.2合并数据 406
2.3拆分数据 407
2.4去除唯一值 408
2.5数据类型转换 410
13.2.6 Data_Cleaner类 412
13.3数据预处理 415
13.3.1独热码编码 415
13.3.2归一化处理 419
13.3.3 Data_Preprocesser类 421
13.4学习曲线和验证曲线 424
13.4.1程序说明 424
13.4.2运行结果 430
13.5参数优化 433
13.6小结 435
全书符号


精彩节摘


自序


本人华校专,性别男,爱好女 ˆˆ,湖北黄冈人。 2004年我考入清华大学航天学院工程力学系,喜欢读书,在清华的四年我每年的成绩都是本系的 Top1。在清华园里我养成了记笔记的习惯,大学四年我做了大量的学习笔记,这一良好的习惯一直坚持到现在,十多年的时间我已经记了三千多页的笔记,如图 1和图 2所示。


研究生阶段我被免试保送到国防科大计算机学院读研并入伍,研究生毕业之后一直在某部队工作至 2016年。工作期间我阅读了大量的计算机书籍并编写了大量的代码,从操作系统底层开发到应用 App开发。这个阶段是我从学生到工程师的一个转变阶段,也是我个人知识体系的建设阶段。对于不理解的内容我反复读、反复研究。记得学习《算法导论》的时候,我阅读了不下四轮,做了两轮笔记,并且仿照 C++ STL的风格实现了其中的各种算法(算法导论的 C++实现我已经放在个人的 github上)。


我个人比较喜欢研究算法,在这方面我比较有优势。一是我数学能力比较强,作为曾经的清华学霸,我数学相关的课程平均分不低于 95分(我本科四年的平均学分积不低于 90分)。另一方面是我编程功底比较强,尤其是精通 C/C++/Python三门语言。在学习机器学习这个方向的时候,理论方面我结合了斯坦福大学的机器学习课程,李航老师的《统计学习方法》和周志华老师的《机器学习》课程,实践方面我使用 Python的 scikit-learn包提供的 API函数,包里面所涵盖的算法接口非常全面,更令人振奋的是,其用户手册写得非常好,我发现这是一条快捷的学习路径。


机器学习是一门理论与实践结合非常紧密的学科,理论提供了各种算法处理问题的边界,即有的算法适合处理问题 A,不适合问题 B;而另外一些算法适合处理问题 B不适合处理问题 A。如果不懂得理论,那么对于某个具体问题,你就完全不知道应该采用哪种算法,以及当你采用了某个算法时各类超参数的物理意义。如果没有扎实的写代码实践,那么你可能采用了一个看起来很美好的算法,但是实际操作中因为各种条件不满足,最后要么预测性能很差,要么运行时间能让你崩溃,停留在“看上去很美”的尴尬状态。


2016年,我顺利从部队退役,一次在北京旅游时,抱着试试的态度,我轻松拿到了阿里的算法 offr,2017年年初,我在美丽的杭州入职!


看书、笔记、编程这三样是学习机器学习必须的,效果很棒,我已经验证了,该你了!


在机器学习的路上,我们一起同行!


2017年 1月,入职日于杭州阿里总部大楼前


前言


拥抱大数据时代


“大家还没搞清 PC时代的时候,移动互联网来了,还没搞清移动互联网的时候,大数据时代来了。”马云在 2013年淘宝十周年晚会上的这句话,仿佛一下子拉开了大数据时代的序幕。


新的时代,需要新的技术;新的技术,需要新的人才。全球最著名的管理咨询公司麦肯锡预测“到 2018年,美国在‘深度分析’人才方面将面临 14万至 19万的人才缺口;在‘能够分析数据帮助公司做出商业决策’方面将面临 150万的人才缺口 ”。清华大学计算机系教授武永卫 2016年 5月透露了一组数据:未来 3~5年,中国需要 180万数据人才,但目前只有约 30万人。


大数据时代,做大数据分析的人有了一个更“性感”的名字,叫做数据科学家( Data Scientist)。《哈佛商业评论》声称, 21世纪最富挑战的工作是数据科学家。时下最热门的职业是数据科学家,而不是传统的信息科学家,也不是大数据工程师。


在数据科学家必备的技能中,机器学习和 Python应该是位列前五的两项。机器学习炙手可热,在互联网、金融保险、制造业、零售业、医疗等产业领域发挥了越来越大的作用,关注度也越来越高。而 Python则是最 in的语言,“人生苦短,我用 Python”ˆˆ


怎么用这本书?


机器学习既有算法又有实现,还是比较高深的,算法太难,啃不动,代码太浅,钻不下去。我们的目标是让您快速上手,在内容组织上我们是动了心思的,采用“原理笔记精华 +算法 Python实现 +问题实例 +实际代码 +运行调参”的形式,理论与实践交织着展开,算法原理与编程实战并重。


全书分 13章进行展开,从内容上分为四篇:机器学习基础篇、机器学习高级篇、机器学习工程篇和 Kaggle实战篇。


第一篇:机器学习基础篇(第 1~6章)
包括线性模型、决策树、贝叶斯分类、k近邻法、数据降维、聚类和 EM算法等内容。
这些基础算法非常经典,原理也相对简单,是入门的最佳选择,掌握这些算法,才能更好地理解后续的高级算法。非菜鸟可以直接忽略这部分。


第二篇:机器学习高级篇(第 7~10章)
包括支持向量机、人工神经网络、半监督学习和集成学习等内容。
这些高级算法是目前应用非常广泛,也是效果不错的算法,需要深入理解算法的原理、优劣势等特点以及应用场景,要能达到应用自如的程度。


第三篇:机器学习工程篇(第 11~12章)
讲述机器学习工程中的实际技术,包括数据预处理,模型评估、选择与验证等内容。
数据清洗、数据预处理和模型评估选择在实际中非常重要,在整个工程项目的开发过程中通常占到一半以上的时间,这部分给出的一些步骤和方法是实践的精华,值得熟练掌握。


第四篇:Kaggle实战篇(第 13章)
Step-by-step讲述一个 Kaggle竞赛题目的实战,有代码,有分析。
Kaggle是目前顶级的数据科学比赛平台,很多机器学习的牛人都在这里玩过,咱们可以学习牛人好的算法,也可以启发自己的思路。对于梦想成为牛人的您,还是去里面混混先:)万一拿了个好的名次呢,拿个一流公司的 offr还是很 easy的。


本书的代码全部开源,请自行下载 https://github.com/huaxz1986/git_book,也欢迎在这上面交流。


由于作者水平和经验有限,书中错漏之处在所难免,敬请读者指正,我的电子邮箱是 wa_ 2003@126.com。


作者 2017年元旦于北京

Copyright © 网络机器人吧社区@2017