1 前言
前几天,StrongerTang分享了《动手学深度学习》(点击即可阅读),受到了不少朋友的肯定。有朋友留言要求分享一下以Python 为基础的机器学习实战编程书籍:《Machine Learning In Action》,也就是中文版广为流传的《机器学习实战》,小汤本着一直坚持的“好资源大家一起分享,共同学习,共同进步”的初衷,于是便去找了资料,而且还是中英文两个版本都有,分享给有需要的小伙伴,也希望有更多的朋友能在StrongerTang相遇。
《机器学习实战》通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于一些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现一些更高级的功能,如汇总和简化等。
《机器学习实战》主要有 以下4 个优点:
不调包,从0写起实现主流机器学习算法;
所有代码基于Python 3;
实例详细分解,逐步指导使用算法跑出模型;
实战与理论交叉,通过实战加深理论知识;
资料免费获取
1.搜索 公,。-众z,./号: StrongerTang
2.回复关键词:机器学习实战
声明:此资料免费分享,仅作知识分享,勿用于任何商业用途。赠人玫瑰,手有余香!
2 简介
· · · · · ·作者简介 · · · · · ·
Peter Harrington
拥有电气工程学士和硕士学位,他曾经在美国加州和中国的英特尔公司工作7年。Peter拥有5项美国专利,在三种学术期刊上发表过文章。他现在是Zillabyte公司的首席科学家,在加入该公司之前,他曾担任2年的机器学习软件顾问。Peter在业余时间还参加编程竞赛和建造3D打印机。
· · · · · ·内容简介 · · · · · ·
《机器学习实战》第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具。
主要面向希望了解深度学习,特别是对实际使用深度学习感兴趣的大学生、工程师和研究人员。阅读本书不要求读者有任何深度学习或者机器学习的背景知识,读者只需具备基本的数学和编程知识,如基础的线性代数、微分、概率及Python编程知识。附录中提供了书中涉及的主要数学知识,供读者参考。
· · · · · ·目录 · · · · · ·
第一部分 分类
第1章 机器学习基础
1.1 何谓机器学习
1.2 关键术语
1.3 机器学习的主要任务
1.4 如何选择合适的算法
1.5 开发机器学习应用程序的步骤
1.6 Python语言的优势
1.7 NumPy函数库基础
1.8 本章小结
第2章 k-近邻算法
2.1 k-近邻算法概述
2.2 示例:使用k-近邻算法改进约会网站的配对效果
2.3 示例:手写识别系统
2.4 本章小结
第3章 决策树
3.1 决策树的构造
3.2 在Python中使用Matplotlib注解绘制树形图
3.3 测试和存储分类器
3.4 示例:使用决策树预测隐形眼镜类型
3.5 本章小结
第4章 基于概率论的分类方法:朴素贝叶斯
4.1 基于贝叶斯决策理论的分类方法
4.2 条件概率
4.3 使用条件概率来分类
4.4 使用朴素贝叶斯进行文档分类
4.5 使用Python进行文本分类
4.6 示例:使用朴素贝叶斯过滤垃圾邮件
4.7 示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向
4.8 本章小结
第5章 Logistic回归
5.1 基于Logistic回归和Sigmoid函数的分类
5.2 基于最优化方法的最佳回归系数确定
5.3 示例:从疝气病症预测病马的死亡率
5.4 本章小结
第6章 支持向量机
6.1 基于最大间隔分隔数据
6.2 寻找最大间隔
6.3 SMO高效优化算法
6.4 利用完整Platt SMO算法加速优化
6.5 在复杂数据上应用核函数
6.6 示例:手写识别问题回顾
6.7 本章小结
第7章 利用AdaBoost元算法提高分类性能
7.1 基于数据集多重抽样的分类器
7.2 训练算法:基于错误提升分类器的性能
7.3 基于单层决策树构建弱分类器
7.4 完整AdaBoost算法的实现
7.5 测试算法:基于AdaBoost的分类
7.6 示例:在一个难数据集上应用AdaBoost
7.7 非均衡分类问题
7.8 本章小结
第二部分 利用回归预测数值型数据
第8章 预测数值型数据:回归
8.1 用线性回归找到最佳拟合直线
8.2 局部加权线性回归
8.3 示例:预测鲍鱼的年龄
8.4 缩减系数来“理解”数据
8.5 权衡偏差与方差
8.6 示例:预测乐高玩具套装的价格
8.7 本章小结
第9章 树回归
9.1 复杂数据的局部性建模
9.2 连续和离散型特征的树的构建
9.3 将CART算法用于回归
9.4 树剪枝
9.5 模型树
9.6 示例:树回归与标准回归的比较
9.7 使用Python的Tkinter库创建GUI
9.8 本章小结
第三部分 无监督学习
第10章 利用K-均值聚类算法对未标注数据分组
10.1 K-均值聚类算法
10.2 使用后处理来提高聚类性能
10.3 二分K-均值算法
10.4 示例:对地图上的点进行聚类
10.5 本章小结
第11章 使用Apriori算法进行关联分析
11.1 关联分析
11.2 Apriori原理
11.3 使用Apriori算法来发现频繁集
11.4 从频繁项集中挖掘关联规则
11.5 示例:发现国会投票中的模式
11.6 示例:发现毒蘑菇的相似特征
11.7 本章小结
第12章 使用FP-growth算法来高效发现频繁项集
12.1 FP树:用于编码数据集的有效方式
12.2 构建FP树
12.3 从一棵FP树中挖掘频繁项集
12.4 示例:在Twitter源中发现一些共现词
12.5 示例:从新闻网站点击流中挖掘
12.6 本章小结
第四部分 其他工具
第13章 利用PCA来简化数据
13.1 降维技术
13.2 PCA13.3 示例:利用PCA对半导体制造数据降维
13.4 本章小结
第14章 利用SVD简化数据
14.1 SVD的应用
14.2 矩阵分解
14.3 利用Python实现SVD
14.4 基于协同过滤的推荐引擎
14.5 示例:餐馆菜肴推荐引擎
14.6 基于SVD的图像压缩
14.7 本章小结
第15章 大数据与MapReduce
15.1 MapReduce:分布式计算的框架
15.2 Hadoop流
15.3 在Amazon网络服务上运行Hadoop程序
15.4 MapReduce上的机器学习
15.5 在Python中使用mrjob来自动化MapReduce
15.6 示例:分布式SVM的Pegasos算法
15.7 你真的需要MapReduce吗?
15.8 本章小结
附录A Python入门
附录B 线性代数
附录C 概率论复习
附录D 资源
小汤本着交流学习的角度,在文末分享了该书的电子版,需要的小伙伴可以免费下载获取。但请勿用于任何商业用途,仅供自身学习参考使用。
当然,StrongerTang强烈支持该书版权所属,对于喜欢纸质实体书阅读的朋友,建议购买正版书籍阅读。
4 源码分享
原书配套的代码是基于 Python2 实现的,而且部分代码存在bug,西安电子科技大学的一名研二在读学生wzy6642对书中的 Python 2 代码重新做了整理,全部代码可在 Python3 环境下运行。所有的源程序中,文件夹名称的命名规则为:算法名称+对应书中的第几个案例,因为数据量比较大,所以少数几个案例采用压缩包上传的方式。
Python 3 代码实现相应的 GitHub 地址如下:
https://github.com/wzy6642/Machine-Learning-in-Action-Python3
除此之外,还有一位机器学习爱好者按照书中章节顺序,使用 jupyter notebook,非常好地实现了基于 Python3 的源代码(包括 .ipynb 文件)。目前在 GitHub 上已经超过 2000 star 了。地址如下:
https://github.com/pbharrin/machinelearninginaction