内容简介
本书为研究人员、高校学生、数据分析人员介绍了使用R语言进行数据挖掘应用的实用方法和技术。读者会从本书中发现使用R语言完成数据挖掘任务(如分类和预测、聚类、孤立点检测、关联规则、序列分析、文本挖掘、社会网络分析、情感分析等)的有价值的指导。数据挖掘技术在广泛领域都发展迅速。本书重点关注数据挖掘过程的建模阶段,以及数据探查和模型评估问题。本书讲述简洁实用,配有现实应用案例和代码示例以及数据,在线资源及时丰富,是一本数据分析的实战技术图书。
目录
目 录
R and Data Mining:Examples and Case Studies
出版者的话
译者序
缩写词表
第1章 简介1
1.1 数据挖掘1
1.2 R1
1.3 数据集2
1.3.1 iris数据集2
1.3.2 bodyfat数据集3
第2章 数据的导入与导出4
2.1 R数据的保存与加载4
2.2 .CSV文件的导入与导出4
2.3 从SAS中导入数据5
2.4 通过ODBC导入与导出数据6
2.4.1 从数据库中读取数据7
2.4.2 从Excel文件中导入与导出数据7
第3章 数据探索8
3.1 查看数据8
3.2 探索单个变量10
3.3 探索多个变量12
3.4 更多探索15
3.5 将图表保存到文件中19
第4章 决策树与随机森林21
4.1 使用party包构建决策树21
4.2 使用rpart包构建决策树24
4.3 随机森林29
第5章 回归分析33
5.1 线性回归33
5.2 逻辑回归38
5.3 广义线性回归38
5.4 非线性回归40
第6章 聚类41
6.1 k-means聚类41
6.2 k-medoids聚类43
6.3 层次聚类45
6.4 基于密度的聚类46
第7章 离群点检测50
7.1 单变量的离群点检测50
7.2 局部离群点因子检测53
7.3 用聚类方法进行离群点检测56
7.4 时间序列数据的离群点检测58
7.5 讨论59
第8章 时间序列分析与挖掘60
8.1 R中的时间序列数据60
8.2 时间序列分解60
8.3 时间序列预测62
8.4 时间序列聚类63
8.4.1 动态时间规整63
8.4.2 合成控制图的时间序列数据64
8.4.3 基于欧氏距离的层次聚类65
8.4.4 基于DTW距离的层次聚类66
8.5 时间序列分类67
8.5.1 基于原始数据的分类67
8.5.2 基于特征提取的分类68
8.5.3 k-NN分类69
8.6 讨论70
8.7 延伸阅读70
第9章 关联规则71
9.1 关联规则的基本概念71
9.2 Titanic数据集71
9.3 关联规则挖掘73
9.4 消除冗余78
9.5 解释规则79
9.6 关联规则的可视化80
9.7 讨论与延伸阅读82
第10章 文本挖掘84
10.1 Twitter的文本检索84
10.2 转换文本85
10.3 提取词干86
10.4 建立词项-文档矩阵88
10.5 频繁词项与关联90
10.6 词云91
10.7 词项聚类92
10.8 推文聚类94
10.8.1 基于k-means算法的推文聚类94
10.8.2 基于k-medoids算法的推文聚类96
10.9 程序包、延伸阅读与讨论98
第11章 社交网络分析99
11.1词项网络99
11.2推文网络102
11.3双模式网络107
11.4讨论与延伸阅读110
第12章 案例Ⅰ:房价指数的分析与预测111
12.1HPI数据导入111
12.2HPI数据探索112
12.3HPI趋势与季节性成分118
12.4HPI预测120
12.5房地产估价122
12.6讨论122
第13章 案例Ⅱ:客户回复预测与效益化123
13.1简介123
13.2KDD Cup 1998的数据123
13.3数据探索131
13.4训练决策树137
13.5模型评估140
13.6选择决策树143
13.7评分145
13.8讨论与总结148
第14章 案例Ⅲ:内存受限的大数据预测模型150
14.1简介150
14.2研究方法150
14.3数据与变量151
14.4随机森林152
14.5内存问题153
14.6样本数据的训练模型154
14.7使用已选变量建立模型156
14.8评分162
14.9输出规则168
14.9.1以文本格式输出规则168
14.9.2输出SAS规则的得分172
14.10总结与讨论177
第15章 在线资源178
15.1R参考文档178
15.2R178
15.3数据挖掘179
15.4R的数据挖掘180
15.5R的分类与预测181
15.6R的时间序列分析181
15.7R的关联规则挖掘181
15.8R的空间数据分析181
15.9R的文
摘要与插图
第1章R and Data Mining:Examples and Case Studies
简 介
本书主要介绍使用R工具进行数据挖掘,将给出在R中实现数据挖掘功能的许多例子,以及3个真实应用场景的案例。本书适合硕士研究生、研究人员和想要使用R工具进行数据挖掘研究和项目的数据挖掘工程师。我们假定读者已经具备基础的数据挖掘知识,并且接触过R语言。我们希望能够通过这本书鼓励更多的人在他们的研究与应用中使用R进行数据挖掘工作。
本章主要介绍一些关于数据挖掘的基本概念和技术,包括数据挖掘的过程和常用的数据挖掘技术。同时,还将介绍R语言,以及进行数据挖掘时常用的R程序包、函数和任务视图。本章的还将介绍本书中将要使用到的几个数据集。
1.1 数据挖掘
数据挖掘是从大量的数据中发现有趣知识的过程[Han and Kamber, 2000]。数据挖掘是一个涉及多个领域的交叉学科,包括统计学、机器学习、信息检索、模式识别以及生物信息学。数据挖掘已经在许多领域中得到了广泛应用,例如、金融、通信以及社交媒体行业。
数据挖掘的主要技术包括分类与预测、聚类、离群点检测、关联规则、序列分析、时间序列分析和文本挖掘,同时还包括一些新的技术,例如社交网络分析和情感分析。想要了解更多关于数据挖掘相关技术的详细介绍可以参考有关数据挖掘的教材[Han and Kamber, 2000; Hand et al, 2001; Witten and Frank, 2005]。CRISP-DM(Cross Industry Standard Process For Data Mining,数据挖掘的跨行业标准过程)将一个真实应用中的数据挖掘过程划分为6个主要阶段:业务理解、数据理解、数据预处理、建模、评估和部署。本书的重点是建模阶段,其中也有部分章节介绍数据探索和模型评估。读者想要获取更多关于数据挖掘的信息可以参考第15章中的在线资源。
1.2 R
R[R核心开发团队,2012]是一个自由软件,主要用于统计计算和统计制图,它提供了大量的统计和制图工具。R可以简单地通过程序包的形式进行扩展,截至2012年8月1日,CRAN程序包库中已经收藏了大约4000个程序包。更多关于R的详细介绍可以参考《An Introduction to R》(Venables et al., 2010)和《R Language Definition》[R核心开发团队, 2010b],这两本书都可以从CRAN网站上获取。R已经广泛应用于学术界和工业界。
为了帮助用户更快地找到需要使用的R程序包,CRAN提供了任务视图(Task Views),将所有的R程序包按照不同的处理任务组织起来。与数据挖掘相关的几个任务视图是:
机器学习和统计学习。
聚类分析和有限混合模型。
时间序列分析。
多元统计。
空间数据分析。
另一个关于R实现数据挖掘的入门指导是《R Reference Card for Data Mining》,它提供了一套完整的用于数据挖掘的R程序包和函数的索引,并根据功能进行分类。的版本可以从http://www.rdatamining.com/docs上下载。
读者想要了解更多关于R的详细信息,可以参考第15章的在线资源。
1.3 数据集
本节简单地介绍本书中将要使用到的数据集。
1.3.1 iris数据集
在许多的科研著作中都在iris数据集上做分类操作。该数据集由3种不同类型的鸢尾花的50个样本数据构成 [Frank and Asuncion,2010]。其中的一个种类与另外两个种类是线性可分离的,后两个种类是非线性可分离的。这个数据集包含了5个属性:
Sepal.Length(花萼长度),单位是cm。
Sepal.Width(花萼宽度),单位是cm。
Petal.Length(花瓣长度),单位是cm。
Petal.Width(花瓣宽度),单位是cm。
种类:Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),以及Iris Virginica(维吉尼亚鸢尾)。