产品特色
编辑推荐
公认*威教材,数据挖掘资深专家10余年大数据挖掘与实施经验结晶。华南师范大学、广东工业大学、广西科技大学等20余所大学选为教材,附赠源代码,配有教学PPT和上机实验
10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。
为零基础R语言与数据挖掘教学和自学量身打造,系统讲解R语言与数据挖掘的必备知识,配有大量的上机实验、源代码和教学PPT资源。
内容简介
这是公认的、权*的适合教学和零基础自学的R语言与数据挖掘教程,华南师范大学、广东工业大学、广西科技大学等20余所大学选为教材。即便你完全没有R语言编程基础和数据挖掘基础,根据本书中的理论知识和上机实践,你也能迅速掌握如何使用R语言进行数据挖掘。本书已经被多少高校预定为教材,为了便于教学,书中还提供了大量的上机实验和教学资源。
本书主要分为三个部分:
基础篇(1~5章),主要包括R语言及图形操作工具RStudio的安装及使用方法、数据类型和数据对象、数据预处理的常用操作(包括数据重命名、缺失值分析、排序、随机抽样等)、绘图功能(包括散点图、直方图、条形图、箱线图等)。
建模应用篇(6~10章),主要对数据挖掘中的常用算法的函数在R语言中的使用方法及其结果解释进行了介绍。涵盖了目前数据挖掘的5大类算法,包括分类与预测、聚类分析、关联规则、智能推荐和时序模式。按照模型建立至模型评价的架构进行介绍,使读者能熟练的掌握从建模到对模型评价的完整建模过程。
Rattle篇(11章),此工具能够在一个图形化的界面上对本书所介绍的R语言功能进行操作,使读者能更好的体验到使用R语言进行数据挖掘的整个流程。
书中配套提供了原始样本数据文件及对应章节示例代码。每个章节有对应的练习实验和教学PPT,读者可通过完成对应的练习,迅速掌握R语言的用法和数据挖掘的方法。
作者简介
张良均,资深大数据挖掘专家,高级信息项目管理师,有近20年的大数据挖掘应用、咨询和培训经验,被称为“中国大数据挖掘培训教父”。为电信、电力、政府、互联网、生产制造、零售、银行、生物、化工、医药等多个行业上百家大型企业提供过数据挖掘应用与咨询服务,实践经验丰富。现任广东工业大学、华南师范大学、华南农业大学等6所高校兼职教授。著有《神经网络实用教程》《数据挖掘:实用案例分析》《R语言数据分析与挖掘实战》等畅销图书。
谢佳标,资深R语言专家,多次于中国R语言大会发表演讲,具有十余年的数据挖掘实战经验。目前于某上市互联网游戏公司,任高级数据分析师,负责大数据挖掘及可视化。培训过的精品课程有:《R语言基础培训》《数据分析之R语言实战》《机器学习与R语言实践》等。
万正勇,某国际投行VP,有超过10年的金融系统大数据挖掘及分析经验,超过15年的大型金融机构核心交易系统规划设计开发经验。数据库及中间件专家,先后获得中国首届十大杰出数据库工程师,Oracle 中间件 ACE Director以及 Oracle 数据库 ACE 等称号。曾为电信,电力,航空,银行,保险,互联网,交通,制造等等行业相关龙头企业提供过咨询服务。著有《衍生数学》,《Oracle数据库DBA专题技术精粹》等畅销书。
目录
前 言
第一部分 基础篇
第1章 R语言的安装与使用 2
1.1 R安装与升级 3
1.2 R使用入门 4
1.2.1 R操作界面 4
1.2.2 RStudio窗口介绍 5
1.2.3 R常用操作 6
1.3 R数据分析包 8
1.4 配套资源使用说明 10
1.5 小结 10
1.6 上机实验 10
第2章 数据对象与数据读写 12
2.1 数据类型 12
2.2 数据结构 16
2.2.1 向量 16
2.2.2 矩阵 19
2.2.3 数组 24
2.2.4 数据框 25
2.2.5 因子 28
2.2.6 列表 31
2.3 数据文件的读写 34
2.3.1 键盘输入数据 34
2.3.2 读取不同格式的数据 35
2.3.3 从其他统计软件获取数据 37
2.3.4 从数据库获取数据 37
2.3.5 从网页获取数据 39
2.4 小结 40
2.5 上机实验 40
第3章 R语言常用数据管理 42
3.1 变量的重命名 42
3.2 缺失值分析 45
3.3 数据排序 46
3.4 随机抽样 48
3.5 数值运算函数 49
3.6 字符串处理 52
3.7 文本分词 56
3.8 apply函数族 62
3.9 数据整合 65
3.10 控制流 68
3.11 函数的编写 71
3.12 小结 72
3.13 上机实验 73
第4章 图形探索 75
4.1 图形元素 76
4.1.1 颜色 76
4.1.2 点 80
4.1.3 文本 82
4.1.4 线条 86
4.1.5 图例 91
4.1.6 坐标轴 92
4.2 图形组合 94
4.3 图形保存 97
4.4 图形函数 98
4.5 小结 116
4.6 上机实验 116
第5章 高级绘图工具 117
5.1 lattice包绘图工具 117
5.1.1 绘图特色 117
5.1.2 基本图形 122
5.2 ggplot2包绘图工具 135
5.2.1 从qplot开始 135
5.2.2 ggplot作图 137
5.3 交互式绘图工具简介 142
5.3.1 rCharts包 143
5.3.2 recharts包 147
5.3.3 googleVis包 147
5.3.4 htmlwidgets包 148
5.3.5 shiny包 153
5.4 小结 163
5.5 上机实验 163
第二部分 建模应用篇
第6章 分类与预测 166
6.1 回归分析 166
6.2 决策树 175
6.2.1 C4.5算法 176
6.2.2 CART算法 178
6.2.3 C5.0算法 180
6.3 人工神经网络 181
6.4 KNN算法 183
6.5 朴素贝叶斯分类 185
6.6 其他分类与预测算法函数 187
6.7 分类与预测算法评价 192
6.8 小结 196
6.9 上机实验 196
第7章 聚类分析 198
7.1 K-Means聚类分析函数 199
7.2 层次聚类算法 204
7.3 其他聚类分析函数 207
7.4 小结 211
7.5 上机实验 212
第8章 关联规则 213
8.1 Apriori关联规则 214
8.2 小结 226
8.3 上机实验 226
第9章 智能推荐 228
9.1 智能推荐模型构建 228
9.2 智能推荐模型评价 232
9.3 小结 235
9.4 上机实验 235
第10章 时间序列 237
10.1 ARIMA模型 237
10.2 其他时间序列模型 245
10.3 小结 250
10.4 上机实验 251
第三部分 Rattle篇
第11章 可视化数据挖掘工具Rattle 254
11.1 Rattle简介及其安装 254
11.1.1 Rattle简介 254
11.1.2 Rattle安装 254
11.2 功能预览 255
11.3 数据导入 256
11.3.1 导入CSV数据 256
11.3.2 导入ARFF数据 261
11.3.3 导入ODBC数据 262
11.3.4 R Dataset——导入其他数据源 264
11.3.5 导入RData File数据集 267
11.3.6 导入Library数据 268
11.4 数据探索 269
11.4.1 数据总体概况 269
11.4.2 数据分布探索 272
11.4.3 相关性 275
11.4.4 主成分 277
11.4.5 交互图 278
11.5 数据建模 283
11.5.1 聚类分析 283
11.5.2 关联规则 288
11.5.3 决策树 291
11.5.4 随机森林 293
11.6 模型评估 296
11.6.1 混淆矩阵 296
11.6.2 风险图 296
11.6.3 ROC图及相关图表 297
11.6.4 模型得分数据集 298
11.7 小结 299
11.8 上机实验 299
参考资料 301
前言/序言
为什么要写本书R语言是什么?R是一种适用于统计分析计算和图像处理的语言,受S语言和Scheme语言影响发展而来。早期R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不做任何修改地在R环境下运行。R的语法来自Scheme,作为一款诞生于20世纪90年代的语言,R已经成为S统计编程语言的一类实现方式。
R编程语言在数字分析与机器学习领域已经成为一款重要的工具。随着机器逐步成为愈发核心的数据生成器,该语言的人气也一路攀升。正如Tiobe、PyPL以及Redmonk等编程语言人气排名所指出,R语言所受到的关注程度正在快速提升。Rexer Analytics发布的2013年数据挖掘人员调查显示,70%的数据挖掘人员使用R软件进行分析工作,其中有24%将其作为主要工具。这些结果类似于 2013 年KDnuggets调查的结果,该调查指出有61%的响应者表示正在使用R处理分析、数据挖掘和数据科学工作。相比前一年,这一比例上升了16%。
R语言有一些明显的优势:
1)R语言作为一款开源软件,是完全免费的,对比昂贵的SPSS和SAS等统计软件,这无疑是一个巨大的优势。
2)R语言拥有一个庞大的社区来进行维护,庞大的软件包生态系统无疑是R语言最为突出的优势之一。
3)R语言具备可扩展能力且拥有丰富的功能选项,帮助开发人员构建自己的工具及方法,从而顺利实现数据分析。
4)R语言简单易学。虽与C语言之类的程序设计语言已差别很大(比如语言结构相对松散,使用变量前不需要明确正式定义变量类型等),但仍保留了程序设计语言的基础逻辑与自然的语言风格。
从R的普及来看,国外的普及度要明显好于国内,与盗版Windows的泛滥会影响Linux在中国的普及一样,破解的MATLAB与SPSS的存在也影响了R在中国的使用。但在国外高校的统计系,R几乎是一门必修的语言,具有统治性的地位。在工业界,作为互联网公司翘楚的Google内部也有不少工程使用R进行数据分析工作。随着数据挖掘在国内的发展,国内对R语言的需求必将随之一起发展。
总的来说,R语言是一款用于统计分析、数据可视化和预测建模的数据分析软件,它不单单只是一门语言,更是一个数据计算与分析的环境。R支持几乎所有数据分析所需的数据处理、统计模型和图表,支持大量的第三方功能包,涵盖了从统计计算到机器学习,从金融分析到生物信息,从社会网络分析到自然语言处理,从各种数据库各种语言接口到高性能计算模型等内容。随着大数据时代的来临,数据挖掘将更加广泛地渗透到各行各业中去,而R语言作为数据挖掘里的热门工具,将会有更多其他行业的人加入到R语言的使用者行列中来。R语言的使用课程成为高校中数学与统计学专业的重要课程将是必然的趋势。
本书特色本书从实际应用出发,结合实例及应用场景,深入浅出地介绍了R语言应用的相关知识:R语言的安装及使用、数据对象与数据读写、常用数据管理、图形探索、高级绘图工具及常用的建模算法在R语言中的实现方式。书中以R语言的函数应用为主,先介绍了函数的应用场景及使用格式,再给出函数的应用实例,最后对函数的运行结果做出了解释,将掌握函数应用的所需知识点按照实际使用的流程展示出来。
为方便理解R语言中相关函数的使用,本书提供示例代码及所用数据等相关资源下载,读者可以从“泰迪杯”全国数据挖掘挑战赛网站(http://www.tipdm.org/ts/747.jhtml)免费获取。也可以通过热线电话(40068-40020)、企业QQ(40068-40020)及以下微信公众号咨询获取。
TipDM 张良均〈大数据挖掘产品与服务〉本书适用对象开设有数据挖掘课程的高校教师和学生。
目前国内不少高校将数据挖掘引入本科教学中,在数学、计算机、自动化、电子信息、金融等专业开设了数据挖掘技术相关的课程,但目前这一课程的教学工具仍然为SPSS、SAS等传统统计工具,并没有使用R语言作为挖掘工具。本书提供了有关R语言的从安装到使用的一系列知识,将能有效指导高校教师和学生使用R语言工具进行数据挖掘。
数据挖掘开发人员。
这类人员可以在理解数据挖掘应用需求和设计方案的基础上,结合书中提供的R语言的使用方法快速实现数据挖掘应用的编程。
进行数据挖掘应用研究的科研人员。
许多科研院所为了更好地对科研工作进行管理,纷纷开发了适应自身特点的科研业务管理系统,并在使用过程中积累了大量的科研信息数据。R语言可以提供一个优异的环境对这些数据进行挖掘分析应用。
关注高级数据分析的人员。
R语言作为一个专业的数据分析软件,能为数据分析人员提供可靠的依据。
如何阅读本书本书主要分为三个部分,基础篇、建模应用篇和Rattle篇。基础篇介绍了有关R语言的安装与使用、R语言中的数据结构、常用操作和绘图功能等基础功能。建模应用篇主要介绍了目前在数据挖掘中常用的建模方法在R语言中的实现函数,并对输出结果进行了解释,有助于读者快速掌握应用R语言进行分析挖掘建模的方法。读者可结合本书提供的示例代码及数据进行上机实验,快速掌握R语言的使用方法。
第一部分是基础篇(第1~5章),第1章主要介绍了R语言及图形操作工具RStudio的安装及使用方法,第2章对R语言中的数据类型和数据对象及不同格式的数据读入和导出R语言进行了介绍,第3章描述了R语言中对数据所能做的常用操作,包括变量的重命名、缺失值分析、排序、随机抽样等,第4、5章主要对R语言的绘图功能进行了介绍,涵盖常用图形如散点图、直方图、条形图、箱线图等,且一并介绍了一些基于R语言的可用于生成交互式图形的软件包。
第二部分是建模应用篇(第6~10章),主要对数据挖掘中常用算法的函数在R语言中的使用方法及其结果进行了介绍,涵盖了目前数据挖掘的5大类算法,包括分类与预测、聚类分析、关联规则、智能推荐和时间序列。按照从模型建立到模型评价架构的顺序进行介绍,使读者能熟练地掌握从建模到对模型评价的完整建模过程。
第三部分是Rattle篇(第11章),介绍了一个R语言的图形界面工具Rattle,此工具能够在一个图形化的界面上对本书介绍的R语言功能进行操作,使读者能更好地体验到使用R语言进行数据挖掘的整个流程。
勘误和支持除封面署名作者外,参加本书编写工作的还有黄博、陈婷婷、王路、陈玉辉、杨征、施兴、徐英刚、郑泽如、张乐儿、黄东鑫等。由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。本书内容的更新将及时在“泰迪杯”全国数据挖掘挑战赛网站上发布。读者可通过微信公众号TipDM、TipDM官网反馈有关问题。也可通过热线电话或企业QQ进行在线咨询。
致谢本书编写过程中得到了广大高校师生的大力支持,在此谨向华南农业大学、华南师范大学、广东工业大学、广东技术师范学院、华南理工大学、韩山师范学院、中山大学、贵州师范学院等单位给予支持的领导及师生致以深深的谢意。
在本书编辑和出版过程中还得到了参与“泰迪杯”全国数据挖掘挑战赛的众多师生及机械工业出版社杨福川老师无私的帮助与支持,在此一并表示感谢。
张良均2016年4月
《R语言与数据挖掘:探索数据的无限可能》 内容简介 在信息爆炸的时代,数据已成为驱动决策、洞察趋势、创造价值的关键资源。如何从海量、复杂的数据中提炼出有价值的信息,并将其转化为 actionable insights,是每一个时代的企业、研究者和决策者面临的核心挑战。本书《R语言与数据挖掘:探索数据的无限可能》正是为解决这一挑战而生。它将带领读者深入浅出地掌握 R 语言这一强大的数据分析工具,并结合其在数据挖掘领域的丰富应用,全面解锁数据的潜能,实现从数据到知识的飞跃。 本书并非简单罗列 R 语言的语法,而是以实战为导向,围绕数据挖掘的完整流程,系统地阐述如何利用 R 语言解决实际问题。我们从数据的获取、清洗、预处理入手,这是任何数据分析项目成功的基石。随后,我们将聚焦于探索性数据分析(EDA),通过可视化和统计方法,理解数据的分布、识别潜在模式和异常值,为后续的建模奠定基础。 数据挖掘的核心在于发现隐藏在数据中的模式和规律,本书将详细介绍各类经典的数据挖掘算法,包括但不限于: 分类算法: 了解如何构建模型来预测离散的类别标签。我们将深入讲解决策树(如 CART、C4.5)、支持向量机(SVM)、逻辑回归、朴素贝叶斯以及集成学习方法(如随机森林、梯度提升树 XGBoost)的原理、实现和调优。读者将学习如何评估分类模型的性能,如准确率、精确率、召回率、F1-score 和 ROC 曲线。 回归算法: 掌握预测连续数值型变量的技术。本书将覆盖线性回归、多项式回归、岭回归、Lasso 回归等方法,并探讨其在不同场景下的适用性。读者将学会如何解读回归模型的系数,并理解如何度量模型的拟合优度(如 R-squared、RMSE)。 聚类算法: 学习如何将数据自动分组,发现数据的内在结构。我们将详细介绍 K-Means、层次聚类(Agglomerative Clustering)、DBSCAN 等常用的聚类算法,并探讨如何选择合适的聚类数量和评估聚类结果的质量。 关联规则挖掘: 探索如何发现数据项之间的有趣关系,例如“购买了 A 商品的顾客也很有可能购买 B 商品”。本书将介绍 Apriori、FP-growth 等经典算法,并讲解如何生成、评估和解释关联规则,这在市场篮子分析、推荐系统等领域有着广泛应用。 降维技术: 了解如何在高维数据中提取最关键的信息,减少数据冗余。我们将介绍主成分分析(PCA)、因子分析等方法,帮助读者理解如何有效地处理高维数据集,避免“维度灾难”。 异常检测: 学习如何识别数据中的“离群点”或“异常值”,这在欺诈检测、系统故障诊断等领域至关重要。本书将介绍基于统计、基于距离和基于模型的方法。 本书的另一大亮点在于其对 R 语言的深入应用。R 语言因其强大的统计计算能力、丰富的数据可视化库和庞大的社区支持,已成为数据科学领域的首选语言之一。本书将贯穿使用 R 语言的各种核心包,如: 数据处理与管理: `dplyr`、`tidyr`、`data.table` 等,高效地进行数据筛选、转换、聚合和合并。 数据可视化: `ggplot2` 是本书重点介绍的工具,通过其强大而灵活的语法,创建出专业、美观、信息丰富的图表,用于数据探索和结果展示。此外,还将介绍 `plotly` 等交互式可视化工具。 统计建模与机器学习: `caret`、`mlr3` 等框架,提供统一的接口来构建、训练、评估和调优各种机器学习模型。`randomForest`、`e1071`(SVM)、`xgboost`、`glmnet` 等经典算法的实现包也将得到详细讲解。 文本挖掘: `tm`、`quanteda`、`tidytext` 等包,用于处理和分析文本数据,提取关键词、进行情感分析、主题建模等。 时间序列分析: `forecast`、`ts` 等包,用于分析和预测时间序列数据,如股票价格、销售额等。 本书的内容组织结构清晰,逻辑严谨,从基础概念到高级应用,循序渐进。每一章都包含详实的理论讲解、清晰的代码示例以及富有挑战性的练习题,旨在帮助读者巩固所学知识,并提升实际操作能力。 本书的特色与价值 实战导向: 告别枯燥的理论堆砌,本书注重将数据挖掘的理论知识与 R 语言的实践应用紧密结合。读者将通过大量真实世界案例,学习如何将所学方法应用于解决实际问题。 系统全面: 涵盖了数据挖掘的完整流程,从数据准备到模型评估,再到结果解释,力求为读者构建一个全面、系统的知识体系。 工具精通: 深入讲解 R 语言在数据挖掘中的应用,帮助读者熟练掌握常用的 R 包和技术,成为 R 语言的数据挖掘专家。 案例丰富: 每一个算法和技术的讲解都辅以详细的 R 代码示例,并配以相应的图表说明,让读者易于理解和模仿。 面向读者: 本书适合对数据分析、机器学习、人工智能感兴趣的学生、研究人员、数据分析师、软件工程师以及各行业的决策者。无论是初学者还是有一定经验的从业者,都能从中获益。 阅读本书,你将能够: 理解数据挖掘的核心概念和流程。 熟练掌握 R 语言进行数据处理、清洗和可视化。 深入理解并应用各种经典的数据挖掘算法。 学会如何选择、训练、评估和调优机器学习模型。 运用 R 语言解决实际业务问题,发现隐藏在数据中的价值。 提升数据驱动的决策能力,为个人和组织创造竞争优势。 数据是未来的金矿,而 R 语言则是挖掘这座金矿的利器。《R语言与数据挖掘:探索数据的无限可能》将是你踏上数据挖掘之旅的最佳向导,助你开启洞察未来的数据智慧。