R语言机器学习中数据可视化的杀手锏

浏览: 1764

作者:unicornyy   一个在的R语言世界畅游的大学人,一个有R情结的科研人员,一个R的自由供稿人

1.数据可视化与机器学习

如今,在信息爆炸的时代,如何发现数据内在的规律,是R语言等分析工具发展的动力。而数据内在的规律,可以通过可视化去展示,让数据自己演绎自己的故事。在R语言的世界中,数据可视化是机器学习中非常重要的部分,在到数据理解、模型选择以及结果的解析中广泛应用。因此,在庞大的R语言体系中实现数据可视化的包有为R basic包、grid包、lattice包、ggplot2包等几派,其中以ggplot2、Lattice包信众甚广,还衍生出不少的“门派”。

今天跟大家分享的是R语言机器学习中数据可视化的杀手锏——featurePlot的使用心得。featurePlot可是继承了lattice与ggplot2的特点,一方面,它基于lattice的基因与语法特性,比较容易修改与调整,同时,也继承了ggplot2中qplot的精髓,有自己独立的语法体系与简单图层,变化众多。一旦熟练掌握featurePlot的语法,你也成为数据可视化的高手。

好现在随着我们的脚步一同领教caret包featurePlot的厉害之处。

2.数据、包的装备

首先当现在我们开始准备数据与工具包。本次使用的是自带的数据集airquality。该数据集包含6个变量,1-4列为数量变量,5-6列为时间变量,该数据集特点是存在缺失。数据集属于气象领域,变量包括臭氧(Ozone)、太阳照射(Solar.R)、风力(Wind)、温度(Temp),时间(Month、Day)的变量。我们关心的是臭氧与时间、其它环境因素的相互关系。

发现Ozone、Solar.R数据集有缺失,因此,需要采用补差法填回,至于如何处理数据缺失值,以及缺失补插的方法,对分析的影响等一系列问题,今后有机会再跟大家详谈。

(点击放大)

至此,我们完成数据的准备工作,可以利用我们的“杀手锏”开始探索我们的数据集喽

3.Featureplot的基本语法

featureplot的语法非常简单,通过x,y与plot三个参数对图形进行控制。featureplot画图的特点是:

  • 语法简单,非常容易学习与记忆

  • 画图快速,灵活控制图形的类型

  • 发掘数据间关系十分方便


以下“四大金刚”就是featureplot的核心参数,命令中x参数理解为需要绘制图形的不同变量,y参数可以看作分类变量/分组依据,plot参数可以选择“pairs”,“density”等,灵活控制图形,但需要与x、y参数配合,其他参数如下图所示。由于featurePlot,属于lattice系,因此可以支持trellis的格式控制,假如熟悉lattice的同学就很快可以深入自定义(具体后面的部分会详细讲述)。

讲完基本语法,我们马上进入如何利用该命令对数据进行展示与理解。

4.变化丰富的featurePlot图形

featureplot图形十分丰富,可以完成散点图、矩阵散点图、箱图、密度图、多个图层的叠加等,对于机器学习过程的数据理解与展示十分方便,是caret包可视化的核心。下面我们为大家一一介绍其主要图形的做法。  


(1)矩阵散点图:

    矩阵散点图,可以用于展示不同分组条件下各变量之间的关系,可为大家快速预览数据与计算相关性提供直观的证据。还可以配合回归等方法获得趋势分析。具体命令如下:

(点击放大)

开始看好像规律不明确,因此我们加上光滑回归线。

从单月份的分析看,各个指标之间存在一个非线性的关系。

(2)箱图

箱图时常用的图形,可以展示数据的分布与差别,我们以月份为因素,分组观察数据的分布特点。同时也可以对布局、x、y轴进行灵活设置。

(点击放大)

从数据上,我们可以看到每个月份之间各个指标是有一定变化趋势。


(3)条形图

条形图与箱图有一定类似,反映的是数据点与点之间的关系,能比箱图展示的数据细节更多。

(点击放大)


(4)密度图

  密度图可以展示各个指标之间分布的特点,方便我们对趋势进行研究。

(点击放大)

(点击放大)

通过自定义分组,可以迅速找到风速对其他变量的影响

(点击放大)

到此,我们确认臭氧的确与其他指标有密切的关系。

(5)散点图

 散点图也是分析中常用的图形,featurePlot也非常容易实现。

(点击放大)

featurePlot图还可以按照以下方式进行自定义。由于涉及lattice包图形的定义,有机会以后给大家进行详细叙述,一般用这几个参数可以比较快的完成散点图的自定义。

全部的设定文件如上所示,包括各种图形的设置,图标设置等,下面我们来实践一下。

总结

至此,我们已经初步掌握了featurePlot的基本用法与进阶用法。是不是非常快可以完成数据的可视化展示? featurePlot的应用当然还不限于此,还可以与其他机器学习的分析过程相结合,因此,可以作为caret包机器学习中的好帮手。


公众号后台回复关键字即可学习

回复 爬虫             爬虫三大案例实战  
回复 Python        1小时破冰入门

回复 数据挖掘      R语言入门及数据挖掘
回复 人工智能      三个月入门人工智能
回复 数据分析师   数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

推荐 0
本文由 R语言中文社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册