【R画图】为什么我们要开始学习数据可视化及其操作
当我和很多人讨论如何学习数据科学的时候,他们最经常问这样的一个问题:
我不知道我应该要从哪入手?
最近,我经常说R语言是你入手学习数据科学中最好的一门编程语言。
然而,而这一步仅仅帮助你选择学习的工具,你并不知道你需要掌握哪些技能?
就像你当初在为选择怎样的编程语言而感到苦恼的时候,你要掌握哪些技能也让你感到非常的头痛。
我再一次直话直说:首先要学习数据可视化,其次才是学习数据操作。
数据可视化对于观察数据的本质其重要作用
这里有几个原因可以解释我为什么会推荐首先学习数据可视化操作,不过,最重要的,我给出的原因则是我首先希望你能短时间之内有所收获。你的时间绝对是最宝贵的,所以你要养成习惯,把更多的精力投入到学习”最重要的东西“上。也就是说,学习一些有高投资回报的东西(高投资回报率)。
对于绝大部分人来说,投资回报率最高的技能就是数据可视化。
想要理解其中的原因,你首先就要知道你学习的目的是什么。作为数据科学家,你的工作就是要从数据中发现其中的本质。
顾客想要知道这个数据的本质。
(如果你想要证据,你可以查阅一下与数据科学相关的文学,里面“本质“这个词是反复出现。
总的来说,发现本质就是从不同的角度来发现问题及其潜在的答案。
数据可视化就是看问题的工具。
所以,客户需要数据的本质,也就是想要看到这个结果,而可视化恰恰就是有用的工具。
数据可视化对于工作流程的部分环节是有用的
寻找其中的本质需要执行多个步骤,而数据可视化对于数据科学的工作流程的每一个环节都发挥着不可或缺的作用。
发现本质
对于初学者来说,你需要自己来寻找数据的本质。
当你要开始学习数据科学的时候,数据可视化也许是你在发现数据的本质的时候投资回报率最高的一项技能了(而且当你要结合数据操作进行运用的时候,其数据可视化会表现的更加的高效,这个稍后就会讲到)。
就像我之前描述的那样,数据可视化在你探索数据并寻找其中的本质起到非常重要的作用。数据可视化可以让你能像分析师那样发现这个数据里蕴含的重要信息。
与数据本质建立联系
数据可视化对于你要建立与其数据的本质的联系其重要的作用。
当你在和总经理或生意伙伴一起走进会议室的时候,你十有八九就要把这些结果展示出来。你不能仅仅说出里面的方程和算法,你需要以正确的数据可视化来把它们展现出来。
你应该经常听说这样的一句话:“千言万语也不及一张图那样有力量“。这句话毫无疑问是非常有道理的。与图片建立联系(通过合适的可视化技能)能大大的加强你对一个问题的理解能力,同时也给你向你的客户展现它们的机会。
当然,还有另外一种可行的方法,就是文字。你是否曾经在幻灯片展示的时候就见到“文字“那样的东西?就是很多的词语?那样的展示是毫无意义的。
尽管怎样展示你的幻灯片不再本文讨论的范围内,然而你还是得要明白你一旦找到了你的顾客想要的其数据的本质的时候,你需要向他展示,你需要让他信服。他们就是想要看到你所发现的本质。简单地说,像你的生意伙伴或总经理展示你所发现的数据的本质的最好方法就是通过数据可视化进行展示。
从根本上来说,你想要和你的总经理和生意伙伴一起参加会议,并且想要在展示的时候指向数据可视化图像的时候并且会说:“这里,对,这里。这就是你的问题。你是需要看到这张真的图表的红色区域吗?这就是你需要解决的问题。”
如果你想要知道正确的数据可视化技巧,简明的用那种方式表达是绝对可以的。而且如果你真的这么做,你的客户和总经理都会给你高度的评价。
机器学习和建模
在某些场合下,纯粹的数据可视化并不是最佳的解决方案。当数据集变得越来越大,而且你想要解答的问题变得越来越复杂的时候,纯粹的数据可视化就显得没有效率了。这时,你需要寻找一个更有效的办法,也许机器学习会是比较不错的选择。
值得注意的是,在你使用更多更高级的办法进行每一个步骤的执行时,你可能还是需要数据可视化进行辅助。
在你建模之前,你一般都需要数据可视化对你要研究的数据集进行初步的研究。这时你就需要观察数据所呈现出来的图像,观察它们怎么分布,并且可视化的过程会帮助你选择最好的办法来观察这些数据。
之后,有了这些有用的高级工具以后,你很有可能就要通过数据可视化操作来把里面的图像转换成你需要的结果。而结果就是我们任然需要更多更高级的工具来对此进行深一步观察,使结果易于理解。
这时我要说的就是通常情况下,机器学习给出的结果(以及其它高级方法)都是很让人费解的。数据可视化能帮助你的就是理解这些结果。
最后,因为这些高级方法(以及里面的结果)在某种程度上是很难解释的,所以,我们经常看到人们会使用数据可视化来给他们的生意伙伴来展示和解释这些结果。
为什么其次才是学习数据操作
当你在学习数据可视化的时候,你最终都会在某一时间段内遇到瓶颈。
也许你得到的数据的格式是错误的,这时你需要更多的数据,或者你要对你现有的数据进行更深的一部挖掘。
基于这一的一种情况,你需要学习基本的数据操作。
这时就需要你从数据中取子集,并把这些子集整合起来,而且有些时候你还需要转换一下你的数据格式来帮助你寻找更多数据里本质的东西(你也可以使用基本的数据操作来把这些新的数据集融合起来,尽管这看起来会有点复杂)。
而你想要寻找数据里蕴含的本质,你可以把数据操作和数据可视化组合起来使用进行更复杂的数据探索。
数据探索:利用ggplot+dplyr发现数据内部的本质
这里有很多途径可以实现数据探索,但有一些的实施效果和运行速度相当出众。当成熟的探索者在数据探索的世界中进行一番猜测的时候,他们通常都会跟随这样的一个特殊步骤……并以这样的真言形式表达:
Overview first, zoom and filter,then details-on-demand.
… This is a sure path to discovery!
– Stephen Few
(上面一段话:先要总体概述,并且放大和过滤,其次根据需求寻找相关细节。
……这就是发现的具体路径!)
其实,我建议首先学数据可视化操作,其次学习数据操作的原因就是你可以把他们组合起来使用。当你把数据可视化和数据操作组合起来在某些正确的进程中使用的时候,你能在短时间之内找到数据里的本质。
这毫无疑问是一们重要的技能。
在你准备要学习机器学习的时候,或者你准备要深入学习高级方法的时候,或者你准备学习处理“大数据”的工具时,你绝对需要学习数据探索和分析。
对于大多数刚开始学习数据科学的学生来说,我相信之前介绍的数据探索的技能是他们学习数据科学之旅中的第一个里程碑。
通过前文的讲解和相关实践经验,这就是我建议刚入门的学生学习R的原因。
2个R的工具,ggplot2和dplyr都是执行数据探索的最佳选择。这些我希望你们学习的工具就是我之前入门的时候所学习的。
特别的,你可以通过组合使用%>%操作符来进行快速的数据探索。
当你组合使用ggplot2和dplyr的时候,你可以创建你的子集并把这些子集整合起来,然后你可以立刻把通过dplyr处理过的结果,调用ggplot2包制成饼图来展示相关的结果。这样能让你很好的执行Ben Sheiderman的颂歌“overview first, zoom and filter, details on demand.”。
就像我之前提到的那样,你可以使用数据可视化和数据操作来”zoom in“(放大),并且你可以用多种方法来检验你的数据集。
就像Stephen Few所说的,”visual path”(可视化途径)也许就是你要的子集探索途径进行相关发现。
让我再总结一下:一旦你要开始学习了,可视化探索是最快的,且是最可到的途径来发现内部的本质。你首先就需要占我数据探索。
我希望你能很快的就有收获
我所推荐的包工具(ggplot2和dplyr)一个大的优势就是你可以在短短的几周之内掌握里面的语法(如果你勤奋的话,可能会更快)。
ggplot2和dplyr包的语法结构都是简单明了。一旦你掌握了这些语法,创建诸如散点图那样的数据可视化的核心操作,或者创建稍微复杂一点的图像如泡泡图就变得极为的简单。而且,一旦你掌握了这些语法,甚至那些看起来很复杂的数据可视化操作也会变得非常的简单。
一旦你掌握了相关的语法,你就有能力创建具有美感的,且富有洞察力的数据可视化图像。
如果你能努力并掌握ggplot2和dplyr包,也就是说你首先掌握了基本的数据探索,那你就能自行利用你的方法来寻找数据内部的本质。
Why youshould start by learning data visualization and manipulation这篇文章曾出现在SHARP SIGHT LABS中。
翻译来源:http://www.r-bloggers.com/why-you-should-start-by-learning-data-visualization-and-manipulation/
何品言,热爱英语和数据科学。
严禁修改,可以转载,请注明出自数据人网和原文链接:http://shujuren.org/index.php/Article/update/aid/155
更多精彩内容,请点击阅读原文。
数据人网(http://shujuren.org),数据人学习、交流和分享的家园,专注于从数据中学习,努力发觉数据之洞见,积极利用数据之价值。为“让人懂数据、用数据”之使命坚持做点事情。大家可以来投稿,做分享和传播,可以给反馈。您有什么想法,请反馈给我们,谢谢。数据人网,我们共建和共享。
数据人网构建了数据人圈子,诚邀热爱数据和利用数据朋友入群。加小编微信:luqin360,注明入圈子。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!