數(shù)據(jù)科學(xué)并行計(jì)算(數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)叢書)
定 價(jià):49 元
叢書名:數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)叢書
- 作者:白琰冰
- 出版時(shí)間:2021/5/1
- ISBN:9787300290591
- 出 版 社:中國(guó)人民大學(xué)出版社
- 中圖法分類:TP274
- 頁(yè)碼:288
- 紙張:
- 版次:1
- 開(kāi)本:16
本書通俗地講解數(shù)據(jù)科學(xué)與并行計(jì)算的基本概念、方法和原理,系統(tǒng)地介紹基于典型大數(shù)據(jù)場(chǎng)景的并行計(jì)算解決思路,同時(shí)涵蓋常用的數(shù)據(jù)并行計(jì)算工具的操作實(shí)踐,使讀者知其然更知其所以然。
本書的特色在于:注重對(duì)大數(shù)據(jù)科學(xué)方法核心應(yīng)用的講解,突出以并行計(jì)算思維解決大數(shù)據(jù)場(chǎng)景問(wèn)題的案例教學(xué);诘湫痛髷(shù)據(jù)場(chǎng)景案例數(shù)據(jù)集,循序漸進(jìn)地引導(dǎo)讀者利用Parallel、Sparklyr、Dask和PySpark等主流并行計(jì)算工具實(shí)現(xiàn)數(shù)據(jù)的清洗、轉(zhuǎn)換、描述和建模分析。幫助讀者系統(tǒng)全面地構(gòu)建數(shù)據(jù)科學(xué)的基本知識(shí)體系,領(lǐng)會(huì)數(shù)據(jù)并行計(jì)算方法的精髓,掌握不同編程語(yǔ)言和并行計(jì)算工具針對(duì)不同規(guī)模數(shù)據(jù)集的優(yōu)缺點(diǎn),能夠利用并行計(jì)算工具解決實(shí)際的數(shù)據(jù)分析問(wèn)題。
白琰冰,中國(guó)人民大學(xué)統(tǒng)計(jì)學(xué)院數(shù)據(jù)科學(xué)與大數(shù)據(jù)統(tǒng)計(jì)系講師,碩士生導(dǎo)師,中國(guó)人民大學(xué)杰出青年學(xué)者,北京大數(shù)據(jù)協(xié)會(huì)理事會(huì)理事。主要開(kāi)設(shè)課程包括大數(shù)據(jù)分布式計(jì)算、并行計(jì)算與軟件設(shè)計(jì)、統(tǒng)計(jì)學(xué)。
第一部分 數(shù)據(jù)科學(xué)并行計(jì)算基礎(chǔ)
第1 章 并行計(jì)算基礎(chǔ)知識(shí)
1.1 什么是并行計(jì)算
1.2 并行計(jì)算的起源
1.2.1 為什么要進(jìn)行并行計(jì)算
1.2.2 如何解決大規(guī)模數(shù)據(jù)對(duì)計(jì)算能力的需求問(wèn)題
1.3 有關(guān)并行計(jì)算的基本概念
1.3.1 并發(fā)計(jì)算、分布式計(jì)算的概念
1.3.2 核、集群、中央處理器的概念
1.3.3 集群計(jì)算、對(duì)等計(jì)算、網(wǎng)格計(jì)算、云計(jì)算和普適計(jì)算的概念
1.3.4 并行計(jì)算中的常用術(shù)語(yǔ)
1.4 并行計(jì)算的性能評(píng)價(jià)方法
1.5 并行計(jì)算的數(shù)據(jù)分解方法及計(jì)算模型
1.5.1 分解問(wèn)題為獨(dú)立塊
1.5.2 并行計(jì)算模型
習(xí)題
第2 章 大數(shù)據(jù)基礎(chǔ)知識(shí)
2.1 大數(shù)據(jù)簡(jiǎn)介
2.1.1 什么是大數(shù)據(jù)
2.1.2 大數(shù)據(jù)的3 個(gè)V
2.1.3 大數(shù)據(jù)相關(guān)概念和術(shù)語(yǔ)
2.1.4 大數(shù)據(jù)處理系統(tǒng)
2.1.5 Spark 框架的特性
2.1.6 Spark 生態(tài)
2.1.7 Spark 部署方式
2.2 Hadoop 和Spark 基礎(chǔ)知識(shí)
2.2.1 什么是Hadoop
2.2.2 Spark 產(chǎn)生的背景
2.2.3 Spark 的優(yōu)點(diǎn)
2.2.4 Spark 的三大概念
2.2.5 為什么要選擇Spark
2.3 在阿里云服務(wù)器安裝和配置Hadoop 和Spark
2.3.1 Hadoop 的安裝和配置
2.3.2 Spark 的安裝和配置
2.4 Linux 基礎(chǔ)知識(shí)
2.4.1 Linux Shell 介紹
2.4.2 Linux 常用目錄介紹
2.4.3 Linux 常用命令
2.4.4 vim 基本操作
習(xí)題
第二部分 R 語(yǔ)言并行計(jì)算
第3 章 R 語(yǔ)言并行計(jì)算核心方法
3.1 并行計(jì)算的R 包
3.2 parallel 包并行計(jì)算
3.2.1 parallel 包的基礎(chǔ)知識(shí)
3.2.2 parallel 包的核心功能
3.2.3 初始化節(jié)點(diǎn)
3.2.4 數(shù)據(jù)分塊
3.3 foreach 包和future 包并行計(jì)算
3.3.1 foreach 包
3.3.2 foreach 包和parallel 包的后端
3.3.3 future 包和future.apply 包
3.3.4 調(diào)度和負(fù)載平衡
3.4 隨機(jī)數(shù)和結(jié)果可重復(fù)性
3.4.1 結(jié)果是可重復(fù)的嗎
3.4.2 并行計(jì)算中的RNG
3.4.3 foreach 包和future.apply 包中的結(jié)果可重復(fù)性
3.4.4 小結(jié)
習(xí)題
第4 章 使用R 中的sparklyr 包操作
4.1 sparklyr 基礎(chǔ)知識(shí)
4.1.1 什么是sparklyr
4.1.2 sparklyr 的安裝與工作流程
4.2 Spark 中的數(shù)據(jù)
4.2.1 向Spark 傳輸數(shù)據(jù)
4.2.2 tibble 與Data Frame
4.2.3 展示Spark 中的數(shù)據(jù)集
4.2.4 compute() 與collect()
4.3 sparklyr 的dplyr 接口
4.3.1 dplyr 接口簡(jiǎn)介
4.3.2 選擇目標(biāo)列
4.3.3 篩選行
4.3.4 對(duì)行排序
4.3.5 轉(zhuǎn)換或添加列
4.3.6 計(jì)算匯總函數(shù)
4.3.7 其他常用功能
4.4 sparklyr 的特征轉(zhuǎn)換接口
4.4.1 dplyr 接口的局限
4.4.2 MLib 接口
4.4.3 Spark DataFrame 接口
4.5 案例:使用MLib 接口進(jìn)行機(jī)器學(xué)習(xí)
4.5.1 MLib 中的機(jī)器學(xué)習(xí)函數(shù)
4.5.2 機(jī)器學(xué)習(xí)案例
習(xí)題
第5 章 R 中的可擴(kuò)展數(shù)據(jù)處理
5.1 R 中的可擴(kuò)展數(shù)據(jù)處理簡(jiǎn)介
5.1.1 什么是可伸縮的數(shù)據(jù)處理
5.1.2 使用bigmemory 項(xiàng)目處理“核外”對(duì)象
5.1.3 big.matrix 的復(fù)制
5.2 使用大內(nèi)存處理和分析數(shù)據(jù)
5.2.1 bigmemory 軟件包套件
5.2.2 拆分、計(jì)算和合并
5.2.3 使用Tidyverse 可視化結(jié)果
5.2.4 bigmemory 的局限性
5.3 使用iotools 處理大型文件
5.3.1 數(shù)據(jù)的分塊處理
5.3.2 初識(shí)iotools: 導(dǎo)入數(shù)據(jù)
5.3.3 chunk.apply 的巧妙運(yùn)用
5.4 案例:抵押貸款數(shù)據(jù)的基礎(chǔ)分析
5.4.1 不同人種的抵押貸款的數(shù)量
5.4.2 數(shù)據(jù)缺失與其他變量的關(guān)系
5.4.3 不同人種貸款數(shù)量的變化趨勢(shì)
5.4.4 鄉(xiāng)村與城鎮(zhèn)的貸款變化趨勢(shì)
5.4.5 收入與聯(lián)邦擔(dān)保貸款
5.4.6 小結(jié)
習(xí)題
第三部分 Python 語(yǔ)言并行計(jì)算
第6 章 使用Python 進(jìn)行Dask并行編程
6.1 Dask 基礎(chǔ)知識(shí)
6.1.1 Dask 簡(jiǎn)介
6.1.2 Dask 的主要優(yōu)點(diǎn)
6.1.3 安裝Dask
6.2 Dask 對(duì)不同數(shù)據(jù)結(jié)構(gòu)的操作
6.2.1 Dask 對(duì)Array 的操作
6.2.2 Dask 對(duì)DataFrame 的操作
6.2.3 Dask 對(duì)Bag 的操作
6.3 在大數(shù)據(jù)集上訓(xùn)練
6.3.1 安裝Python 包
6.3.2 導(dǎo)入包
6.3.3 創(chuàng)建隨機(jī)數(shù)據(jù)集
6.3.4 生成數(shù)據(jù)集
6.3.5 K-means 計(jì)算
6.3.6 使用Dask 可視化示例
6.4 并行及分布式機(jī)器學(xué)習(xí)
6.4.1 生成隨機(jī)數(shù)據(jù)
6.4.2 支持向量機(jī)
6.5 分布式部署示例
6.5.1 Dask 分布式簡(jiǎn)介
6.5.2 啟動(dòng)主節(jié)點(diǎn)
6.5.3 啟動(dòng)工作節(jié)點(diǎn)
6.5.4 運(yùn)行Dask 分布式示例
習(xí)題
第7 章 PySpark 基礎(chǔ)操作
7.1 PySpark 簡(jiǎn)介
7.1.1 PySpark 相關(guān)概念
7.1.2 PySpark 初步操作
7.1.3 Python 中的匿名函數(shù)
7.2 PySpark RDD 相關(guān)編程
7.2.1 什么是RDD
7.2.2 創(chuàng)建RDD 的方法
7.2.3 RDD 的轉(zhuǎn)換操作
7.2.4 RDD 的執(zhí)行操作
7.2.5 創(chuàng)建RDD 對(duì)的方法
7.2.6 RDD 對(duì)的執(zhí)行操作
7.3 PySpark 的DataFrame
7.3.1 PySpark 數(shù)據(jù)流簡(jiǎn)介
7.3.2 SparkSession——DataFrame API 的入口點(diǎn)
7.3.3 在PySpark 中創(chuàng)建數(shù)據(jù)流
7.3.4 DataFrame 的轉(zhuǎn)換操作
7.3.5 DataFrame 的執(zhí)行操作
7.3.6 有條件的DataFrame轉(zhuǎn)換操作
7.3.7 在DataFrame 中實(shí)現(xiàn)用戶自定義函數(shù)
7.3.8 與ArrayType 列進(jìn)行交互
7.4 提升DataFrame 操作的性能
7.4.1 提高數(shù)據(jù)導(dǎo)入的性能
7.4.2 集群尺寸建議
7.4.3 查看Spark 執(zhí)行計(jì)劃
7.4.4 限制shuffling
7.5 在PySpark 中使用SQL 查詢
7.5.1 DataFrame API vs. SQL查詢
7.5.2 執(zhí)行SQL 語(yǔ)句
7.5.3 DataFrame 連接操作
7.6 案例:房屋售價(jià)探索性分析
7.6.1 讀入并檢查數(shù)據(jù)
7.6.2 房屋售價(jià)的描述統(tǒng)計(jì)量
7.6.3 使用可視化方式查看數(shù)據(jù)
習(xí)題
第8 章 PySpark 特征工程
8.1 數(shù)據(jù)科學(xué)思維簡(jiǎn)介
8.2 數(shù)據(jù)清洗
8.2.1 什么是數(shù)據(jù)清洗
8.2.2 使用Spark 進(jìn)行數(shù)據(jù)清洗的優(yōu)勢(shì)
8.2.3 使用Spark Schema 驗(yàn)證數(shù)據(jù)集
8.2.4 使用數(shù)據(jù)管道進(jìn)行轉(zhuǎn)換操作
8.2.5 驗(yàn)證數(shù)據(jù)的質(zhì)量
8.2.6 使用數(shù)據(jù)框進(jìn)行分析
8.3 單特征預(yù)處理
8.3.1 數(shù)據(jù)標(biāo)準(zhǔn)化
8.3.2 缺失值處理
8.3.3 提取日期特征
8.3.4 二值化和桶化
8.3.5 OneHot 編碼
8.4 多特征預(yù)處理
8.4.1 特征生成
8.4.2 特征提取
8.4.3 文本數(shù)據(jù)特征提取
8.5 案例:航班數(shù)據(jù)預(yù)處理
8.5.1 讀取數(shù)據(jù)
8.5.2 刪除飛機(jī)編號(hào)字段
8.5.3 刪除delay 字段的缺失值
8.5.4 創(chuàng)建衍生字段
8.5.5 將輸入字段合并為一個(gè)向量
8.5.6 對(duì)航空公司字段進(jìn)行OneHot編碼
習(xí)題
第9 章 PySpark 機(jī)器學(xué)習(xí)
9.1 機(jī)器學(xué)習(xí)與Spark
9.2 使用Spark ML 中的分類模型
9.2.1 數(shù)據(jù)集劃分
9.2.2 決策樹(shù)
9.2.3 邏輯回歸
9.2.4 分類模型評(píng)價(jià)
9.2.5 使用集成模型進(jìn)行分類
9.3 使用Spark ML 中的回歸模型
9.3.1 線性回歸模型
9.3.2 隨機(jī)森林回歸
9.3.3 回歸模型評(píng)價(jià)
9.3.4 通過(guò)離散化改進(jìn)模型性能
9.3.5 使用正則化方法防止過(guò)擬合
9.4 使用Spark MLlib 進(jìn)行機(jī)器學(xué)習(xí)
9.4.1 PySpark MLlib 概述
9.4.2 協(xié)同過(guò)濾
9.4.3 分類
9.4.4 聚類
9.5 模型選擇
9.5.1 管道
9.5.2 交叉驗(yàn)證
9.5.3 網(wǎng)格尋優(yōu)
習(xí)題