---------------------------(特价书)R语言机器学习:实用案例分析---------------------------
Preface?前言数据科学和机器学习是当今技术领域中的顶级流行语。从零售商店到世界500强企业,每个人都在努力使用机器学习从庞大的数据中获得有价值的信息,以发展其业务。借助强大的数据处理功能、丰富的机器学习包和活跃的开发者社区,R使用户能够构建复杂的机器学习系统,解决现实世界中的数据问题。
本书将带你踏上数据驱动的旅程,从最基础的R和机器学习开始,逐步学习如何解决实际问题。
本书内容第1章概述本书的内容,帮助你熟悉R及其基础知识。该章还简短地介绍机器学习。
第2章通过解释机器学习的基本概念,深入研究机器学习。同时,还呈现各种类型的学习算法,以及现实世界中的一些示例。
第3章开始介绍第一个项目的第一部分,使用各种机器学习技术进行电子商务产品推荐、预测和模式分析。该章针对市场购物篮分析和关联规则挖掘,检测客户的购物模式和趋势,使用这些技术进行产品预测和推荐。这些技术在零售企业和电子商务商店(例如Target、Macy’s、Flipkart和Amazon)中广泛使用,用来进行产品推荐。
第4章介绍第一个项目(电子商务产品推荐、预测和模式分析)的第二部分。该章分析不同用户对电子商务产品的评论和评级,使用算法和技术(例如,用户协同过滤)设计一个推荐系统。
第5章开始介绍第二个项目,将机器学习应用到一个复杂的金融场景中,即处理信用风险检测和预测。该章介绍新的主题,研究1000名向银行申请贷款的用户的金融信用数据集。我们将使用机器学习技术检测具有潜在信用风险以及贷款后可能无法偿还的用户,同时对未来进行预测。该章还详细介绍数据集及其主要特征,讨论处理数据时将面临的主要挑战。最后总结适合解决这一问题的最佳机器学习技术。
第6章基于上一章的描述分析继续进行预测分析。这里,我们将使用几种机器学习算法来检测和预测哪些客户具有潜在信用风险,即贷款后可能无法偿还的用户。这最终将帮助银行做出数据驱动的决策,决定是否批准贷款申请。我们将涵盖几种有监督学习算法,并比较它们的性能。我们将讨论评估各种机器学习算法的性能和准确度的不同指标。
第7章介绍社交媒体分析。首先,我们将介绍社交媒体和通过Twitter的API收集数据的过程。该章将引导你从推文(tweet)中挖掘有用的信息(包括可视化实际案例的Twitter数据),推文的聚类和主题建模,解决这些问题面临的挑战、复杂度和策略。我们通过例子展示如何使用Twitter数据计算一些强大的度量指标。
第8章根据Twitter API的知识建立一个项目,基于该项目分析推文中的情感。这个项目呈现了多种机器学习算法,用于根据推文的情感进行分类。该章还对这些结果进行比较,帮助你理解这些算法的工作原理和运行结果之间的差异。
本书需要的软/硬件支持以下软件适用于本书的所有章节:
Windows/Mac OS X/LinuxR 3.2.0(或以上)RStudio Desktop 0.99(或以上)对于硬件,没有特定的要求,因为R能在任何Mac、Linux或Windows系统的个人计算机上运行,但是物理内存最好不低于4GB,这样一些迭代算法可以更快地运行。
本书适用对象如果你对使用先进的技术从数据中挖掘有用信息来进行数据驱动决策感兴趣,那么本书将指导你如何实现。虽然R的基本知识非常有用,但是在阅读本书时,不需要掌握数据科学的先验经验。掌握机器学习的先验知识十分有用,但这不是必要的。
本书约定正文中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄如下所示:“我们可以使用include命令包括其他上下文。”
. 命令行的输入或输出如下所示:
新的术语(new term)和重要词(important word)以粗体显示。
警告或者重要注释。
提示和技巧。
下载示例代码你可以在网站http://www.packtpub.com上从你的账户中下载本书的示例代码文件。如果你在其他地方购买了这本书,你可以访问http://www.packtpub.com/support网站并注册,就可以通过电子邮件方式获得相关的文件。
你也可以访问华章图书官网:http://www.hzbook.com,通过注册并登录个人账号,下载本书的源代码。
下载本书的彩图我们还在一个PDF文件中向你提供了本书中屏幕截图和图表的彩色版本。彩色图片可以帮助你更好地理解输出中的变化关系。可以从http://www.packtpub.com/ sites/default/files/downloads/Machine_Learning_With_R_Second_Edition_ ColoredImages.pdf下载这个文件。
---------------------------(特价书)R语言数据分析---------------------------
Preface?前言自20多年前发源于学术界以来,R语言已经成为统计分析的通用语言,活跃于众多产业领域。目前,越来越多的商业项目开始使用R,兼之R用户开发了数以千计易于上手的开发包,都使得R成为数据分析工程师及科学家最常用的工具。 本书将帮助读者熟悉R语言这一开源生态系统,并介绍一些基本的统计背景知识,以及一小部分相关的数学知识。我们将着重探讨使用R语言解决实际的问题。 由于数据科学家在数据的采集、清洗及重构上将耗费大量时间,因此本书首先将通过第一手实例来重点探讨从文件、数据库以及在线资源中导入数据的方法,然后再介绍数据的重构和清洗——不包含实际的数据分析,最后几章将对一些特殊的数据类型以及经典的统计模型和部分机器学习算法进行说明。 本书主要内容第1章从与所有数据相关项目都有关的关键性的第一步——从文本文件和数据库中导入数据开始。重点探讨使用优化的CSV分析器把数据载入R,预筛选数据,并对不同数据库后台对R的支持能力进行比较。 第2章介绍如何使用面向Web服务和API通信的包实现数据的导入,包括如何从主页上整理和抽取数据。还将对处理XML和JSON格式数据进行概括性说明。 第3章继续介绍基础的数据处理知识,包括多种数据筛选和聚集,并对data.table和dplyr这两个常见开发包在性能和使用语法方面进行比较。 第4章介绍更多有关复杂数据类型的转换方法,相关函数包括处理数据子集、数据合并、长宽表数据格式到适合用户需要的工作流源数据格式之间的转换等。 第5章开始介绍真实的统计模型,包括回归的概念、常用回归模型等。这一章篇幅不长,还介绍了模型测试的方法以及基于真实数据集如何解释某个多元线性回归模型结果。 第6章在前述章节的基础上,探讨了预测变量的非线性关联,以及诸如逻辑回归和泊松回归等广义线性模型的样例。 第7章介绍一些新的非结构化数据类型,读者将通过实践文本挖掘算法及对结果的可视化处理,了解使用统计模型来处理类似这样一些非结构化数据的方法。 第8章探讨有关原始数据集的另一个常见问题。大多数时候,数据科学家需要处理脏数据,包括去掉错误数据、孤立点以及其他不正确的值,同时又要将缺失值带来的影响降到最低。 第9章介绍如何从大数据中进行特征提取,假设我们已经装载了一个干净的数据集,并且完成了格式转换,当我们开始处理高维变量时,需要采用一些统计方法来进行降维以及其他包括主成分分析、因子分析和多维尺度分析等方法完成连续变量的转换。 第10章讨论使用监督及非监督统计和机器学习方法来处理样本分组问题。这些方法包括层次聚类、k均值聚类、潜类别模型、判别分析、逻辑回归和k近邻算法,以及分类树和回归树。 第11章重点探讨一类特殊的数据结构,包括其基本概念以及可视化网络分析技术,igraph包是该章的重点。 第12章展示如何通过平滑、季节性分解以及ARIMA等方法处理分析时间-日期数据及其相关值,同时还将讨论有关预测和孤立点检测等技术。 第13章探讨一类重要的数据维度——空间维,重点会放在通过主题图、交互图、等高线和冯洛诺伊图完成空间数据的可视化。 第14章提供了一个更完整的样例,该样例中包含了很多前述章节中提到的方法来帮助读者复习这本书所学习到的主要内容,以及应对未来工作中可能遇到的问题和困难。 附录给出了R语言的帮助索引,以及对前述章节中涉及内容的补充阅读。 阅读准备本书所展示的代码都应该在R控制台内运行,读者需要事先安装好R,可以从http://r-project.org下载免费软件以及为所有主流操作系统准备的安装指南。 本书并不会探讨其他更深入的内容,例如在集成开发环境(Integrated Development Environment IDE)下使用R的方法,尽管IDE为诸如Emacs、Eclipse、vi、NotePad++都提供了非常棒的插件和扩展。当然,我们还是建议读者能够使用RStudio,这是一个为R开发的开源免费IDE,访问地址为https://www.rstudio.com/products/RStudio。 除了基础的R包,我们还会使用到部分用户自己提供的R包,它们大多都可以很容易地从R综合典藏网(Comprehensive R Archive Network,CRAN)处下载安装。附录中列出了本书用到的开发包以及多个版本。 如果要从CRAN安装包,读者要确保网络通畅。假如要下载二进制文件,可以在R控制台调用install.packages命令: 本书中所提到的部分包在CRAN上下载不了,但也许可以从Bitbucket或者GitHub处找到安装文件,然后再通过调用devtools包的install_bitbucket和install_github函数完成安装。Windows用户则需首先从https://cran.r-project.org/bin/windows/Rtools处安装rtools包。 安装完毕后,我们应该在使用包之前先将其装载到R会话中,附录中列出了所有包的目录,而每一章的一开始则对相关的源码和R命令做了介绍: 我们极力建议读者下载安装本书的样例源码(可以参考前言的“样例源码下载”小节),这样读者就可以在R控制台很容易地复制和粘贴相关命令,而不需要再按照书中文字输入代码。 如果读者之前没用过R语言,最好能够先从R主页上阅读一些免费的介绍性文章和帮助手册,本书附录中也列出了一些推荐阅读材料。 读者人群如果你是数据科学家或者是R开发人员,希望更多地了解有关R的高级功能及工具,那么这本书就是为你而写。本书希望读者已经具备基础的R语言知识,了解数据库的逻辑。如果你是数据科学家、工程师或分析师,希望提高自己对R语言的开发能力,那么这本书也适合你。尽管需要掌握一些基本的R知识,本书还是为你提供了相关参考文档,能够帮助你快速进入角色并掌握相关技术。 本书约定本书中任何将在R控制台输入或输出的命令行将采用如下格式: 符号“>”有提示的意思,指此处R控制台正在等待要输入执行的命令。如果命令长度超过一行,则第一行还是用“>”开头,但剩下的其余行都要在行首添加符号“+”,代表该行不是一个完整的命令(例如,缺圆括号或引号)。命令的输出不需要增加任何首字母,字体采用和输入文本相同的等宽字体。 新出现的术语和重要的文字将用粗体表示。 警告或重要提示将跟在这样的符号后面。 小窍门或诀窍将跟在这样的符号后面。 样例源码下载你可以从http://www.packtpub.com通过个人账号下载你所购买书籍的样例源码。如果你是从其他途径购买的,可以访问http://www.packtpub.com/support,完成账号注册,就可以直接通过邮件方式获得相关文件。 你也可以访问华章图书官网:http://www.hzbook.com,通过注册并登录个人账号,下载本书的源代码。 下载书中彩图我们还为读者准备了一个PDF文件,该文件包含了本书所有截图和样图,可以更好地帮助读者理解输出的变化。你可以从以下地址下载: http://www.packtpub.com/sites/default/files/downloads/1234OT_ColorImages.pdf
---------------------------(特价书)R语言数据挖掘:实用项目解析---------------------------
随着数据规模和种类的增长,应用数据挖掘技术从大数据中提取有效信息变得至关重要。这是因为企业认为有必要从大规模数据的实施中获得相应的投资回报。实施数据挖掘的根本性原因是要从大型数据库中发现隐藏的商机,以便利益相关者能针对未来业务做出决策。数据挖掘不仅能够帮助企业降低成本以及提高收益,还能帮助他们发现新的发展途径。
本书将介绍使用R语言(一种开源工具)进行数据挖掘的基本原理。R是一门免费的程序语言,同时也是一个提供统计计算、图形数据可视化和预测建模的软件环境,并且可以与其他工具和平台相集成。本书将结合R语言在示例数据集中的应用来阐释数据挖掘原理。
本书将阐述数据挖掘的一些主题,如数学表述、在软件环境中的实现,以及如何据此来解决商业问题。本书的设计理念是,读者可以从数据管理技术、探索性数据分析、数据可视化等内容着手学习,循序渐进,直至建立高级预测模型(如推荐系统、神经网络模型)。本书也从数据科学、分析学、统计建模以及可视化等角度对数据挖掘这一概念进行了综述。
本书内容
第1章带领读者初识R编程基础,借助真实的案例帮助读者了解如何读写数据,了解编程符号和语法指令。这一章还给出了供读者动手实践的R脚本,以更好地理解书中的原理、术语以及执行特定任务的深层原因。之所以这样设计,是为了让没有太多编程基础的读者也能使用R来执行各种数据挖掘任务。这一章将简述数据挖掘的意义以及它与其他领域(诸如数据科学、分析学和统计建模)的关系,除此之外,还将展开使用R进行数据管理的讨论。
第2章帮助读者理解探索性数据分析。探索数据包括数据集中变量的数值描述和可视化,这将使得数据集变得直观,并使我们能对其快速定论。对数据集有一个初步的理解很重要,比如选择怎样的变量进行分析、不同变量之间的关联,等等。创建交叉二维表有助于理解分类变量之间的关系,对数据集实施经典统计检验来验证对数据的种种假设。
第3章涵盖从基础的数据可视化到调用R语言中的库实现高级的数据可视化。观察数字和统计能从多个侧面“告诉”我们关于变量的“故事”,而当图形化地了解变量和因子之间的关系时,它将展示另一个“故事”。可见,数据可视化将揭示数值分析和统计无法展现的信息。
第4章帮助读者学习利用回归方法的预测分析基础,包括线性和非线性回归方法在R中的实现。读者不仅可以掌握所有回归方法的理论基础,也将通过R实践获得实际动手操作的经验。
第5章介绍了一种产品推荐方法——购物篮分析(MBA)。这种方法主要是将交易级的商品信息关联,从中找出购买了相似商品的客户分类,据此推荐产品。MBA还可以应用于向上销售和交叉销售中。
第6章介绍了什么是分类、聚类是如何应用到分类问题的、聚类用的是什么方法等内容,并对不同的分类方法进行了对比。在这一章,读者将了解使用聚类方法的分类基础知识。
第7章涵盖以下内容及相应的R语言实现:推荐系统是什么,实现推荐的工作原理、类型和方法,使用R语言实现商品推荐。
第8章使用R语言和一个实际数据集实现主成分分析(PCA)、奇异值分解(SVD)和迭代特征提取等降维技术。随着数据的量与类的增长,数据的维度也在随之增长。降维技术在不同领域都有很多应用,例如图像处理、语音识别、推荐系统、文本处理等。
第9章讲解了多种类型的神经网络、方法,以及通过不同的函数来控制人工神经网络训练的神经网络变体。这些神经网络执行标准的数据挖掘任务,例如:采用基于回归的方法预测连续型变量,利用基于分类的方法预测输出水平,利用历史数据来预测数值变量的未来值,以及压缩特征从而识别重要特征以执行预测或分类。
准备工作
为了学习本书附带的例子和代码,读者需要从https://cran.r-project.org/下载R软件(也可以从https://www.rstudio.com/下载R Studio),然后安装。没有特定的硬件要求,只需要一台至少2GB RAM的计算机,适用于任何操作系统,包括MAC、Linux和Windows。
读者对象
本书适用于刚开始从事数据挖掘、数据科学或者预测建模的读者,也适用于有中等统计与编程水平的读者。基本的统计知识对于理解数据挖掘是必需的。阅读前几章并不需要编程知识。本书将讲解如何使用R语言进行数据管理和基本的统计分析。本书亦适用于学生、专业人员及有志成为数据分析师的读者。
排版约定
在本书中,为了区分不同内容,字体风格也会随之变化。以下是字体风格示意:
书中的代码、文件名、文件扩展名、路径名、URL地址、用户输入、推特标签看起来会是这样:“在处理ArtPiece数据集时,我们将通过一些与业务相关的变量来预测一个艺术作品是否值得购买。”
所有命令行的输入或输出在书中显示如下:
作者的话
如果读者对于本书所涉及的内容有疑问,可以在Twitter上搜索@mishra1_PK,我非常乐意为大家提供帮助。
非常感谢我的妻子Prajna和女儿Aarya,也要感谢我的朋友和工作中的同事在我完成本书的过程中给予我的支持与鼓励。
关于审稿人
Alexey Grigorev是一名熟练的数据科学家和软件工程师,有超过5年的专业经验。他现在是Searchmetrics Inc的一名数据科学家。在日常工作中,他热衷于使用R和Python进行数据清洗、数据分析和建模工作。他也是Packt出版的其他数据分析书籍的审稿人,比如《测试驱动的机器学习》与《掌握R数据分析》。