本书以深入浅出的语言系统地讲解了数据挖掘的框架和基本方法,主要内容包括:数据挖掘与R语言概述、数据理解、数据准备、关联规则挖掘、聚类分析、线性模型与广义线性模型、神经网络的基本方法、决策树、基于决策树的模型组合、模型评估与比较。本书使用基于R语言的数据挖掘案例贯穿全书,并辅以上机实验和习题,帮助读者熟练使用R语言进行数据挖掘。
本书可作为高等院校数据分析与数据挖掘课程的教材,适合于有意学习并使用数据挖掘基本技术的本科生、研究生以及业界人士阅读。
1.本书是北京大学光华管理学院“数据挖掘与应用”课程教材。
2.本书作者被誉为“哈佛小魔女”,中科院少年班天才统计学家,张俊妮教授十年一剑之作。
3.全书案例丰富,涵盖医疗、金融、营销、保险、政府部门等应用案例。
4.提供全套教学解决方案,推动“数据挖掘”课程的建设和发展。
张俊妮博士现任北京大学光华管理学院统计学副教授。她1998年毕业于中国科学技术大学,获计算机软件学士学位;2002年毕业于美国哈佛大学,获统计学博士学位。她的研究领域为因果推断、贝叶斯分析、蒙特卡洛方法、数据挖掘以及统计在经济、金融、营销中的应用。
第 一章 数据挖掘与R语言概述 7
1.1 什么是数据挖掘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 数据挖掘的基本流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 应用背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 数据收集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 数据准备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 建立模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.5 模型评估与选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.6 模型监测与更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 关于数据挖掘项目的三个基本问题 . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 建模数据集对预测数据集的代表性 10
1.3.2 自变量和因变量之间关系的因果性解释 11
1.3.3 模型预测精度对于实际应用的价值 12
1.4 CRISP-DM数据挖掘方法论 12
1.5 SEMMA数据挖掘方法论 13
1.6 R语言及Rstudio简介 15
第二章 数据理解 17
2.1 收集初始数据 17
2.2 描述数据 17
2.2.1 数据的精确含义 17
2.2.2 数据粒度 18
2.2.3 变量类型 18
2.2.4 冗余变量 19
2.2.5 缺省值 19
2.2.6 数据链接 19
3
4 目录
2.3 检查数据质量 19
2.3.1 抽样偏差 19
2.3.2 数据取值错误 20
2.3.3 数据缺失情况 21
2.4 初步探索数据 22
2.5 R语言分析示例:数据理解 22
第三章 数据准备 33
3.1 数据整合 33
3.2 处理分类自变量 33
3.3 处理时间信息 34
3.4 清除变量 35
3.5 异常值 35
3.6 及值 36
3.7 处理缺失数据 37
3.8 过抽样与欠抽样 38
3.9 降维 38
3.9.1 变量选择 38
3.9.2 主成分分析 39
3.10 R语言分析示例:数据整合 41
3.11 R语言分析示例:数据准备 47
第四章 关联规则挖掘 59
4.1 关联规则的基本概念及Apriori算法 59
4.1.1 关联规则的基本概念 59
4.1.2 Apriori算法简介 60
4.2 序列关联规则挖掘 60
4.3 R语言分析示例:关联规则挖掘 61
4.3.1 购物篮分析 61
4.3.2 泰坦尼克号存活情况分析 68
第五章 聚类分析 75
5.1 k均值聚类法 75
5.1.1 观测之间的距离度量 75
5.1.2 k均值聚类法的具体步骤 76
目录 5
5.1.3 关于k均值聚类法的一些点评 77
5.2 层次聚类法 78
5.2.1 层次聚类法的具体步骤 78
5.2.2 类别之间距离的度量 78
5.3 确定最优类别数 80
5.4 R语言分析示例:聚类 82
第六章 线性模型与广义线性模型 93
6.1 线性模型 93
6.1.1 模型假设与估计 93
6.1.2 模型解释 94
6.1.3 一些理论结果 94
6.1.4 模型诊断 95
6.2 广义线性模型 98
6.2.1 广义线性模型简介 98
6.2.2 因变量为二值变量或比例的情形 99
6.2.3 因变量为多种取值的名义变量的情形 100
6.2.4 因变量为定序变量的情形 100
6.2.5 因变量为计数变量的情形 101
6.2.6 因变量为取值可正可负的连续变量的情形 101
6.2.7 因变量为非负连续变量的情形 101
6.3 线性模型与广义线性模型中的变量选择 101
6.3.1 逐步回归 101
6.3.2 LASSO 102
6.4 R语言分析示例:线性模型与广义线性模型 103
6.4.1 线性模型示例 103
6.4.2 逻辑回归及Lasso示例:印第安女性糖尿病数据 107
6.4.3 逻辑回归及Lasso示例:移动运营商数据 112
第七章 神经网络的基本方法 119
7.1 神经元及神经网络介绍 119
7.1.1 单个神经元 119
7.1.2 多层感知器架构 119
7.2 神经网络模型训练 119
7.2.1 误差函数 119
6 目录
7.2.2 神经网络训练算法 119
7.3 提高神经网络模型的可推广性 119
7.4 R语言分析示例:神经网络 119
7.4.1 白葡萄酒数据 119
7.4.2 移动运营商数据 119
第八章 决策树 121
8.1 决策树简介 121
8.2 决策树的生长与修剪 121
8.2.1 一般过程 121
8.2.2 分类树 121
8.2.3 回归树 121
8.3 对缺失数据的处理 121
8.4 变量选择 121
8.5 决策树的优缺点 121
8.6 R语言分析示例:决策树 121
第九章 基千决策树的模型组合 123
9.1 基于决策树的Bagging方法 123
9.2 基于决策树的Boosting方法 123
9.3 随机森林 123
9.4 贝叶斯累加回归树(BART) 123
9.5 R语言分析示例:基于决策树的模型组合 123
第十章 模型评估与比较 125
10.1 因变量为二分变量的情形 125
10.2 因变量为多分变量的情形 125
10.3 因变量为连续变量的情形 125
10.4 R语言分析示例:模型评估与比较 125
第十一章 R语言分析案例:Kaggle房价预测数据 127
11.1 数据介绍与业务理解 127
11.2 数据理解与数据准备 127
11.3 建模 127
11.4 模型评估与比较 127
11.5 模型应用 12