R語言高效能實戰 更多數據和更快速度
內容描述
本書將目標設定為“在一臺筆記本電腦上使用R語言處理較大的數據集”,從單機大型數據集處理策略、提升計算性能、其他工具和技巧3個方面介紹了使用R語言處理數據時的實用方法。包括數據集占用空間、善用data.table處理數據、數據分塊處理、提升硬盤資源使用效率、並行編程技術、提升機器學習性能,以及其他資源管理和提高性能的實用策略。幫助讀者處理較大的數據集、挖掘R的開發潛能。本書適合有一定R語言基礎的讀者閱讀,也適合作為R語言實踐工具書。
目錄大綱
第 1章 簡單直接的策略—減少數據占用空間 11.1 保留必要的數據 11.1.1 保留必要的列 21.1.2 保留必要的行 41.2 設置合適的數據類型 131.3 本章小結 15第 2章 簡單直接的策略—減少數據占用空間 11.1 保留必要的數據 11.1.1 保留必要的列 21.1.2 保留必要的行 41.2 設置合適的數據類型 131.3 本章小結 15第3章 基於內存的“快工具”—data.table 162.1 數據讀入操作 172.1.1 讀入單個數據 172.1.2 讀入多個數據 202.2 數據基本行列操作 232.3 數據合並、分組匯總操作 322.4 dtplyr:data.table和dplyr的結合 392.5 本章小結 46第4章 逐塊擊破—數據分塊處理 473.1 使用iotools庫實現分塊處理 473.2 使用readr庫實現分塊處理 573.3 本章小結 60第4章 突破內存限制—利用硬盤資源 614.1 實現R與關系型數據庫管理系統協作 614.2 使用bigmemory體系處理大型矩陣 664.3 使用ff體系處理大型數據框 734.3.1 ff體系基本數據操作 734.3.2 ff體系與關系型數據庫系統協作 814.4 新一代工具disk.frame 834.5 本章小結 93第5章 友好的可視化工具—trelliscope 945.1 實現交互式大型分面可視化 945.2 本章小結 100第6章 讓R更快—並行編程 1016.1 R並行編程技術概覽 1016.2 並行計算第三方庫 1036.2.1 snow庫 1046.2.2 multicore庫 1046.2.3 parallel庫 1056.2.4 future庫 1066.2.5 foreach庫 1076.3 網絡數據爬取案例 1086.3.1 利用foreach並行循環進行爬取 1096.3.2 利用tidyverse和future相結合進行爬取 1196.3.3 文本分詞及整潔化處理 1256.4 本章小結 132第7章 提升機器學習效能—R的基礎策略 1347.1 使用foreach實現並行循環 1367.2 使用更優化的第三方庫 1407.3 使用caret框架結合並行計算 1457.4 本章小結 157第8章 整潔流暢的框架—tidymodels 1588.1 建立簡單工作流 1598.2 工作流比較 1668.3 工作流超參數調優 1698.4 多工作流同時調優 1768.5 本章小結 180第9章 靈活強大的框架—mlr3 1819.1 數據及模型的創建 1829.2 利用future支持mlr3計算任務 1909.3 嵌套重抽樣過程 2019.4 以圖管理機器學習工作流 2049.5 本章小結 213第 10章 強強聯合—利用reticulate庫借力Python 21410.1 配置Python環境 21510.2 在R中用Python代碼編程 21710.3 以R編程方式使用Python 22310.4 本章小結 227第 11章 簡單高效的自動機器學習工具—H2O 22811.1 H2O基本使用方法 22911.2 H2O自動機器學習 24211.3 本章小結 247第 12章 善其事,利其器—其他策略和工具 24812.1 內存及硬盤資源管理類策略 24812.1.1 讀取壓縮文件 24812.1.2 以rds格式保存中間結果 25012.1.3 垃圾回收機制 25112.1.4 R的內存管理工具 25112.1.5 使用pryr庫 25212.2 計算效能提升類策略 25412.2.1 函數編譯 25512.2.2 使用benchmarkme庫 25612.3 使用R的增強發行版本 25812.3.1 Microsoft R Open 25812.3.2 Microsoft R Client 26012.4 其他數據科學工具 26112.4.1 SAS(Statistical Analysis System) 26112.4.2 Python 26212.5 本章小結 264
作者介紹
刘艺非,中山大学社会学硕士,8年数据科学相关工作经历,曾在公益慈善、房地产、电信运营商等行业担任过数据分析师及数据挖掘工程师。在工作过程中对R语言、Python、SAS、STATA、SPSS等主流数据科学工具均有使用经验和心得。