具体描述
在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知
所措。本书从算法和Python 语言实现的角度,帮助读者认识机器学习。
书专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来
展示所讨论的算法的使用原则。全书共分为7 章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。
本书主要针对想提高机器学习技能的Python 开发人员,帮助他们解决某一特定的项
目或是提升相关的技能。
作者简介
Michael Bowles 在硅谷黑客道场教授机器学习,提供机器学习项目咨询,同时参与了多家创业公司,涉及的领域包括生物信息学、金融高频交易等。他在麻省理工学院获得助理教授教职后,创建并运营了两家硅谷创业公司,这两家公司都已成功上市。他在黑客道场的课程往往听者云集并且好评颇多。
目录信息
1.1为什么这两类算法如此有用
1.2什么是惩罚回归方法
1.3什么是集成方法
1.4算法的选择
1.5构建预测模型的流程
1.5.1构造一个机器学习问题
1.5.2特征提取和特征工程
1.5.3确定训练后的模型的性能
1.6各章内容及其依赖关系
1.7小结
1.8参考文献
第2章通过理解数据来了解问题
2.1“解剖”一个新问题
2.1.1属性和标签的不同类型决定模型的选择
2.1.2新数据集的注意事项
2.2分类问题:用声纳发现未爆炸的水雷
2.2.1“岩石vs水雷”数据集的物理特性
2.2.2“岩石vs水雷”数据集统计特征
2.2.3用分位数图展示异常点
2.2.4类别属性的统计特征
2.2.5利用PythonPandas对“岩石vs水雷”数据集进行统计分析
2.3对“岩石vs水雷数据集”属性的可视化展示
2.3.1利用平行坐标图进行可视化展示
2.3.2属性和标签的关系可视化
2.3.3用热图(heatmap)展示属性和标签的相关性
2.3.4对“岩石vs
2.4基于因素变量的实数值预测鲍鱼的年龄
2.4.1回归问题的平行坐标图—鲍鱼问题的变量关系可视化
2.4.2回归问题如何使用关联热图—鲍鱼问题的属性对关系的可视化
2.5用实数值属性预测实数值目标:评估红酒口感
2.6多类别分类问题:它属于哪种玻璃
小结
参考文献
第3章预测模型的构建:平衡性能、复杂性以及大数据
3.1基本问题:理解函数逼近
3.1.1使用训练数据
3.1.2评估预测模型的性能
3.2影响算法选择及性能的因素——复杂度以及数据
3.2.1简单问题和复杂问题的对比
3.2.2一个简单模型与复杂模型的对比
3.2.3影响预测算法性能的因素
3.2.4选择一个算法:线性或者非线性
3.3度量预测模型性能
3.3.1不同类型问题的性能评价指标
3.3.2部署模型的性能模拟
3.4模型与数据的均衡
3.4.1通过权衡问题复杂度、模型复杂度以及数据集规模来选择模型
3.4.2使用前向逐步回归来控制过拟合
3.4.3评估并理解你的预测模型
3.4.4通过惩罚回归系数来控制过拟合——岭回归
小结
参考文献
第4章惩罚线性回归模型
4.1为什么惩罚线性回归方法如此有效
4.1.1足够快速地估计系数
4.1.2变量的重要性信息
4.1.3部署时的预测足够快速
4.1.4性能可靠
4.1.5稀疏解
4.1.6问题本身可能需要线性模型
4.1.7什么时候使用集成方法
4.2惩罚线性回归:对线性回归进行正则化以获得最优性能
4.2.1训练线性模型:最小化错误以及更多
4.2.2向OLS公式中添加一个系数惩罚项
4.2.3其他有用的系数惩罚项:Manhattan以及ElasticNet
4.2.4为什么套索惩罚会导致稀疏的系数向量
4.2.5ElasticNet惩罚项包含套索惩罚项以及岭惩罚项
4.3求解惩罚线性回归问题
4.3.1理解最小角度回归与前向逐步回归的关系
4.3.2LARS如何生成数百个不同复杂度的模型
4.3.3从数百个LARS生成结果中选择最佳模型
4.3.4使用Glmnet:非常快速并且通用
4.4基于数值输入的线性回归方法的扩展
4.4.1使用惩罚回归求解分类问题
4.4.2求解超过2种输出的分类问题
4.4.3理解基扩展:使用线性方法来解决非线性问题
4.4.4向线性方法中引入非数值属性
小结
参考文献
第5章使用惩罚线性方法来构建预测模型
5.1惩罚线性回归的Python包
5.2多变量回归:预测红酒口感
5.2.1构建并测试模型以预测红酒口感
5.2.2部署前在整个数据集上进行训练
5.2.3基扩展:基于原始属性扩展新属性来改进性能
5.3二分类:使用惩罚线性回归来检测未爆炸的水雷
5.3.1构建部署用的岩石水雷分类器
5.4多类别分类—分类犯罪现场的玻璃样本
小结
参考文献
第6章集成方法
6.1二元决策树
6.1.1如何利用二元决策树进行预测
6.1.2如何训练一个二元决策树
6.1.3决策树的训练等同于分割点的选择
6.1.4二元决策树的过拟合
6.1.5针对分类问题和类别特征所做的修改
6.2自举集成:Bagging算法
6.2.1Bagging算法是如何工作的
6.2.2Bagging算法小结
6.3梯度提升法(GradientBoosting)
6.3.1梯度提升法的基本原理
6.3.2获取梯度提升法的最佳性能
6.3.3针对多变量问题的梯度提升法
6.3.4梯度提升方法的小结
6.4随机森林
6.4.1随机森林:Bagging加上随机属性子集
6.4.2随机森林的性能
6.4.3随机森林小结
6.5小结
6.6参考文献
第7章用Python构建集成模型
7.1用Python集成方法工具包解决回归问题
7.1.1构建随机森林模型来预测红酒口感
7.1.2用梯度提升预测红酒品质
7.2用Bagging来预测红酒口感
7.3Python集成方法引入非数值属性
7.3.1对鲍鱼性别属性编码引入Python随机森林回归方法
7.3.2评估性能以及变量编码的重要性
7.3.3在梯度提升回归方法中引入鲍鱼性别属性
7.3.4梯度提升法的性能评价以及变量编码的重要性
7.4用Python集成方法解决二分类问题
7.4.1用Python随机森林方法探测未爆炸的水雷
7.4.2构建随机森林模型探测未爆炸水雷
7.4.3随机森林分类器的性能
7.4.4用Python梯度提升法探测未爆炸水雷
7.4.5梯度提升法分类器的性能
7.5用Python集成方法解决多类别分类问题
7.5.1用随机森林对玻璃进行分类
7.5.2处理类不均衡问题
7.5.3用梯度提升法对玻璃进行分类
7.5.4评估在梯度提升法中使用随机森林基学习器的好处
7.6算法比较
小结
参考文献
· · · · · · (收起)
读后感
用户评价
我是一个正在为转行做准备的技术从业者,之前的工作内容与数据科学相去甚远,对机器学习更是知之甚少。《Python机器学习》这本书,如同一束光,照亮了我前行的道路。它的优点在于,它不是一本纯粹的理论书,也不是一本纯粹的代码书,而是将理论与实践完美地结合在一起。作者非常注重基础的讲解,从Python环境的搭建、常用库的使用,到数据预处理、特征工程,每一个环节都讲解得非常到位。我尤其喜欢它在介绍算法时,会先用通俗易懂的语言解释算法的思想,然后再展示具体的Python实现。这让我能够理解“为什么”这样做,而不仅仅是“怎么”做。书中的案例也很有代表性,覆盖了分类、回归、聚类等多种常见的机器学习任务,让我能够看到机器学习在不同场景下的应用。通过这本书的学习,我不仅掌握了一系列机器学习的工具和技术,更重要的是,我建立起了一个扎实的机器学习知识体系,为我未来的职业发展奠定了坚实的基础。
这本书绝对是我在学习数据科学道路上的一个里程碑!我之前尝试过一些其他的Python数据分析书籍,但总感觉不够系统,或者说对于初学者来说门槛太高。直到我遇到了《Python机器学习》,才真正点燃了我对这个领域的兴趣。书中从最基础的Python库(如NumPy和Pandas)开始讲起,循序渐进地引导读者掌握数据处理的核心技能。我特别欣赏作者的讲解方式,他不是简单地罗列函数和代码,而是深入浅出地解释了每个概念背后的原理,比如为什么需要向量化操作,Pandas DataFrame的强大之处又体现在哪里。即使是对Python不太熟悉的读者,也能通过这本书快速上手。而且,书中提供的练习题非常实用,我跟着书中的步骤一步步完成,不仅巩固了知识,还学会了如何将理论应用到实际问题中。感觉就像拥有了一个随身携带的导师,随时可以翻阅,总能找到想要的答案和启发。这对我后续深入学习机器学习算法打下了坚实的基础,让我不再害怕那些复杂的数学公式,而是能更专注于理解算法的逻辑和应用场景。
对于有一定Python基础,想进一步探索机器学习领域的我来说,《Python机器学习》这本书简直是量身定做的。我一直对人工智能很感兴趣,但总觉得门槛很高,不知从何下手。这本书打破了我的这种顾虑。它不像某些教科书那样,一上来就抛出大量的理论和公式,而是从最直观的机器学习概念入手,比如什么是监督学习,什么是无监督学习,并且用非常形象的比喻来解释这些抽象的概念。然后,它开始介绍一些常用的机器学习算法,比如线性回归、逻辑回归、决策树等等。最让我惊喜的是,它不仅讲解了算法的原理,还给出了如何在Python中利用Scikit-learn库来实现这些算法的详细步骤,并且配有大量的代码示例。这些代码清晰易懂,可以直接拿来运行和修改。我跟着书中的例子,自己动手实现了几个简单的模型,感觉成就感爆棚!这本书让我切实感受到了机器学习的魅力,也让我看到了自己在这条道路上前进的可能性。它不仅仅是一本书,更像是一个开启我机器学习之旅的钥匙。
作为一名在校的学生,我接触过不少关于机器学习的教材,但很多都过于理论化,或者内容更新得不够及时。《Python机器学习》这本书,给了我耳目一新的感觉。首先,它非常注重实用性,书中提供的代码示例都是基于最新的Python库,可以直接在Jupyter Notebook等环境中运行。其次,它在讲解过程中,始终将理论知识与实际应用相结合,比如在介绍支持向量机时,不仅仅是讲解算法的原理,还详细展示了如何用Scikit-learn来解决一个具体的分类问题。我印象深刻的是,书中对于数据可视化部分的讲解也相当到位,帮助我更直观地理解数据的分布和模型的表现。此外,作者在书中还分享了一些非常实用的机器学习项目经验,比如如何处理不平衡数据集,如何进行特征选择等等,这些都是课堂上很难学到的宝贵经验。这本书让我觉得,机器学习不再是遥不可及的学术概念,而是能够真正解决实际问题的强大工具。
老实说,我之前对机器学习一直持有一种“高不可攀”的态度,觉得那是只有数学天才才能玩转的领域。直到我偶然翻阅了《Python机器学习》,我才发现自己之前的想法有多么片面。这本书的语言风格非常亲切,不像某些学术著作那样晦涩难懂。作者像是和我们平起平坐的朋友一样,一步一步地引导我们走进机器学习的世界。他从最基础的算法开始,比如k-近邻算法,通过生动的例子解释了它的工作原理。然后,他循序渐进地介绍了更复杂的算法,并且重点强调了算法的适用场景以及如何去评估模型的性能。我特别喜欢书中关于模型评估和调优的部分,这部分内容对于实际应用来说至关重要,但很多其他书籍却往往一带而过。这本书的讲解非常透彻,让我理解了如何选择合适的评估指标,以及如何通过调整超参数来提升模型的准确率。我感觉自己不再是被动地接受知识,而是能够主动地去思考和解决问题。
贴代码太罗嗦了,算法分析少
内容简单但是却能反映出算法的核心内容。没有愧对书名。配合代码非常经典的一本书。
贴代码太罗嗦了,算法分析少
code写的很差 但原理很清晰
程序错误不少