R高性能程式設計 R高性能编程
利姆 (Aloysius Lim), William Tjhi
- 出版商: 電子工業
- 出版日期: 2015-12-01
- 定價: $330
- 售價: 8.5 折 $281
- 語言: 簡體中文
- 頁數: 144
- 裝訂: 平裝
- ISBN: 7121273969
- ISBN-13: 9787121273964
-
相關分類:
R 語言、大數據 Big-data、Data Science
- 此書翻譯自: R High Performance Programming
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$600$588 -
$880$581 -
$620$527 -
$1,200$948 -
$680$578 -
$301數據分析:R 語言實戰
-
$550$468 -
$620$490 -
$780$616 -
$360$284 -
$352Python 資料分析與挖掘實戰
-
$505基於R語言的自動資料收集:網絡抓取和文本挖掘實用指南 (Automated Data Collection with R)
-
$352R的極客理想:高級開發篇
-
$680$537 -
$250R語言數據挖掘方法及應用/統計分析系列
-
$560$437 -
$352機器學習與R語言實戰
-
$580$493 -
$580$458 -
$480$379 -
$590$502 -
$580$458 -
$520$411 -
$500$395 -
$580$522
相關主題
商品描述
<內容介紹>
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包
小結