具体描述
本书通过通俗易懂的语言、丰富的图示和生动的实例,拨开了笼罩在机器学习上方复杂的数学“乌云”,让读者以较低的代价和门槛轻松入门机器学习。本书共分为11章,主要介绍了在Python环境下学习scikit-learn机器学习框架的相关知识。本书涵盖的主要内容有机器学习概述、Python机器学习软件包、机器学习理论基础、k-近邻算法、线性回归算法、逻辑回归算法、决策树、支持向量机、朴素贝叶斯算法、PCA 算法和k-均值算法等。本书适合有一定编程基础的读者阅读,尤其适合想从事机器学习、人工智能、深度学习及机器人相关技术的程序员和爱好者阅读。另外,相关院校和培训机构也可以将本书作为教材使用。
作者简介
目录信息
第1章 机器学习介绍 1
1.1 什么是机器学习 1
1.2 机器学习有什么用 2
1.3 机器学习的分类 3
1.4 机器学习应用开发的典型步骤 4
1.4.1 数据采集和标记 4
1.4.2 数据清洗 5
1.4.3 特征选择 5
1.4.4 模型选择 5
1.4.5 模型训练和测试 5
1.4.6 模型性能评估和优化 5
1.4.7 模型使用 6
1.5 复习题 6
第2章 Python机器学习软件包 7
2.1 开发环境搭建 7
2.2 IPython简介 8
2.2.1 IPython基础 8
2.2.2 IPython图形界面 13
2.3 Numpy简介 15
2.3.1 Numpy数组 15
2.3.2 Numpy运算 19
2.4 Pandas简介 32
2.4.1 基本数据结构 32
2.4.2 数据排序 34
2.4.3 数据访问 34
2.4.4 时间序列 36
2.4.5 数据可视化 36
2.4.6 文件读写 38
2.5 Matplotlib简介 38
2.5.1 图形样式 38
2.5.2 图形对象 40
2.5.3 画图操作 46
2.6 scikit-learn简介 51
2.6.1 scikit-learn示例 51
2.6.2 scikit-learn一般性原理和通用规则 55
2.7 复习题 56
2.8 拓展学习资源 57
第3章 机器学习理论基础 58
3.1 过拟合和欠拟合 58
3.2 成本函数 59
3.3 模型准确性 60
3.3.1 模型性能的不同表述方式 61
3.3.2 交叉验证数据集 61
3.4 学习曲线 62
3.4.1 实例:画出学习曲线 62
3.4.2 过拟合和欠拟合的特征 65
3.5 算法模型性能优化 65
3.6 查准率和召回率 66
3.7 F1 Score 67
3.8 复习题 67
第4章 k-近邻算法 69
4.1 算法原理 69
4.1.1 算法优缺点 69
4.1.2 算法参数 70
4.1.3 算法的变种 70
4.2 示例:使用k-近邻算法进行分类 70
4.3 示例:使用k-近邻算法进行回归拟合 72
4.4 实例:糖尿病预测 74
4.4.1 加载数据 74
4.4.2 模型比较 75
4.4.3 模型训练及分析 77
4.4.4 特征选择及数据可视化 78
4.5 拓展阅读 80
4.5.1 如何提高k-近邻算法的运算效率 80
4.5.2 相关性测试 80
4.6 复习题 81
第5章 线性回归算法 83
5.1 算法原理 83
5.1.1 预测函数 83
5.1.2 成本函数 84
5.1.3 梯度下降算法 84
5.2 多变量线性回归算法 86
5.2.1 预测函数 86
5.2.2 成本函数 87
5.2.3 梯度下降算法 88
5.3 模型优化 89
5.3.1 多项式与线性回归 89
5.3.2 数据归一化 89
5.4 示例:使用线性回归算法拟合正弦函数 90
5.5 示例:测算房价 92
5.5.1 输入特征 92
5.5.2 模型训练 93
5.5.3 模型优化 94
5.5.4 学习曲线 95
5.6 拓展阅读 96
5.6.1 梯度下降迭代公式推导 96
5.6.2 随机梯度下降算法 96
5.6.3 标准方程 97
5.7 复习题 97
第6章 逻辑回归算法 98
6.1 算法原理 98
6.1.1 预测函数 98
6.1.2 判定边界 99
6.1.3 成本函数 100
6.1.4 梯度下降算法 102
6.2 多元分类 102
6.3 正则化 103
6.3.1 线性回归模型正则化 103
6.3.2 逻辑回归模型正则化 104
6.4 算法参数 104
6.5 实例:乳腺癌检测 106
6.5.1 数据采集及特征提取 106
6.5.2 模型训练 108
6.5.3 模型优化 110
6.5.4 学习曲线 111
6.6 拓展阅读 113
6.7 复习题 114
第7章 决策树 115
7.1 算法原理 115
7.1.1 信息增益 116
7.1.2 决策树的创建 119
7.1.3 剪枝算法 120
7.2 算法参数 121
7.3 实例:预测泰坦尼克号幸存者 122
7.3.1 数据分析 122
7.3.2 模型训练 123
7.3.3 优化模型参数 124
7.3.4 模型参数选择工具包 127
7.4 拓展阅读 130
7.4.1 熵和条件熵 130
7.4.2 决策树的构建算法 130
7.5 集合算法 131
7.5.1 自助聚合算法Bagging 131
7.5.2 正向激励算法boosting 131
7.5.3 随机森林 132
7.5.4 ExtraTrees算法 133
7.6 复习题 133
第8章 支持向量机 134
8.1 算法原理 134
8.1.1 大间距分类算法 134
8.1.2 松弛系数 136
8.2 核函数 138
8.2.1 最简单的核函数 138
8.2.2 相似性函数 140
8.2.3 常用的核函数 141
8.2.4 核函数的对比 142
8.3 scikit-learn里的SVM 144
8.4 实例:乳腺癌检测 146
8.5 复习题 149
第9章 朴素贝叶斯算法 151
9.1 算法原理 151
9.1.1 贝叶斯定理 151
9.1.2 朴素贝叶斯分类法 152
9.2 一个简单的例子 153
9.3 概率分布 154
9.3.1 概率统计的基本概念 154
9.3.2 多项式分布 155
9.3.3 高斯分布 158
9.4 连续值的处理 159
9.5 实例:文档分类 160
9.5.1 获取数据集 160
9.5.2 文档的数学表达 161
9.5.3 模型训练 163
9.5.4 模型评价 165
9.6 复习题 167
第10章 PCA算法 168
10.1 算法原理 168
10.1.1 数据归一化和缩放 169
10.1.2 计算协方差矩阵的特征向量 169
10.1.3 数据降维和恢复 170
10.2 PCA 算法示例 171
10.2.1 使用Numpy模拟PCA计算过程 171
10.2.2 使用sklearn进行PCA降维运算 173
10.2.3 PCA的物理含义 174
10.3 PCA 的数据还原率及应用 175
10.3.1 数据还原率 175
10.3.2 加快监督机器学习算法的运算速度 176
10.4 实例:人脸识别 176
10.4.1 加载数据集 176
10.4.2 一次失败的尝试 179
10.4.3 使用PCA来处理数据集 182
10.4.4 最终结果 185
10.5 拓展阅读 189
10.6 复习题 189
第11章 k-均值算法 190
11.1 算法原理 190
11.1.1 k-均值算法成本函数 191
11.1.2 随机初始化聚类中心点 191
11.1.3 选择聚类的个数 192
11.2 scikit-learn里的k-均值算法 192
11.3 使用k-均值对文档进行聚类分析 195
11.3.1 准备数据集 195
11.3.2 加载数据集 196
11.3.3 文本聚类分析 197
11.4 聚类算法性能评估 200
11.4.1 Adjust Rand Index 200
11.4.2 齐次性和完整性 201
11.4.3 轮廓系数 203
11.5 复习题 204
后记 205
· · · · · · (收起)
读后感
用户评价
对于有一定机器学习基础的读者来说,这本书依然能提供不少价值。虽然我不是零基础,但之前学习的知识点比较零散,而且对于一些高级算法的理解不够深入。这本书的结构安排得很合理,从基础概念到进阶应用,层层递进,逻辑清晰。我尤其喜欢书中对集成学习方法,如梯度提升和AdaBoost的讲解,作者不仅解释了算法的原理,还详细展示了如何在scikit-learn中实现它们,并分析了不同参数对模型性能的影响。另外,书中关于模型解释性的部分也给我留下了深刻的印象,如何利用LIME、SHAP等工具来理解模型的决策过程,对于我们在实际项目中解释模型给非技术人员看非常重要。这本书的阅读体验很好,篇幅适中,不会让人感到过于冗长,同时又足够深入,能够满足我对更高级机器学习技术的探索需求。它让我对scikit-learn库的熟悉程度又上了一个台阶,也让我对机器学习的整体理解更加系统化和深入。
不得不说,这本书在实操性方面做得相当出色。它不是那种纯理论的堆砌,而是非常注重将理论与实践相结合。我是一名正在从事数据分析工作的职场人士,希望通过学习机器学习来提升工作效率和解决实际问题的能力。这本书的优点在于,它直接引入了scikit-learn这个强大的Python库,几乎涵盖了从数据加载、模型选择、参数调优到模型评估的整个流程。我特别欣赏书中关于模型评估的章节,详细讲解了准确率、精确率、召回率、F1分数以及ROC曲线等指标的含义和应用场景,并且提供了相应的代码来计算这些指标。这对于我理解模型的优劣,选择最适合特定任务的模型至关重要。此外,书中还花了相当大的篇幅讲解了模型过拟合和欠拟合的问题,以及如何通过交叉验证、正则化等方法来解决这些问题。这些内容都非常贴近实际工作中会遇到的挑战。每次遇到问题,翻开这本书,总能找到相关的案例和解决方法。它就像一个随身携带的工具箱,让我在面对复杂的机器学习任务时,能够更加得心应手,快速找到解决方案。
我是一名对计算机科学充满热情的高校学生,一直对机器学习领域的发展感到兴奋。在老师的推荐下,我开始阅读《scikit-learn机器学习》。这本书的特点在于,它不仅仅是讲解算法,更侧重于教会读者如何运用工具来解决问题。scikit-learn库的易用性和强大功能在这本书中得到了充分的体现。从加载数据集到构建模型,再到评估和优化,每一个步骤都清晰明了。我特别喜欢书中关于聚类算法的部分,比如K-Means和DBSCAN,作者不仅解释了它们的工作原理,还给出了如何在scikit-learn中实现这些算法,并通过可视化来展示聚类结果。这让我对无监督学习有了更直观的认识。书中还涉及了降维技术,如PCA和t-SNE,这些对于处理高维数据非常有帮助。对我而言,这本书最大的价值在于它提供了一个实际可行的框架,让我能够快速地将理论知识转化为实践能力,为我后续的学习和科研项目打下了坚实的基础。
这本书简直打开了我机器学习的大门!作为一名完全的初学者,我一直对人工智能和数据分析充满好奇,但又苦于不知从何下手。市面上充斥着各种算法原理晦涩难懂的教材,让我望而却步。而《scikit-learn机器学习》这本书,则恰恰解决了我的痛点。作者用一种极其友好的方式,将复杂的机器学习概念拆解开来,从最基础的监督学习、无监督学习讲起,到常用的算法如线性回归、逻辑回归、支持向量机、决策树和随机森林,都做了详尽的介绍。更重要的是,书中大量穿插了生动的代码示例,每一个概念都有对应的Python代码实现,让我能够边学边练。我尤其喜欢书中关于数据预处理和特征工程的章节,这部分常常是新手容易忽略却至关重要的一环。书中不仅讲解了如何清洗数据、处理缺失值,还深入介绍了特征选择、特征提取等技巧,这些都为我后续建模打下了坚实的基础。当我第一次成功地用scikit-learn训练出一个预测模型,看到准确率的提升时,那种成就感无与伦比。这本书的语言风格亲切自然,就像一位经验丰富的导师在手把手教你一样,让我觉得学习机器学习不再是一件遥不可及的事情,而是充满了乐趣和挑战。
这本书就像一本精心制作的“机器学习速成指南”,但又比“速成”二字所包含的肤浅要深入得多。我是一名非计算机专业的在职人员,一直想了解机器学习是如何工作的,但又担心复杂的数学公式和晦涩的理论。这本书以一种非常“平民化”的语言,解释了机器学习的核心概念,并且巧妙地避开了那些劝退新手的纯理论推导。它专注于scikit-learn这个强大的库,通过大量的代码示例,展示了如何一步步地实现一个完整的机器学习项目。从数据加载、探索性数据分析,到特征工程、模型选择,再到模型训练、评估和优化,每一个环节都有清晰的代码指导。我尤其欣赏书中关于模型选择和超参数调优的部分,例如网格搜索和随机搜索的使用,这让我能够系统地找到最优的模型配置,而不是盲目地尝试。这本书让我觉得,原来机器学习并没有想象中那么高不可攀,通过学习和实践,普通人也能掌握这项强大的技术,并将其应用到自己的工作和生活中。
例子都比较通俗易懂,可以作为入门书,但是也有一些错误。
200页的书 大概半本是python代码吧…每章结尾的复习题还挺好的…
因为内容涵盖较少,有代码实现(虽然基本是调包)和少量的数学推导,个人认为比西瓜书易读,读完能粗浅了解sklearn的常用包
200页的书 大概半本是python代码吧…每章结尾的复习题还挺好的…
比较简单易懂,同时语言也比较不严谨