这本Python机器学习图书,是2017-03-01月由机械工业出版社所出版的,著作者信息: [美] 塞巴斯蒂安·拉施卡(Sebastian Raschka) 著,高明,徐莹,陶虎成 译,本版是第1次印刷, ISBN:9787111558804,品牌:机工出版, 这本书的包装是16开平装,所用纸张为胶版纸,全书页数259,字数有万字, 是本值得推荐的Python软件开发图书。
此书内容摘要
机器学习与预测分析正在改变企业和其他组织的运作方式,本书将带领读者进入预测分析的世界。全书共13章,除了简要介绍机器学习及Python在机器学习中的应用,还系统讲述了数据分类、数据预处理、模型优化、集成学习、回归、聚类、神经网络、深度学习等内容。本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。本书讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。本书可作为学习数据的初学者及想进一步拓展数据领域认识的读者的参考书。同样,本书也适合计算机等相关专业的本科生、研究生阅读。
关于此书作者
Sebastian Raschka,是密歇根州立大学的博士生,他在计算生物学领域提出了几种新的计算方法,还被科技博客Analytics Vidhya评为GitHub上具影响力的数据家。他有一整年都使用Python进行编程的经验,同时还多次参加数据应用与机器学习领域的研讨会。正是因为Sebastian 在数据、机器学习以及Python等领域拥有丰富的演讲和写作经验,他才有动力完成此书的撰写,目的是帮助那些不具备机器学习背景的人设计出由数据驱动的解决方案。
他还积极参与到开源项目中,由他开发完成的计算方法已经被成功应用到了机器学习竞赛(如Kaggle等)中。在业余时间,他沉醉于构建体育运动的预测模型,要么待在电脑前,要么在运动。
首先,我要感谢Arun Ross和Pang-Ning Tan教授,以及那些曾经启发我并激起我在模式分类、机器学习、数据挖掘领域兴趣的人。
我还想借此机会对Python社区和开源包的开发者表示感谢,他们帮助我创建了一个用于研究和数据的完美开发环境。
在此,还要特别感谢scikit-learn的核心开发人员。作为此项目的一个参与者,我有幸与这些极客合作,他们不仅对机器学习有着深入的了解,同时还都是非常出色的程序员。
后,我还要感谢所有对本书感兴趣的读者,也真心希望我的热情能够感染大家一起加入到Python与机器学习社区中来。
编辑们的推荐
暂无.
Python机器学习图书的目录
译者序
推荐序
作者简介
审校者简介
前言
第1章赋予计算机学习数据的能力1
1.1构建智能机器将数据转化为知识1
1.2机器学习的三种不同方法1
1.2.1通过监督学习对未来事件进行预测2
1.2.2通过强化学习解决交互式问题4
1.2.3通过无监督学习发现数据本身潜在的结构4
1.2.4基本术语及符号介绍5
1.3构建机器学习系统的蓝图6
1.3.1数据预处理6
1.3.2选择预测模型类型并进行训练7
1.3.3模型验证与使用未知数据进行预测8
1.4Python在机器学习中的应用8
本章小结9
第2章机器学习分类算法10
2.1人造神经元—早期机器学习概览10
2.2使用Python实现感知器学习算法13
2.3自适应线性神经元及其学习的收敛性19
2.3.1通过梯度下降最小化代价函数20
2.3.2使用Python实现自适应线性神经元21
2.3.3大规模机器学习与随机梯度下降25
本章小结29
第3章使用scikit-learn实现机器学习分类算法30
3.1分类算法的选择30
3.2初涉scikit-learn的使用30
使用scikit-learn训练感知器31
3.3逻辑斯谛回归中的类别概率34
3.3.1初识逻辑斯谛回归与条件概率34
3.3.2通过逻辑斯谛回归模型的代价函数获得权重36
3.3.3使用scikit-learn训练逻辑斯谛回归模型37
3.3.4通过正则化解决过拟合问题39
3.4使用支持向量机最大化分类间隔41
3.4.1对分类间隔最大化的直观认识41
3.4.2使用松弛变量解决非线性可分问题42
3.4.3使用scikit-learn实现SVM44
3.5使用核SVM解决非线性问题44
3.6决策树48
3.6.1最大化信息增益—获知尽可能准确的结果49
3.6.2构建决策树52
3.6.3通过随机森林将弱分类器集成为强分类器53
3.7惰性学习算法—k-近邻算法54
本章小结57
第4章数据预处理—构建好的训练数据集58
4.1缺失数据的处理58
4.1.1将存在缺失值的特征或样本删除59
4.1.2缺失数据填充60
4.1.3理解scikit-learn预估器的API60
4.2处理类别数据61
4.2.1有序特征的映射61
4.2.2类标的编码62
4.2.3标称特征上的独热编码63
4.3将数据集划分为训练数据集和测试数据集64
4.4将特征的值缩放到相同的区间65
4.5选择有意义的特征66
4.5.1使用L1正则化满足数据稀疏化67
4.5.2序列特征选择算法70
4.6通过随机森林判定特征的重要性74
本章小结76
第5章通过降维压缩数据77
5.1无监督数据降维技术—主成分分析77
5.1.1总体方差与贡献方差78
5.1.2特征转换80
5.1.3使用scikit-learn进行主成分分析82
5.2通过线性判别分析压缩无监督数据84
5.2.1计算散布矩阵85
5.2.2在新特征子空间上选取线性判别算法87
5.2.3将样本映射到新的特征空间89
5.2.4使用scikit-learn进行LDA分析90
5.3使用核主成分分析进行非线性映射91
5.3.1核函数与核技巧91
5.3.2使用Python实现核主成分分析94
5.3.3映射新的数据点99
5.3.4scikit-learn中的核主成分分析102
本章小结103
第6章模型评估与参数调优实战104
6.1基于流水线的工作流104
6.1.1加载威斯康星乳腺癌数据集104
6.1.2在流水线中集成数据转换及评估操作105
6.2使用k折交叉验证评估模型性能106
6.2.1holdout方法106
6.2.2k折交叉验证107
6.3通过学习及验证曲线来调试算法110
6.3.1使用学习曲线判定偏差和方差问题110
6.3.2通过验证曲线来判定过拟合与欠拟合112
6.4使用网格搜索调优机器学习模型113
6.4.1使用网络搜索调优超参114
6.4.2通过嵌套交叉验证选择算法115
6.5了解不同的性能评价指标116
6.5.1读取混淆矩阵116
6.5.2优化分类模型的准确率和召回率117
6.5.3绘制ROC曲线118
6.5.4多类别分类的评价标准121
本章小结121
第7章集成学习—组合不同的模型122
7.1集成学习122
7.2实现一个简单的多数投票分类器125
7.3评估与调优集成分类器131
7.4bagging —通过bootstrap样本构建集成分类器135
7.5通过自适应boosting提高弱学习机的性能138
本章小结143
第8章使用机器学习进行情感分析144
8.1获取IMDb电影评论数据集144
8.2词袋模型简介146
8.2.1将单词转换为特征向量146
8.2.2通过词频-逆文档频率计算单词关联度147
8.2.3清洗文本数据148
8.2.4标记文档149
8.3训练用于文档分类的逻辑斯谛回归模型151
8.4使用大数据—在线算法与外存学习152
本章小结155
第9章在Web应用中嵌入机器学习模型156
9.1序列化通过scikit-learn拟合的模型156
9.2使用SQLite数据库存储数据158
9.3使用Flask开发Web应用160
9.3.1第一个Flask Web应用160
9.3.2表单验证及渲染161
9.4将电影分类器嵌入Web应用164
9.5在公共服务器上部署Web应用169
本章小结172
第10章使用回归分析预测连续型目标变量173
10.1简单线性回归模型初探173
10.2波士顿房屋数据集174
10.3基于最小二乘法构建线性回归模型178
10.3.1通过梯度下降计算回归参数178
10.3.2使用scikit-learn估计回归模型的系数181
10.4使用RANSAC拟合高鲁棒性回归模型182
10.5线性回归模型性能的评估184
10.6回归中的正则化方法185
10.7线性回归模型的曲线化-多项式回归186
10.7.1房屋数据集中的非线性关系建模188
10.7.2使用随机森林处理非线性关系190
本章小结193
第11章聚类分析——处理无类标数据194
11.1使用k-means算法对相似对象进行分组194
11.1.1k-means++196
11.1.2硬聚类与软聚类198
11.1.3使用肘方法确定簇的最佳数量199
11.1.4通过轮廓图定量分析聚类质量200
11.2层次聚类203
11.2.1基于距离矩阵进行层次聚类204
11.2.2树状图与热度图的关联207
11.2.3通过scikit-learn进行凝聚聚类208
11.3使用DBSCAN划分高密度区域209
本章小结212
第12章使用人工神经网络识别图像213
12.1使用人工神经网络对复杂函数建模213
12.1.1单层神经网络回顾214
12.1.2多层神经网络架构简介215
12.1.3通过正向传播构造神经网络216
12.2手写数字的识别218
12.2.1获取MNIST数据集218
12.2.2实现一个多层感知器222
12.3人工神经网络的训练228
12.3.1计算逻辑斯谛代价函数228
12.3.2通过反向传播训练神经网络230
12.4建立对反向传播的直观认识231
12.5通过梯度检验调试神经网络232
12.6神经网络的收敛性236
12.7其他神经网络架构237
12.7.1卷积神经网络237
12.7.2循环神经网络238
12.8关于神经网络的实现239
本章小结240
第13章使用Theano并行训练神经网络241
13.1使用Theano构建、编译并运行表达式241
13.1.1什么是Theano242
13.1.2初探Theano243
13.1.3配置Theano244
13.1.4使用数组结构245
13.1.5整理思路—线性回归示例247
13.2为前馈神经网络选择激励函数250
13.2.1逻辑斯谛函数概述250
13.2.2通过softmax函数评估多类别分类任务中的类别概率252
13.2.3通过双曲正切函数增大输出范围252
13.3使用Keras提高训练神经网络的效率254
本章小结258
部分内容试读
无需多言,大家都已知道,机器学习已发展成为当前最能激发人们兴趣的技术之一。出于各种考虑,谷歌、脸书、苹果、亚马逊、IBM等众多大公司都投入了巨资用于机器学习理论和应用的研究。机器学习看起来已经成为当前的一个流行语,但这绝不是炒作。这一令人兴奋的技术为我们带来了全新的可能,并已成为我们日常生活中不可或缺的一部分。例如,与智能手机的语音助手对话、向客户推荐合适的商品、防止信用卡诈骗、过滤垃圾邮件,以及检测与诊断疾病等,这样的例子不胜枚举。
如果你想参与机器学习的实践,或是成为解决问题的能手,抑或是考虑从事机器学习研究方面的工作,那么本书正适合你。不过,对初学者来说,机器学习的理论知识是比较有难度的。幸运的是,近年来出版了许多非常实用的书籍,通过实现一些功能强大的算法来帮助读者步入机器学习的殿堂。在我看来,代码示例起到了重要的作用,通过示例代码的实际操作可以对概念进行更好的阐释。不过请记住:能力强大了,责任就接踵而至!机器学习背后的概念美妙且重要,就如同黑盒一样令人无法琢磨。因此,我旨在为读者提供一本不一样的书籍:讨论与机器学习概念相关的必要细节,并以直观且详实的方式来说明机器学习算法是如何工作的,以及如何在实际中应用它们。尤为重要的是,如何避开常见的误区。
如果在“谷歌学术”中搜索“机器学习”一词,会返回一个大的文献数:1 800 000。当然,我们无法讨论过去60年中所提出的算法和应用的全部细节。不过,本书涵盖了机器学习领域最核心的主题和概念,可以让大家率先踏入这一领域,从而开启一段令人兴奋的旅程。如果本书内容无法满足你对此领域的求知欲,你可以利用作者所列出的丰富资源,追寻这一领域最核心的突破。
如果你已经详细地研究过机器学习理论,本书将教会你如何把所学知识付诸实践。如果你曾经使用过机器学习技术,并且希望能更深入地了解机器学习算法是如何工作的,本书也适合你!如果你刚接触机器学习领域,也不用担心,反而更应该感到高兴。我保证,机器学习将改变你解决问题的思考方式,并且让你见识到如何通过发挥数据的力量来解决问题。
在深度进入机器学习领域之前,先回答一个重要的问题:为什么使用Python?答案很简单:它功能强大且使用方便。Python已经成为数据领域最为流行的编程语言,它不仅可以让我们忽略掉编程中那些繁杂的部分,还可以提供一个交互式环境,让我们能够快速记录自己的想法,并且将概念直接付诸实现。
回顾我的个人经历,实事求是地说,对机器学习的研究让我成为一名优秀的工作者,让我变得善于思考,并且成长为问题解决能手。在本书中,我将与读者分享这些知识。知识经由学习获得,而学习热情是其中的关键,真正掌握某项技能只有通过实践才能够实现。学习的历程不可能一帆风顺,某些主题相对来说难度会比较大,但我希望大家能把握住这个机会,并享受学习的回报。请记住,在机器学习的旅途中,我们共同前行,通过此书,你将学会许多新的技能,借助于它们,我们甚至能够以数据驱动的方式解决那些最棘手的问题。
本书内容第1章介绍了机器学习算法的划分。此外,还讨论了构建一个典型的机器学习模型的必要步骤,对此过程的理解有助于后续章节的学习。
第2章追溯了机器学习的起源,介绍了二元感知分类器和自适应线性神经元。该章还介绍了模式分类的基础,并着重介绍优化算法和机器学习的相互作用。
第3章介绍了机器学习中分类算法的基本内容,并使用一个流行且包含算法种类相对齐全的开源机器学习算法库scikit-learn,来完成几个机器学习分类算法实例。
第4章讨论了如何处理原始数据中常见的问题,诸如数据缺失等。该章还讨论了几种如何从数据集中找出蕴含信息最丰富特征的方法,并讲解了如何处理不同数据类型的变量,以使其与机器学习算法的输入要求相匹配。
第5章介绍了如何通过降维来压缩数据的特征数量,以便将数据集压缩到一个容量相对较小的子集上,同时还能保持原数据中有用的区分信息。该章主要讨论了通过主成分分析来降维的标准方法,并将其与监督以及线性变换技术进行了比较。
第6章讨论了对预测模型进行评估时应该做什么和不应该做什么。此外,还探讨了衡量模型的不同标准以及机器学习算法调优的相关技巧。
第7章介绍了有效地组合多个机器学习算法的不同方法,并讲授了如何通过构造继承模型来消除个别分类器的弱点,从而最终得到更加准确和可信的预测结果。
第8章讨论了将文本数据转化为有意义的表达方式的方法,根据人们的留言借助机器学习算法来预测其观点。
第9章继续对预测模型进行了探讨,并将引导你完成将机器学习模型嵌入到Web应用中的核心步骤。
第10章讨论了当自变量和因变量都为连续值时,建立线性模型来完成预测的基本方法。在介绍了不同的线性模型后,又讨论了多项式回归和基于树的方法—随机森林。
第11章将关注的焦点转移到了另一类型的机器学习方法:无监督学习。我们使用了三种基本的聚类算法将具备一定相似度的对象划分为几个组别。
……
关于此书评价
暂无.
书摘内容
暂无.
Python机器学习最新最全的试读、书评、目录、简介信息由Python中文网整理提供。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试