网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 R高性能编程(用整套解决方案与高超技巧突破性能瓶颈)
分类
作者 利姆//William Tjhi
出版社 电子工业出版社
下载
简介
编辑推荐

随着商业界和科学界各个领域对信息的使用越来越多,R提供了一种简单、强大的方法以分析和处理超大规模数据。R是快速进行数据探索、统计分析和统计建模最常用的工具之一,能够从大规模的数据中得到有用的洞见和发现。

通过利姆、William Tjhi编著的《R高性能编程:用整套解决方案与高超技巧突破性能瓶颈》这部实践指南,你将学到很多解决R编程性能问题的方法。你将学习如何对R程序进行性能分析和基准测试,识别瓶颈,评估和识别CPU的性能限制,识别内存或磁盘I/O的局限性,以及使用诸如计算向量化这样的技巧来优化R程序的计算速度。你还会学到更高级的技术,比如编译代码、利用GPU的计算能力、优化内存消耗,以及通过基于磁盘的内存和块技术处理超过内存容量的数据集。

这本书可以帮助那些想要提升R程序性能的程序员和开发者,使R程序在处理大型数据集的时候运行更快;也适合那些试图解决某个讨厌的性能问题的程序员和开发者。

内容推荐

R语言是专门为统计学和数据分析开发的解释型语言,主要用于数学建模、统计计算、数据处理、可视化等几个方面。近年来,受大数据的影响,R语言备受业界追捧。与此同时,工业界和学术界都越来越要求R具备高效分析和处理大规模数据的能力。但是,由于R本身的设计问题,它能够有效处理的数据规模和计算复杂度有限。

为此,利姆、William Tjhi编著的《R高性能编程:用整套解决方案与高超技巧突破性能瓶颈》这本书提供了较为完整的参考方案和技术指南。本书首先解释了CPU、内存和磁盘I/O等影响R性能的三个因素,剖析了R在处理大规模数据时出现性能瓶颈的原因。在理解了R的设计原理及其性能限制的基础之上,本书给出了提升R性能的方法和技术。例如:尽量使用向量化运算避免不必要的计算开销,预分配内存避免不必要的动态内存分配,使用编译代码减少CPU时间,删除不必要的中间数据释放内存占用,通过运行时计算代替永久存储减少内存使用,使用内存映射文件处理大型数据集,使用并行计算技术优化代码,以及接入数据库处理工具,等等。最后,本书提供了如何在R中使用Hadoop的方法,以处理和分析大数据。

目录

前言

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包

 小结

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/4/6 14:06:31