内容简介
《Python机器学习实践:测试驱动的开发方法》一开始就立足于软件编写、算法测试的实践指导,为读者理解示例代码、动手编写自己的程序做必要的铺垫。
然后,作者才开始简明扼要地介绍机器学习算法的定义,以及读者必须知道的算法类别、这些算法又各自有何神通,并轻轻点出:每个算法也有它的死穴。
第三章到第九章,作者深入详实地讲解了几种有代表性的机器学习算法:K-最近邻,朴素贝叶斯分类,决策树和随机森林,隐马尔可夫模型,支持向量机,神经网络,以及聚类。在这些章节中,不但讲解了算法核心部分的数学表达,也用机智、形象的语言描述了算法如何在实际生活中解决问题,并给出了关键的Python代码示例和算法训练、测试过程。
作者简介
MatthewKirk是一名软件咨询师、作者和国际演讲者,擅长机器学习和数据科学,使用Ruby和Python编程。现居于西雅图,他喜欢帮助软件工程师将数据科学融入到他们的技术栈中。
目录
前言1
第1章5
可能近似正确的软件5
正确地编写软件6
编写正确的软件10
《Python机器学习实践:测试驱动的开发方法》计划16
第2章快速介绍机器学习18
什么是机器学习18
有监督学习18
无监督学习19
强化学习20
机器学习能完成什么20
《Python机器学习实践:测试驱动的开发方法》中使用的数学符号21
结论22
第3章K最近邻算法23
如何确定是否想购买一栋房子23
房子的价格究竟几何24
愉悦回归24
什么是邻域25
K最近邻算法简介26
K先生最近的邻居26
距离27
维度灾难33
如何选择K34
给西雅图的房子估价37
结论43
第4章朴素贝叶斯分类44
通过贝叶斯定理来发现欺诈订单44
条件概率45
概率符号45
反向条件概率(又名贝叶斯定理)47
朴素贝叶斯分类器47
贝叶斯推理之朴素48
伪计数49
垃圾邮件过滤器50
标记化和上下文55
结论67
第5章决策树和随机森林68
蘑菇的细微差别69
使用民间定理实现蘑菇分类70
找到最佳切换点71
修剪树74
结论83
第6章隐马尔可夫模型84
使用状态机来跟踪用户行为84
输出/观测隐含状态86
使用马尔可夫假设化简87
隐马尔可夫模型88
评估:前向-后向算法89
通过维特比算法解码93
学习问题94
词性标注与布朗语库94
结论105
第7章支持向量机106
客户满意度作为语言的函数107
SVM背后的理论108
情绪分析器113
聚合情绪124
将情绪映射到底线126
结论127
第8章神经网络128
什么是神经网络129
神经网络史129
布尔逻辑129
感知器130
如何构建前馈神经网络130
构建神经网络144
使用神经网络来对语言分类145
结论154
第9章聚类155
无任何偏差的研究数据155
用户群组156
测试群集映射157
K均值聚类159
最大期望(EM)聚类161
不可能性定理163
案例:音乐归类164
结论174
第10章模型改进与数据提取175
辩论俱乐部175
选择更好的数据176
最小冗余最大相关性的特征选择181
特征变换与矩阵分解183
结论189
第11章将这些方法融合在一起:结论191
机器学习算法回顾191
如何使用这些信息来解决问题193
下一步做什么193