前言
第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
· · · · · · (
收起)