楼主: oliyiyi
2435 5

[学科前沿] 《R for Everyone: Advanced Analytics and Graphics》书评与作者采访 [推广有奖]

版主

已卖:2994份资源

泰斗

1%

还不是VIP/贵宾

-

TA的文库  其他...

计量文库

威望
7
论坛币
84105 个
通用积分
31671.0967
学术水平
1454 点
热心指数
1573 点
信用等级
1364 点
经验
384134 点
帖子
9629
精华
66
在线时间
5508 小时
注册时间
2007-5-21
最后登录
2025-7-8

初级学术勋章 初级热心勋章 初级信用勋章 中级信用勋章 中级学术勋章 中级热心勋章 高级热心勋章 高级学术勋章 高级信用勋章 特级热心勋章 特级学术勋章 特级信用勋章

楼主
oliyiyi 发表于 2015-10-2 15:48:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

《R for Everyone: Advanced Analytics and Graphics》是一本关于R编程语言以及用R来完成数据分析和可视化的书,它的作者是Jared P. Lander。

这本书从如何下载、安装R语言和配置环境开始讲述,环境配置包括命令行和RStudio IDE。

Jared接着在书中讲述了R的数据结构,如帧(data.frames)、列表(lists)、矩阵(matrices)和数组(arrays)。这其中也包括了从CSV、EXCEL文档、数据库表和其他统计工具中来读取数据。


在书中作者继续讲述了基本的统计方法、线性和非线性模型。线性模型包括逻辑回归和泊松回归,而非线性模型则包括非线性最小二乘法(non-linear least squares),决策树(Decision Trees)和随机森林(Random Forests)。

Jared同时也讲述了聚类模型如K-means(基于距离的聚类算法)、PAM(Partitioning Around Medoids,围绕中心点划分算法)和Hierarchical Clustering(分级聚类算法)。

InfoQ采访了Jared,内容包括R编程语言、这本书的情况、大数据分析和可视化等。


InfoQ:什么时候我们应该用R来进行数据探索而不是用其它的方案,如Hadoop和MapReduce呢?

Jared P. Lander:这并不是非此即彼的情况。R可以处理内存中的数据,也可以被用作Hadoop和MapReduce作业中的编程语言。如果数据可以轻松放到一个合理大小的机器上,那就应该直接用R来探索;如果不是这样的情况,也可以在Hadoop上用R来进行数据探索。

InfoQ:你能谈谈一些流行的机器学习算法以及它们可以解决的用例或商业问题吗?

Jared:最近看到的最流行的算法和模型包括弹性网络(Elastic Net)、决策树和随机森林。当有多个预测器(predictors)时弹性网络表现非常好,这是因为它可以在保持广义线性模型解释能力(interpretability)的前提下执行不同的选择和规则化(regularization)。它最著名的实现是R中的glmnet包,这个包是Jerome Friedman、Trevor Hastie和Rob Tibshirani用非常高效的FORTRAN代码编写的。当预测器和响应之间存在非线性关系时决策树模型就是一个好的方案。决策树可以非常有解释性并且有很好的预测能力,这依赖于如何去修剪它。决策树的自然扩展就是随机森林,它把成千上万的树合并到一起来获得更强的预测能力,代价是牺牲了解释能力。这三种模型在需要预测的场景下执行效果都很好,比如定向广告、欺诈检测和运动分析。

InfoQ:如何去比较R语言和其它的机器学习框架,如Spark MLlib呢?

Jared:R既是一种语言,也是统计算法实现的集合,相比而言,其它的机器学习框架的功能是预定义好的。所以,如果某个方法在R中还没有实现(这种情况很少见),那么完全可能用R这种语言去创建它。

InfoQ:你讲述了关于时间序列数据的分析,这种数据每天都由越来越多的设备生成。你能谈谈在分析这些时间序列数据时一些好的实践吗?

Jared:对于时间序列很重要的是说明其自相关性(autocorrelation),这意味着标准的方法不再适用。这个特性进一步延伸下去,就是要确保交叉验证(cross-validation)时数据的连续性。对于时间序列数据的分析可以应用几种不同的模型方法,包括自回归移动平均线(ARMA:autoregressive moving average)、广义自回归条件异方差(GARCH:generalized autoregressive conditional heteroskedasticity)和隐式马尔科夫模型(HMM:Hidden Markov model)。时间序列的群集(Clustering)也是需要特殊关注的,这里动态时间规整(dynamic time warping)用于测量序列间的距离。时间序列数据存储效率是处理时的另一个重要步骤,而InfluxDB(开源、分布式的时间序列数据库)是个很好的解决方案。

InfoQ:你能大概谈谈数据可视化,以及R在可视化领域所扮演的角色吗?

世界上最复杂的分析如果它揭示的信息不能被有效交流和可视化,那么它也近乎无用,而数据可视化可能是最好的信息分享方式。一个图通常总会比一个数字表格能提供更好的解释。R最大的一个卖点就是它的可视化能力。多年来它的标杆是Hadley Wickham的ggplot2包,它用令人惊奇少量代码提供了惊人的图形能力。Hadley还创建了ggivs包,它本质上是ggplot2的版本但可以生成Vega(基于Web的可视化语法)图形。Ramnath Vaidyanathan编写了rCharts包,这样就可以在R中容易地创建D3(Data-Driven Documents)图形。通过上述这些选择,R可以非常容易和专业的进行数据的可视化。

InfoQ:对于想学习R的应用开发者来说,你有什么建议吗?是依据教程或者工具和IDE吗?

Jared:使用R最重要的工具就是RStudio IDE,这个集成开发环境使得R的编码是如此简单和易于上手。它提供了如此多的便利和功能,所以说到它的益处绝不是夸大其词。R非常好的一点还在于它是完全开源的,这样就有可能通过查看其他人的工作来学习R。当然,我的书《R for Everyone》也是一个非常好的起点。

InfoQ:那么R作为编程语言有什么局限性吗?

Jared:大多数情况下,数据是要求保存在内存中的,所以数据的大小会受到计算机中RAM数量的限制。避开这个限制,传统的做法是使用计算机集群,然后可以通过foreach语句和parallel包来比较容易地实现。也有一些包是工作于磁盘上的数据,比如bigmemory和 dplyr,这些都非常有帮助。过去R的内存管理有一些问题,但在最近的版本中都有了相当大的改进。

InfoQ:在你看来,R编程语言有哪些改进或新的特性呢?

Jared:在数据量不断增长的情况下,依然能用R去操作和分析那些保存在数据库中的数据是至关重要的。只要保证这个功能,那么我们就能乐见在更多的数据库中去应用R。

InfoQ:请你对统计编程和大数据分析前景给些意见和思路吧,一般性的或者是针对R的。

Jared:有能力针对数据进行编程而不是依赖于那些点击操作工具可以帮助你改进生产效率,每个人都应努力成为有编程能力的人。他们的产出从数量和质量上将会有相当大的改进,所以为此投入时间肯定是非常值得的。这些适用于还在整天用电子表格工作的任何人士,他们的下一步应该是利用统计和机器学习从数据中提取更多的信息。这个技能将会有益于使用者及其听众。

关于《R for Everyone》的作者

Jared P. Lander是纽约城的统计顾问。他是纽约开放统计编程聚会(New York Open Statistical Programming Meetup)的组织者,以及纽约R、预测分析和机器学习聚会的演讲者。Jared专门研究数据管理、 多层模型(multilevel models)、机器学习、广义线性模型和统计计算。他的咨询范围从音乐、基金到金融和人道主义救援。他同时也在哥伦比亚大学教授R这门课程。作为哥伦比亚大学统计学专业硕士和数学专业学士,Jared在学术研究和业界实践上都富有经验。


查看英文原文:R for Everyone: Advanced Analytics and Graphics – Book Review and Interview


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Analytics Graphics Everyone Analytic Advanced 数据库表 编程语言 EXCEL 模型 如何

缺少币币的网友请访问有奖回帖集合
https://bbs.pinggu.org/thread-3990750-1-1.html

沙发
rrjj101022 发表于 2015-10-2 17:07:58
谢谢分享~~~

藤椅
seahhj 发表于 2015-10-2 19:11:55
thanks for sharing

板凳
icyjunjin 发表于 2015-10-2 19:30:43 来自手机
oliyiyi 发表于 2015-10-2 15:48
《R for Everyone: Advanced Analytics and Graphics》是一本关于R编程语言以及用R来完成数据分析和可视化的 ...
不懂这个软件

报纸
jjxm20060807 发表于 2015-10-3 18:41:31
谢谢分享

地板
tianjuhao 在职认证  发表于 2015-10-5 23:30:41
这本书的中文版已经有了,建议初学者可以买来看看,我是有了一定的R的经验之后买的。在刚过去的暑假仔细看了前半部分很有收获。这本书讲解了几个非常好的包,比如ggplot2、reshape2、data.table、plyr、stringr。这是其他的书未涉及或者涉及很少的。强烈推荐。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 06:19