第1章 数据分析绪论 1
1.1 理解数据中字段的类型是数据分析的重要前提 1
1.2 进行数据分析时数据的表示形式 2
1.3 数据分类——数据类别的自动识别 2
1.4 数据分类问题与回归问题的区别与联系 2
1.5 数据分析算法简介 4
1.6 交叉验证 4
1.7 一个最简单的分类器-K近邻分类器 6
1.8 后续章节组织 6
参考文献 7
第2章 SVM算法 8
2.1 算法原理 8
2.2 工具包简介 10
2.2.1 LibSVM的安装 10
2.2.2 LibSVM的使用 10
2.3 实例详解 12
参考文献 13
第3章 决策树算法 14
3.1 信息熵值 14
3.2 决策树的构建目标 14
3.3 ID3决策树算法 15
3.4 C4.5决策树算法 16
3.5 CART决策树算法 17
3.6 ID3、C4.5、CART算法的终止条件 17
3.7 C4.5算法的参数介绍 18
3.8 实例详解 18
参考文献 20
第4章 随机森林算法 21
4.1 算法原理 21
4.2 工具包介绍 22
4.3 实例详解 23
参考文献 24
第5章 梯度提升决策树算法 25
5.1 算法原理 25
5.2 工具包介绍 28
5.3 实例详解 29
参考文献 31
第6章 AdaBoost算法 32
6.1 算法原理 32
6.2 工具包介绍 36
6.3 实例详解 38
参考文献 42
第7章 朴素贝叶斯分类器 43
7.1 朴素贝叶斯分类的问题定义 43
7.2 朴素贝叶斯算法原理 43
7.3 一种常见的朴素贝叶斯模型的错误计算方法 47
7.4 朴素贝叶斯算法对连续型属性的处理 48
参考文献 49
第8章 极限学习机器算法 50
8.1 算法原理 50
8.2 算法参数介绍 50
8.3 实例详解 51
参考文献 52
第9章 逻辑回归算法 53
9.1 Logistic Regression算法流程 53
9.1.1 Logistic Regression模型的训练 53
9.1.2 Logistic Regression模型的预测 54
9.2 Logistic Regression算法原理推导 54
参考文献 55
第10章 稀疏表示分类算法 56
10.1 算法原理 56
10.2 SRC工具包及算法参数介绍 56
10.3 SRC算法实例详解 57
参考文献 58
第11章 不同数据分类算法性能的大规模实验对比分析 59
11.1 为什么要比较不同数据分类算法的性能? 59
11.2 不同数据分类算法性能比较的相关工作 60
11.3 最新数据分类算法性能的大规模实验对比分析结果 61
11.3.1 实验数据集及调参细节 61
11.3.2 实验结果 62
11.4 结论 67
参考文献 68
第12章 从二分类到多分类——OVA 69
12.1 OVA聚合规则的核心思想 69
12.2 MAX聚合规则 70
12.3 DOO聚合规则 72
12.4 调用示例 75
参考文献 78
第13章 从二分类到多分类——OVO 79
13.1 OVO聚合规则的核心思想 79
13.2 WV聚合规则 80
13.3 VOTE聚合规则 82
13.4 PC聚合规则 83
13.5 PE聚合规则 85
13.6 LVPC聚合规则 87
13.7 调用示例 88
参考文献 91
第14章 从二分类到多分类——ECOC 92
14.1 ECOC的核心思想 92
14.2 ECOC编码 93
14.2.1 ECOC OVA算法的编码步骤 93
14.2.2 ECOC OVO算法的原理和源码赏析 93
14.2.3 Sparse Dense Random算法的原理和源码赏析 94
14.2.4 DECOC算法的原理和源码赏析 96
14.2.5 Forest-ECOC算法的原理和源码赏析 96
14.3 ECOC译码 100
14.3.1 HD算法的原理和源码赏析 100
14.3.2 LAP算法的原理和源码赏析 101
14.4 ECOC多类分类调用示例 101
参考文献 106
第15章 三种从二分类到多分类聚合策略的实验对比分析 107
15.1 OVA策略的实验结果 107
15.2 OVO策略的实验结果 111
15.3 ECOC策略的实验结果 114
参考文献 119
第16章 多个分类算法的集成方法研究 120
16.1 差异性(Diversity)的原理与技术 121
16.2 集成学习方法 123
16.2.1 简单加权投票集成方法 123
16.2.2 随机爬山算法 125
16.2.3 集成前序算法和集成后序算法 128
16.2.4 循环集成方法 133
16.2.5 其他集成学习方法 135
16.3 本章小结 135
参考文献 136
第17章 属性选择算法 138
17.1 fspackage和LibSVM的使用 138
17.1.1 程序包fspackage的使用方法 138
17.1.2 分类器LibSV M的使用方法 139
17.1.3 分类器LibSVM的调用实例 140
17.2 信息增益算法 142
17.2.1 算法原理 142
17.2.2 代码讲解 142
17.2.3 案例详解 143
17.3 卡方分布算法 145
17.3.1 卡方分布算法的原理 145
17.3.2 卡方分布算法的使用 148
17.3.3 案例详解 148
17.4 基于Fisher Score的属性选择算法 150
17.4.1 Fisher Score的原理 150
17.4.2 代码讲解 151
17.4.3 案例详解 152
17.5 基于基厄系数的属性选择算法 154
17.5.1 基厄系数的原理 154
17.5.2 代码讲解 155
17.5.3 案例详解 156
17.6 基于T检验的属性选择算法 158
17.6.1 T检验的原理 158
17.6.2 代码讲解 158
17.6.3 案例详解 159
参考文献 161
第18章 高级属性选择算法 162
18.1 线性前向选择算法 162
18.1.1 算法原理 162
18.1.2 代码讲解 163
18.1.3 案例详解 164
18.2 顺序前向选择算法 165
18.2.1 算法原理 165
18.2.2 代码讲解 165
18.2.3 案例详解 170
18.3 基于稀疏多项式逻辑回归的属性选择算法 171
18.3.1 算法原理 171
18.3.2 代码讲解 171
18.3.3 案例详解 172
18.4 Our——多个属性选择算法的集成策略 174
18.4.1 算法原理 174
18.4.2 代码讲解 174
18.4.3 案例详解 175
18.4.4 our算法的优势 177
18.5 属性选择算法的大规模实验对比分析 177
18.5.1 实验数据 177
18.5.2 属性选择算法结合LibSVM的测试 179
18.5.3 属性选择算法结合C4.5的测试 181
18.5.4 实验小结 183
参考文献 184
第19章 数据选择算法 185
19.1 衡量不均衡数据分类质量的常用方法 185
19.1.1 方法介绍 185
19.1.2 代码讲解 186
19.1.3 案例详解 187
19.2 RUS算法 188
19.2.1 算法原理 188
19.2.2 代码讲解 188
19.2.3 案例详解 189
19.3 CNN算法 191
19.3.1 算法原理 191
19.3.2 代码讲解 191
19.3.3 案例详解 193
19.4 SMOTE算法 194
19.4.1 算法原理 194
19.4.2 代码讲解 194
19.4.3 案例详解 196
19.5 ADASYN算法 197
19.5.1 算法原理 197
19.5.2 代码讲解 198
19.5.3 案例详解 199
19.6 OSS算法 200
19.6.1 算法原理 200
19.6.2 代码讲解 201
19.6.3 案例详解 202
19.7 本章小结 203
参考文献 203
第20章 不均衡数据分类算法及大规模实验分析 205
20.1 C4.5CS算法 205
20.1.1 算法原理 205
20.1.2 代码讲解 205
20.1.3 案例详解 213
20.2 使用Random Forests和GBDT进行不均衡数据分类 214
20.2.1 Random Forests 214
20.2.2 GBDT 216
20.3 BalanceCascade不均衡数据分类算法 216
20.4 其他不均衡数据分类算法及不均衡分类器的集成算法 216
20.5 结合属性选择和数据选择的不均衡数据分类实验 217
20.5.1 实验内容 217
20.5.2 实验数据 217
20.5.3 实验结果分析 219
参考文献 226
第21章 大数据分析 227
21.1 Spark平台简介 227
21.2 基于Ambari的Spark及Spark集群的安装与配置 227
21.3 Ambari集群扩展 234
21.4 基于Spark平台的分布式编程示例 237
21.5 MLlib——Spark平台上的机器学习库 239
21.5.1 Random Forest的MLlib实现 239
21.5.2 Decision tree的MLlib实现 241
参考文献 244
后记 245