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

作者: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包机器学习中的好帮手。

回复爬虫爬虫三大案例实战

回复Python1小时破冰入门

回复数据挖掘R语言入门及数据挖掘

回复人工智能三个月入门人工智能

回复数据分析师数据分析师成长之路

回复机器学习机器学习的商业应用

回复数据科学数据科学实战

回复常用算法常用数据挖掘算法

我怎么这么好看

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181229B0HKFR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券