第1章 R软件的使用方法 1
1.1 R软件介绍和安装 1
1.1.1 R软件介绍 1
1.1.2 R软件的安装 1
1.1.3 R studio的安装 2
1.2 R语言基本运算 3
1.2.1 R语言的数值运算 3
1.2.2 R语言的向量 5
1.2.3 R语言的向量运算 6
1.3 R语言缺失数据 7
1.3.1 R语言缺失数据类型 7
1.3.2 R语言缺失数据识别 7
1.3.3 R语言缺失数据处理 8
1.4 矩阵的运算 8
1.4.1 矩阵建立 8
1.4.2 矩阵计算 10
1.4.3 矩阵分解 11
1.5 列表和数据框 12
1.5.1 列表介绍 12
1.5.2 数据框介绍 13
1.6 R软件的数据读/写 14
1.7 R软件包介绍 15
1.7.1 包的基础知识 15
1.7.2 自动安装包 15
1.7.3 通过硬盘加载包 16
1.7.4 常见包介绍 16
1.8 R语言的函数 16
1.8.1 循环结构 16
1.8.2 条件执行结构 17
1.8.3 自定义函数 18
1.9 R软件绘图功能介绍 19
1.9.1 高级绘图函数 20
1.9.2 低级绘图函数 22
1.9.3 用ggplot2包进行绘图 25
第2章 C4.5算法 30
2.1 算法简介 30
2.2 算法基本原理 30
2.3 算法的R语言实现 33
2.3.1 ctree函数介绍 33
2.3.2 C4.5决策树的R语言实例 33
2.4 小结 35
参考文献 36
第3章 k-means算法 37
3.1 算法简介 37
3.2 算法基本原理 37
3.3 算法的R语言实现 39
3.3.1 kmeans函数介绍 39
3.3.2 k-means聚类的R语言实例 39
3.4 小结 41
参考文献 42
第4章 CART算法 44
4.1 算法简介 44
4.2 算法基本原理 44
4.2.1 CART算法的建树 44
4.2.2 CART算法的剪枝 45
4.2.3 算法过程实例 46
4.3 算法的R语言实现 48
4.3.1 rpart函数介绍 48
4.3.2 CART决策树的R语言实例 48
4.3.3 rpart函数的补充说明 50
4.4 小结 52
参考文献 52
第5章 Apriori算法 53
5.1 算法简介 53
5.2 算法基本原理 53
5.2.1 挖掘频繁模式和关联规则 53
5.2.2 Apriori算法 55
5.2.3 AprioriTid算法 61
5.2.4 挖掘顺序模式 64
5.2.5 Apriori算法的一种改进算法 65
5.3 算法的R语言实现算法 66
5.3.1 apriori函数介绍 66
5.3.2 Apriori模型 66
5.4 小结 68
参考文献 68
第6章 EM算法 70
6.1 算法简介 70
6.2 算法基本原理 71
6.2.1 基础理论 71
6.2.2 算法过程实例 71
6.3 算法的R语言实现 76
6.3.1 mclust函数介绍 76
6.3.2 EM标准模型的R语言实现 77
6.3.3 存在噪声的EM算法的R语言实现 79
6.3.4 EM算法应用于高斯混合模型(GMM) 81
6.3.5 EM算法应用于Iris数据集 84
6.4 小结 84
参考文献 85
第7章 PageRank算法 86
7.1 算法简介 86
7.2 算法基本原理 86
7.3 算法的R语言实现 89
7.3.1 page.rank函数介绍 89
7.3.2 igraph包实现PageRank算法 89
7.3.3 自定义PageRank算法的R语言实现 90
7.3.4 补充实例 91
7.4 小结 95
参考文献 96
第8章 AdaBoost算法 97
8.1 算法简介 97
8.2 算法基本原理 97
8.2.1 Boosting算法 97
8.2.2 AdaBoost算法 98
8.2.3 算法过程实例 101
8.3 算法的R语言实现 102
8.3.1 boosting函数介绍 102
8.3.2 R语言实例 102
8.4 小结 104
参考文献 104
第9章 kNN算法 105
9.1 算法简介 105
9.2 算法基本原理 105
9.2.1 算法描述 105
9.2.2 算法流程 107
9.3 算法的R语言实现 108
9.3.1 knn函数介绍 108
9.3.2 利用class包中的knn函数建立模型 108
9.3.3 kNN算法应用于Iris数据集 109
9.3.4 kNN算法应用于Breast数据集 111
9.4 小结 113
参考文献 114
第10章 Naive Bayes算法 115
10.1 算法简介 115
10.2 算法基本原理 115
10.2.1 基础理论 115
10.2.2 算法过程实例 118
10.3 算法的R语言实现 120
10.3.1 naiveBayes函数介绍 120
10.3.2 利用e1071包中的naiveBayes函数建立模型 120
10.3.3 算法拓展——其他改进的Naive Bayes算法 121
10.4 小结 123
参考文献 123
第11章 SVM算法 125
11.1 算法简介 125
11.2 算法基本原理 125
11.2.1 基础理论 125
11.2.2 软间隔优化 127
11.2.3 核映射 129
11.2.4 SVM算法的过程 130
11.2.5 SVC算法过程实例 130
11.3 算法的R语言实现 132
11.3.1 svm函数介绍 132
11.3.2 标准分类模型 133
11.3.3 多分类模型 133
11.3.4 SVM回归 134
11.3.5 SVM拓展包(kernlab包) 135
11.3.6 SVM算法应用于Iris数据集(e1071包) 135
11.3.7 SVM算法应用于Iris数据集(kernlab包) 136
11.4 小结 137
参考文献 138
第12章 案例分析 139
12.1 关联规则案例分析 139
12.1.1 问题描述 139
12.1.2 R语言实现过程 139
12.1.3 不同参数的Apriori模型 141
12.1.4 小结 145
12.2 kNN算法案例分析 145
12.2.1 问题描述 145
12.2.2 R语言实现过程 145
12.2.3 小结 148
12.3 Naive Bayes算法案例分析 149
12.3.1 问题描述 149
12.3.2 R语言实现过程 149
12.3.3 小结 152
12.4 CART算法案例分析 152
12.4.1 问题描述 152
12.4.2 R语言实现过程 152
12.4.3 小结 159
12.5 AdaBoost算法案例分析 159
12.5.1 问题描述 159
12.5.2 R语言实现过程 159
12.5.3 小结 161
12.6 SVM算法案例分析 162
12.6.1 问题描述 162
12.6.2 R语言实现过程 162
12.6.3 小结 167