当前位置:
首页 > 计算机 > 程序设计 > R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载

R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载

书名:R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载

推荐语:

作者:(印度)拉格哈夫·巴利(RaghavBali),(印度)迪潘简·撒卡尔(DipanjanSarkar),李洪成,潘文捷等译

出版社:机械工业出版社

出版时间:2017-04-01

书籍编号:30346351

ISBN:9787111565901

正文语种:中文

字数:125185

版次:1

所属分类:计算机-程序设计

全书内容:

R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载







译者序

随着大数据的概念变得越来越流行,对数据的探索、分析和预测成为大数据分析领域的基本技能之一。作为探索和分析数据的基本理论与工具,机器学习和数据挖掘成为时下非常热门的技术。R作为功能强大并且免费的数据分析工具,在机器学习领域获得了越来越多用户的青睐。本书介绍了如何用R来进行实际应用中的机器学习,以及如何从数据中获取信息以帮助决策。


本书的作者Raghav Bali在机器学习领域具有丰富的实践经验。他在本书中介绍了多种机器学习算法,并且给出了机器学习最热门的3个领域(涵盖电子商务、金融和社交媒体领域)中的案例。对于每一个实际案例,从对案例数据的探索、整理,到模型的建立和评估,每一步都给出了详尽的步骤和R代码。读者从中可以掌握机器学习和R语言的应用与技巧,同时也可以学习相关的领域知识。


本书共分8章。第1章介绍了R语言和机器学习的基本概念与理论。第2章介绍了机器学习的核心概念和各种类型的机器学习算法与应用。第3章到第8章以现实世界中的3个典型机器学习案例为线索,介绍了应用R进行机器学习和数据分析的整个过程。它们分别是:市场购物篮分析和推荐系统、信用风险检测和预测的描述性分析与预测性分析、社交媒体数据分析。


R本身是一款十分优秀的数据分析和数据可视化软件,其中包含大量用于机器学习的添加包(package)。本书以实际的案例为主线,通过机器学习算法的学习来组织内容,脉络清晰。读者只需要具有R的一些基本知识即可,不需要具备机器学习的深厚基础。不管是R初学者,还是熟练的R用户,都能从书中找到对自己有用的内容。


我们有幸受机械工业出版社委托将此书译成中文,希望中文版的出版能够给国内读者学习R与机器学习带来方便。


在本书的翻译过程中,得到了王春华编辑的大力支持和帮助。本书的编辑盛思源老师具有丰富的经验,为本书的出版付出了大量的劳动,这里对她们的支持和帮助表示衷心的感谢。本书的翻译工作得到了许多机器学习和R软件专家的帮助与支持,在此表示感谢。


由于时间和水平所限,难免会有不当之处,希望同行和读者多加指正。


李洪成


前言

数据科学和机器学习是当今技术领域中的顶级流行语。从零售商店到世界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/Linux


·R 3.2.0(或以上)


·RStudio Desktop 0.99(或以上)


对于硬件,没有特定的要求,因为R能在任何Mac、Linux或Windows系统的个人计算机上运行,但是物理内存最好不低于4GB,这样一些迭代算法可以更快地运行。


本书适用对象


如果你对使用先进的技术从数据中挖掘有用信息来进行数据驱动决策感兴趣,那么本书将指导你如何实现。虽然R的基本知识非常有用,但是在阅读本书时,不需要掌握数据科学的先验经验。掌握机器学习的先验知识十分有用,但这不是必要的。


本书约定


正文中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄如下所示:“我们可以使用include命令包括其他上下文。”


命令行的输入或输出如下所示:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


新的术语(new term)和重要词(important word)以粗体显示。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载警告或者重要注释。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载提示和技巧。


下载示例代码


你可以在网站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下载这个文件。

关于作者

拉格哈夫·巴利(Raghav Bali)拥有印度班加罗尔国际信息技术学院(International Institute of Information Technology)信息技术硕士学位(金牌得主)。他是世界上最大的芯片公司Intel的IT工程师,在该公司主要负责分析、商务智能和应用程序开发。他曾在ERP、金融、商务智能等领域的一些世界顶级公司从事分析和开发工作。Raghav是一位摄影爱好者,当他不忙于解决问题时,他会捕捉生活中的瞬间。


我要感谢Packt出版社提供了这次机会,感谢Kajal Thapar和Utkarsha S.Kadam完美的支持和编辑,感谢让生活变得更简单、让数据科学变得更有趣的R社区的每一个人。


最后,我要感谢我的家人,特别是我的父母和兄弟对我的信任,本书将是一个惊喜。我还要感谢一直鼓励我的导师、老师和朋友。最后同样重要的是,特别要感谢我的同事Dipanjan Sarkar,没有他这一切都没有可能。


迪潘简·撒卡尔(Dipanjan Sarkar)是世界上最大的芯片公司Intel的IT工程师,在该公司主要负责分析、商务智能和应用程序开发。他拥有印度班加罗尔国际信息技术学院信息技术硕士学位。他的专业领域包括软件工程、数据科学、机器学习和文本分析。Dipanjan的兴趣包括学习新的技术、颠覆性的初创企业和数据科学。在闲暇时间,他喜欢阅读、玩游戏以及看流行的情景喜剧。他还审阅了Packt出版的《Data Analysis with R》《Learning R for Geospatial Analysis》和《R Data Analysis Cookbook》。


我要感谢我的好朋友和同事Raghav Bali,谢谢他能够和我共同写作这本书。没有他的支持,这本书不可能完成。同时,我要感谢Kajal Thapar和Utkarsha S.Kadam及时向我提出修改建议,使整个写作过程充满了互动和愉快。非常感谢Packt出版社给我这个重要的机会,感谢他们让我能够分享机器学习的知识。还要感谢R爱好者,他们每天都在做了不起的事情。


最后同样重要的是,我要感谢我的家人、朋友、老师和同事,他们一直陪伴在我的身边,支持我所有的工作。他们的支持让我每天都能迎接新的挑战!

关于审稿人

Alexey Grigorev是一位熟练的数据科学家和软件工程师,拥有超过5年的专业经验。目前他正在Searchmetrics担任数据科学家。在日复一日的工作中,他使用R和Python进行数据清洗、分析和建模。在此之前,他已经是Packt出版的其他关于数据分析书籍的审稿人,例如《Test-Driven Machine Learning》《Mastering Data Analysis with R》。

R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载

本章是介绍性的,它将让你从基础部分学习R语言,包括R语言的各种元素、有用的数据结构、循环和向量化。如果你已经是一个R语言行家,你可以跳过这部分,直接进入下一章。下一章将介绍机器学习作为一个领域所代表的真正内容以及它所包含的主要方向。我们还将介绍每个领域所使用的不同机器学习技术和算法。最后,我们将通过介绍R语言中一些最常用的机器学习添加包结束本章,其中的一些添加包将在后续的章节中使用。


如果你是数据或机器学习的爱好者,想必一定听说过《哈佛商业评论》(Harvard Business Review)将数据科学家称作21世纪最热门的职业。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载参考下面的链接:


https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century/


主要由于数据科学家的主要工作是从结构化数据和非结构化数据中收集关键的洞察力和信息,以帮助他们的企业和组织战略性成长,所以对数据科学家有巨大的市场需求。


一部分人可能想知道机器学习和R语言如何与此相关。为了成为一名成功的数据科学家,在你的工具箱中,需要的一个主要工具是一门强大的语言,它帮助你进行复杂的统计计算,处理不同形式的数据,建立模型来获取以前不知道的信息。R是一门能够完成这些任务的完美语言。机器学习提供了你成为一名数据分析师或数据科学家所需要的基本技能,包括使用不同的技术建立模型和从数据中获得洞察力。


本书不仅介绍R语言和机器学习的概念,而且还将这些概念运用在实际案例中,这些都为你熟练应用R和机器学习提供了必要的工具。现在,让我们开始使用R进行机器学习的旅程吧!


在本章中,我们将包括以下内容:


·探究R的基本内容。


·理解R中的数据结构。


·应用函数。


·控制代码流。


·深入学习R。


·理解机器学习的基本内容。


·熟悉R中常用的机器学习添加包。



1.1 探究R的基本内容


这里,假定你至少已经熟悉了R中的基础内容,或者以前已经使用过R。因此,我们不会介绍太多有关下载和安装的内容。网上提供了这些部分的大量相关信息。推荐你使用RStudio,这是一个集成开发环境(IDE),它比R自带的图形用户界面(GUI)更好用。可以访问https://www.rstudio.com/获取更多信息。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载更多关于R项目的详细内容,可以访问https://www.r-project.org/获取R语言的概览。除此以外,在该网站有R语言的大量精彩的添加包,可以在网站https://cran.r-project.org/浏览任何与R及其添加包的相关内容,该网站包含了大量的文档。


你必须已经熟悉R的交互式解释器,通常称作“读入–求值–输出”循环(Read-Evaluate-Print Loop,REPL)。这个解释器与任何等待输入的命令行界面类似,它以输入提示符>作为开始,表示R正在等待输入。如果输入需要多行,例如当编写函数时,在每个后续行中会有+提示符,这意味着你没有完成整个表达式的输入,R要求你输入表达式的剩余部分。


R也可以读取和执行以.R为扩展名的完整文件,该文件包括命令和函数。通常,任何一个大的应用程序都由多个.R文件组成,每个文件都在应用程序中扮演各自的角色,通常被称作一个模块。我们将在接下来的各节中探索R的主要特点和功能。


1.1.1 使用R作为科学计算器


R中最基本的元素包括变量和算术运算符,算术运算符可以用来进行像计算器那样的数学运算,甚至复杂的统计计算。例如:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


记住,在R中的一切都是以向量形式存在的。即使在以上代码片段中的输出结果也是向量。它们都有一个先导符号[1],表示这是一个含有一个元素的向量。


也可以像任何其他程序设计语言一样,将值赋给变量。例如:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


1.1.2 向量运算


R中最基本的数据结构是向量。基本上,在R中的任何元素都是向量,即使是像上述例子中看到的一个数也是向量。向量本质上是一个序列或值的集合。可以使用:运算符或用于连接值的c函数来生成向量。例如:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


在以上代码段中,你可以清楚地看到,我们仅仅使用+运算符把两个向量相加,而没有使用任何循环。这称为向量化,我们在后面将进行更多的讨论。接下来,介绍更多的向量运算,如下所示:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


你或许被上面的第2个运算搞糊涂了,这里尝试用一个较小的向量乘以一个较大的向量,但仍然得到了运算结果!如果仔细观察,就会发现R还返回了一个警告。在这个示例中,当两个向量在长度上不同时,本例中的小向量c(2,4)循环或者重复变为c(2,4,2,4,2),然后将它乘以第一个向量c(1,3,5,7,9),得到最终的结果向量c(2,12,10,28,18)。这里使用的其他函数是R基础包中的标准函数。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载下载本书示例代码


你可以在http://www.packtpub.com通过你的账户下载本书的示例代码文件。如果你在其他地方购买了本书,可以访问http://www.packtpub.com/support并进行注册,选择通过邮件把文件直接寄给你。


可以通过以下步骤下载代码文件:


·使用你的电子邮件地址和密码进行登录或者注册。


·将光标放在顶部的SUPPORT选项卡。


·单击Code Downloads&Errata。


·在Search文本框中栏输入书名。


·选择你要下载的代码文件的书。


·在下拉菜单中选择你购买本书的地方。


·单击Code Download。


一旦文件下载,请确保使用以下软件的最新版本对文件夹进行解压缩:


·用于Windows的WinRAR/7-Zip


·用于Mac的Zipeg/iZip/UnRarX


·用于Linux的7-Zip/PeaZip


1.1.3 特殊值


由于在数据分析和机器学习的过程中,你将处理大量混乱和脏的数据,所以记住一些R中的特殊值是十分重要的,这样它们中的某一个在后面出现时,你不会太惊讶。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


这里你应该关心的主要值包括:Inf,代表无穷大(Infinity);NaN,代表非数值(Not a Number);NA代表数值缺失或者无效(Not Available)。下面的代码片段展示了对这些特殊值的逻辑测试以及它们的结果。请记住,TRUE和FALSE是逻辑数据类型值,类似于其他程序设计语言。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


从这些函数的名字中,可以清晰地看出它们的作用。它们清楚地表明哪些值是有限的,哪些值是无限的,并分别检查NaN值和NA值。在清洗脏数据时这些函数十分有用。

1.2 R的数据结构


这里将介绍R中最有用的数据结构,并在一些虚构的示例中使用它们,以便更好地掌握它们的语法和构造。这里将介绍的主要数据结构包括:


·向量


·数组和矩阵


·列表


·数据框


这些数据结构在R和R添加包以及函数(包括我们在后续章节中将要使用的机器学习函数和算法)中广泛地使用。因此知道如何有效地使用这些数据结构来处理数据是十分必要的。


1.2.1 向量


正如我们在上一节中简单提到的,向量是R中最基本的数据结构。我们使用向量来表示任何内容,包括输入和输出。我们以前知道如何生成向量以及对它们进行数学运算。这里,我们将看到更多的例子。


1.2.1.1 生成向量


这里,我们将看到初始化向量的方法,其中的一些方法我们之前已经使用过,例如:运算符和函数c。在接下来的代码片段中,我们将使用seq系列的函数通过不同的方法来初始化向量。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


1.2.1.2 索引和命名向量


选择向量子集和索引向量来访问向量的特定元素是最重要的向量运算之一,当我们仅仅想要在特定数据点上运行一些代码时,这些运算通常是很有用的。接下来的例子将介绍一些索引和选择向量子集的方法:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


现在,让我们来看一看如何命名向量。可以命名向量中的每一个元素,使它们变得易于阅读或者容易解释,这是R的一个非常好的特点。有两种命名向量元素的方法,如下例所示:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


因此,你可以看到,有时候注释和命名向量是十分有用的,并且我们还可以通过使用元素名而不是元素值来选择向量子集和进行向量分段。


1.2.2 数组和矩阵


向量是一维数据结构,这意味着它们只有一个维度,可以通过利用它们的Length(长度)特征来获取向量中的元素个数。请记住,在其他程序设计语言中,数组也有类似的含义,而在R中有细微的不同。通常,在R中的数组都是多维数据结构。矩阵只是数组的特例,它有两个维度,即通过特征rows(行)和columns(列)来表示。让我们来看一看下面小节中的示例代码片段。


1.2.2.1 创建数组和矩阵


首先,我们将创建一个包含3个维度的数组。现在,在屏幕上可以很容易显示两个维度。但是,要再增加一个维度,在R中有特殊方式变换数据。下面的例子将说明如果在R中填补每一个维度中的数据(首先是列),并说明一个4×3×3数组的最终结果:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


正如之前所介绍的,矩阵只是数组的特例。可以使用matrix函数生成一个矩阵,将在下面的例子中详细介绍。请记住,在下面例子的矩阵中,我们使用参数byrow逐行填充矩阵中的数据;而在R的默认情况下,无论是数组还是矩阵,都是逐列填充数据。参数ncol和nrow分别代表列数和行数。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


1.2.2.2 名称和维度


就像命名向量和访问向量元素名称一样,我们将在接下来的代码片段中执行类似的运算。你已经看到在之前的例子中使用了参数dimnames。让我们再看看更多的例子:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


通过特殊的函数,可以访问关于数组和矩阵的维度的详细信息。下面的例子将说明:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


1.2.2.3 矩阵运算


许多机器学习和优化算法将矩阵作为它们的输入数据。下面将介绍一些最基本的矩阵运算。


首先,初始化两个矩阵;然后,应用像c函数(返回一个向量)、rbind函数(按行合并矩阵)和cbind函数(按列合并矩阵)这样的函数来合并两个矩阵。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


现在,我们来看一看一些重要的矩阵算术运算。大多数的运算从它们的语法上来看是不言自明的:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


以上的算术运算只是大量矩阵函数和运算符中最常用的部分。它们十分有用,尤其是在线性优化等领域中。


1.2.3 列表


列表是一种特殊的向量,在这种向量中的元素可以是不同的数据结构,或者是简单的数据类型。在某些方面它与Python程序语言中的列表很像,如果你之前使用过Python的列表,就会发现列表中的元素可以是不同的类型,并且每一个元素在列表中都有一个特定的索引。在R中,列表中的每一个元素可以简单地是一个元素,也可以复杂地是一个完整的矩阵、一个函数甚至一个字符串向量。


1.2.3.1 建立和索引列表


在下面的例子中,首先我们将学习用一些常用的方法建立和初始化列表。另外,我们还会看到如何访问列表中的元素以进行进一步的运算。请记住,列表中的每一个元素可以是一个简单的基本数据类型,或者甚至是复杂的数据结构或者函数。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


在以上例子中,你可以看到如何访问列表中的元素并使用它们进行进一步的运算,例如cos函数。


1.2.3.2 合并和转换列表


在下面的例子中,我们将看到如何将多个列表合并到一个列表中:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


列表和向量之间的相互转换十分简单。下面的例子将介绍一些常用到的方法:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


1.2.4 数据框


数据框是一种特殊的数据结构,它通常用来存储数据表格或电子表格形式的数据。数据框中的每一列代表一个特定的属性或字段,而行由这些列的具体取值组成。这种数据结构在处理有大量字段和属性的数据集时十分有用。


1.2.4.1 建立数据框


使用函数data.frame可以很容易建立数据框。在下面的例子中,我们将以一些受欢迎的超级明星为例进行说明:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


使用str函数能够给出数据框的详细结构,从中我们可以了解数据框中每一列数据的详细信息。在R基础包中有许多可以直接访问的数据集,可以直接装入和使用它们。下面介绍其中的一个mtcars数据集,它包含了1974年《美国汽车趋势杂志》(Motor Trend U.S.Magazine)中摘录的不同汽车的信息。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


1.2.4.2 数据框的操作


我们可以对数据框进行许多操作,例如合并、组合、分割和转置数据框。我们将在下面的例子中看到一些重要的数据框操作:


应用简单的索引和类似subset这样的函数可以方便地对数据框中的特定数据进行索引和选择子集。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


现在我们将看到更多复杂的操作,例如对数据框进行组合和合并。


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


输出:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


在上述操作中,我们可以清楚地看到rbind函数和cbind函数与之前在数组和矩阵中的作用是一致的。而merge函数可以让你像连接关系数据库中的多个表格那样来合并数据框。

1.3 使用函数


接下来,我们将介绍函数。函数是一种有助于简单地结构化和模块化代码的技术或者方法,它是一组完成特定任务的具体代码行,当你需要执行该任务时可以直接执行该函数,而不需要再次编写它们。在R中,函数仅仅作为另一种数据类型,在需要时可以对函数进行赋值和操作,也可以将其作为参数传递给其他函数。下面将介绍这些内容。


1.3.1 内置函数


R由基础添加包中的许多函数构成,当你安装更多的添加包时,你也将以函数的形式获取更多的功能。在下面的例子中我们将看到一些新的内置函数:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


你可以从以上例子中看到,像mean、medium和sqrt这样的函数是内置函数。当你启动R时,无论何时都可以直接使用它们,而不必加载任何添加包或显式地定义这些函数。


1.3.2 用户自定义函数


你可以基于你想对数据执行的不同运算和计算来定义自己的函数,并让R按照你需要它们工作的方式来执行这些函数,这是R函数真正强大之处。如下面的例子所示:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


正如我们在前面的代码片段中所看到的,我们可以定义像square一样的函数,使用相同的代码来计算一个数值的平方,甚至一个数值向量的平方。像point这样的函数可以用来表示特定实体,这些实体表示二维坐标空间中的点。现在我们将看到如何一起使用以上这些函数。


1.3.3 以参数形式传递函数


当你定义任何函数时,如果你需要在你的函数中使用其他函数执行一些复杂的计算,你也可以将这些函数作为参数进行传递。下面的例子使用前面定义的square函数来计算两点间的欧几里得距离,它把square函数作为参数进行传递:


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


R语言机器学习:实用案例分析pdf/doc/txt格式电子书下载


因此,你可以看到,使用函数你可以定义一次一个特定函数,你需要执行多少次就执行多少次。

1.4 控制代码流


本节讨论如何控制代码的执行。使用特定的结构,例如if-else和switch,你可以有条件地执行代码。像for、while、repeat和help这样的结构用于多次执行同样的代码,也称作循环结构。下面我们将研究所有这些结构。


1.4.1 使用if、if-else和ifelse语

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示