您好,欢迎来到聚文网。 登录 免费注册
R高性能编程

R高性能编程

  • 字数: 224000.0
  • 装帧: 平装
  • 出版社: 电子工业出版社
  • 作者: 利姆(Aloysius Lim),William Tjhi 著;唐李洋 译 著
  • 出版日期: 2015-12-01
  • 商品条码: 9787121273964
  • 版次: 1
  • 开本: 16开
  • 页数: 144
  • 出版年份: 2015
定价:¥55 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
R语言是专门为统计学和数据分析开发的解释型语言,主要用于数学建模、统计计算、数据处理、可视化等几个方面。近年来,受大数据的影响,R语言备受业界追捧。与此同时,工业界和学术界都越来越要求R具备高效分析和处理大规模数据的能力。但是,由于R本身的设计问题,它能够有效处理的数据规模和计算复杂度有限。
为此,利姆、William Tjhi编著的《R高性能编程:用整套解决方案与高超技巧突破性能瓶颈》这本书提供了较为完整的参考方案和技术指南。本书首先解释了CPU、内存和磁盘I/O等影响R性能的三个因素,剖析了R在处理大规模数据时出现性能瓶颈的原因。在理解了R的设计原理及其性能限制的基础之上,本书给出了提升R性能的方法和技术。例如:尽量使用向量化运算避免不必要的计算开销,预分配内存避免不必要的动态内存分配,使用编译代码减少CPU时间,删除不必要的中间数据释放内存占用,通过运行时计算代替永久存储减少内存使用,使用内存映射文件处理大型数据集,使用并行计算技术优化代码,以及接入数据库处理工具,等等。最后,本书提供了如何在R中使用Hadoop的方法,以处理和分析大数据。
作者简介
Aloysius Lim:擅长将复杂的数据和模型表述为简单易懂的见解。作为About People的联合创办者、数据科学家及设计顾问,他喜欢解决问题,以及帮助他人寻找利用数据解决业务难题的实践方案。在政府、教育和零售行业长达7年的丰富经验,造就了他寻找具有创造性的解决办法的独特视角。
衷心地感谢上帝给我机会撰写本书,让我分享这些知识。在这个过程中,我亲爱的妻子Bethany给予了极大的支持和鼓励。谢谢你全部的爱,亲爱的。非常感谢我的搭档William,他是我灵感和洞察力的来源。
William Tjhi :数据科学家,在学术、政府及工业界具有多年的工作经验。他自读博期间开始了数据科学之旅,研究了一些新算法以提高高维数据聚类的健壮性。取得博士学位之后,他从基础研究转向了应用研究,致力于采用机器学习方法解决分子生物学和传染病学中的各种问题。他在一些同行评审的期刊和会议上发表了部分研究成果。随着大数据的兴起,William离开了学术界,转而投入工业界,开始了商业和公共部门领域的数据科学实践。William热衷于R,从他搞研究的那天开始就一直使用R作为主要的分析工具。他曾经是Revolution Analytics的一员,那时候他做了很多使R更加适合大数据的贡献。
目录
前言
1 理解R的性能:为什么R程序有时候很慢?
计算性能的三个限制因素:CPU、RAM和磁盘I/O
R是运行时解释的
R是单线程的
R需要将全部数据加载到内存
算法设计影响时间和空间复杂度
小结
2 性能分析:衡量代码的性能
衡量总运行时间
使用system.time()衡量运行时间
使用rbenchmark重复衡量运行时间
使用microbenchmark衡量运行时间的分布
分析运行时间
使用Rprof()分析函数的性能
性能分析的结果
分析内存使用情况
使用OS工具监控内存使用情况、CPU使用情况和磁盘I/O
瓶颈的发现及解决
小结
3 加快R运行的简单方法
向量化
使用内置函数
预分配内存
使用更简单的数据结构
使用哈希表进行大型数据上的频繁查找
去CRAN寻找更快的包
小结
4 使用编译代码加快运行速度
在运行之前编译R代码
编译函数
即时编译(JIT)R代码
在R中使用编译语言
前提条件
以内联形式包含编译代码
调用外部编译代码
使用编译代码的注意事项
小结
5 使用GPU让R运行得更快
GPU上的通用计算
R和GPU
安装gputools
使用gputools实现快速统计建模
小结
6 减少内存使用的简单方法
重用对象而不多占用内存
删除不再需要的中间数据
运行时计算值而不是永久性存储值
交换活跃数据和非活跃数据
小结
7 使用有限的内存处理大型数据集
使用节约内存的数据结构
更小的数据类型
稀疏矩阵
对称矩阵
比特向量
使用内存映射文件并以块的形式处理数据
bigmemory包
ff包
小结
8 使用并行计算加倍提升性能
数据并行性 v.s.任务并行性
实现数据并行的算法
实现任务并行的算法
集群节点运行同一个任务时
集群节点运行多个不同任务时
计算机集群并行执行多个任务
共享内存并行性 v.s.分布式内存并行性
优化并行的性能
小结
9 将数据处理交给数据库系统
将数据抽取到R v.s.在数据库中处理数据
在关系型数据库中使用SQL进行数据预处理
将R表达式转化为SQL
使用dplyr
使用PivotalR
在数据库中运行统计和机器学习算法
使用列式数据库提升性能
使用数据库阵列最大化科学计算的性能
小结
10 R和大数据
理解Hadoop
在Amazon Web Services上配置Hadoop
使用Hadoop批量处理大型数据集
将数据上传到HDFS
使用RHadoop分析HDFS数据
R中的其他Hadoop包
小结

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网