作者: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语言入门及数据挖掘
回复人工智能三个月入门人工智能
回复数据分析师数据分析师成长之路
回复机器学习机器学习的商业应用
回复数据科学数据科学实战
回复常用算法常用数据挖掘算法
我怎么这么好看
领取专属 10元无门槛券
私享最新 技术干货