第1章 机器学习基础 1
1.1定义机器学习 1
1.2从经验中学习 2
1.3机器学习任务 3
1.4训练数据、测试数据和验证数据 4
1.5偏差和方差 6
1.6 scikit-learn简介 8
1.7安装scikit-learn 8
1.7.1使用pip安装 9
1.7.2在Windows系统下安装 9
1.7.3在Ubuntu 16.04系统下安装 10
1.7.4在Mac OS系统下安装 10
1.7.5安装Anaconda 10
1.7.6验证安装 10
1.8安装pandas、Pillow、NLTK和matplotlib 11
1.9小结 11
第2章 简单线性回归 12
2.1简单线性回归 12
2.1.1用代价函数评价模型的拟合性 15
2.1.2求解简单线性回归的OLS 17
2.2评价模型 19
2.3小结 21
第3章 用K-近邻算法分类和回归 22
3.1 K-近邻模型 22
3.2惰性学习和非参数模型 23
3.3 KNN模型分类 23
3.4 KNN模型回归 31
3.5小结 36
第4章 特征提取 37
4.1从类别变量中提取特征 37
4.2特征标准化 38
4.3从文本中提取特征 39
4.3.1词袋模型 39
4.3.2停用词过滤 42
4.3.3词干提取和词形还原 43
4.3.4 tf-idf权重扩展词包 45
4.3.5空间有效特征向量化与哈希技巧 48
4.3.6词向量 49
4.4从图像中提取特征 52
4.4.1从像素强度中提取特征 53
4.4.2使用卷积神经网络激活项作为特征 54
4.5小结 56
第5章 从简单线性回归到多元线性回归 58
5.1多元线性回归 58
5.2多项式回归 62
5.3正则化 66
5.4应用线性回归 67
5.4.1探索数据 67
5.4.2拟合和评估模型 69
5.5梯度下降法 72
5.6小结 76
第6章 从线性回归到逻辑回归 77
6.1使用逻辑回归进行二元分类 77
6.2垃圾邮件过滤 79
6.2.1二元分类性能指标 81
6.2.2准确率 82
6.2.3精准率和召回率 83
6.2.4计算F1值 84
6.2.5 ROCAUC 84
6.3使用网格搜索微调模型 86
6.4多类别分类 88
6.5多标签分类和问题转换 93
6.6小结 97
第7章 朴素贝叶斯 98
7.1贝叶斯定理 98
7.2生成模型和判别模型 100
7.3朴素贝叶斯 100
7.4在scikit-learn中使用朴素贝叶斯 102
7.5小结 106
第8章 非线性分类和决策树回归 107
8.1决策树 107
8.2训练决策树 108
8.2.1选择问题 109
8.2.2基尼不纯度 116
8.3使用scikit-learn类库创建决策树 117
8.4小结 120
第9章 集成方法:从决策树到随机森林 121
9.1套袋法 121
9.2推进法 124
9.3堆叠法 126
9.4小结 128
第10章 感知机 129
10.1感知机 129
10.1.1激活函数 130
10.1.2感知机学习算法 131
10.1.3使用感知机进行二元分类 132
10.1.4使用感知机进行文档分类 138
10.2感知机的局限性 139
10.3小结 140
第11章 从感知机到支持向量机 141
11.1核与核技巧 141
11.2最大间隔分类和支持向量 145
11.3用scikit-learn分类字符 147
11.3.1手写数字分类 147
11.3.2自然图片字符分类 150
11.4小结 152
第12章 从感知机到人工神经网络 153
12.1非线性决策边界 154
12.2前馈人工神经网络和反馈人工神经网络 155
12.3多层感知机 155
12.4训练多层感知机 157
12.4.1反向传播 158
12.4.2训练一个多层感知机逼近XOR函数 162
12.4.3训练一个多层感知机分类手写数字 164
12.5小结 165
第13章 K-均值算法 166
13.1聚类 166
13.2 K-均值算法 168
13.2.1局部最优值 172
13.2.2用肘部法选择K值 173
13.3评估聚类 176
13.4图像量化 178
13.5通过聚类学习特征 180
13.6小结 184
第14章 使用主成分分析降维 185
14.1主成分分析 185
14.1.1方差、协方差和协方差矩阵 188
14.1.2特征向量和特征值 190
14.1.3进行主成分分析 192
14.2使用PCA对高维数据可视化 194
14.3使用PCA进行面部识别 196
14.4小结 199