《Julia數據科學套用》是2018年人民郵電出版社出版的圖書,作者是[美]扎卡賴亞斯·弗格里斯。
基本介紹
- 中文名:Julia數據科學套用
- 作者:[美]扎卡賴亞斯·弗格里斯
- 出版時間:2018年02月01日
- 出版社:人民郵電出版社
- 頁數:286 頁
- ISBN:9787115473288
- 開本:16 開
- 裝幀:平裝
內容簡介,目錄,
內容簡介
全書共13章,涵蓋了Julia基礎知識、工作環境搭建、語言基礎和高 級內容、數據科學套用、數據可視化、機器學習方法(包括無監督式學習方法和監督式學習方法)、圖分析方法等重要的話題。附錄部分給出了學習和使用Julia的一些有用的參考資料,還給出了各章的思考題的答案。
目錄
第 1章 Julia簡介 1
1.1 Julia如何提高數據科學水平 2
1.1.1 數據科學工作流程 3
1.1.2 Julia被數據科學社區接受的過程 5
1.2 Julia 擴展 6
1.2.1 包的質量 6
1.2.2 找到新的包 6
1.3 關於本書 7
第 2章 建立數據科學工作環境 9
2.1 Julia IDE 9
2.1.1 Juno 10
2.1.2 IJulia 11
2.1.3 其他IDE 12
2.2 Julia擴展包 13
2.2.1 找到並選擇擴展包 13
2.2.2 安裝擴展包 14
2.2.3 使用擴展包 15
2.2.4 破解擴展包 16
2.3 IJulia基礎 16
2.3.1 檔案處理 16
2.3.2 在.jl檔案中組織代碼 19
2.3.3 引用代碼 20
2.3.4 工作目錄 20
2.4 要使用的數據集 21
2.4.1 數據集描述 21
2.4.2 下載數據集 23
2.4.3 載入數據集 24
2.5 在Julia中實現一個簡單的機器學習算法 25
2.5.1 算法描述 26
2.5.2 算法實現 27
2.5.3 算法測試 30
2.6 將工作區保存到數據檔案 32
2.6.1 將數據保存為分隔值檔案 32
2.6.2 將數據保存為Julia數據檔案 33
2.6.3 將數據保存為文本檔案 35
2.7 幫助 36
2.8 小結 36
2.9 思考題 37
第3章 Julia入門 39
3.1 數據類型 39
3.2 數組 42
3.2.1 數組基礎 42
3.2.2 在數組中引用多個元素 43
3.2.3 多維數組 44
3.3 字典 44
3.4 基本命令與函式 45
3.4.1 print()和println() 46
3.4.2 typemax()和typemin() 46
3.4.3 collect() 47
3.4.4 show() 47
3.4.5 linspace() 48
3.5 數學函式 48
3.5.1 round() 48
3.5.2 rand()和randn() 49
3.5.3 sum() 52
3.5.4 mean() 53
3.6 數組與字典函式 53
3.6.1 in 53
3.6.2 append!() 54
3.6.3 pop!() 54
3.6.4 push!() 55
3.6.5 splice!() 55
3.6.6 insert!() 56
3.6.7 sort()和sort!() 57
3.6.8 get() 57
3.6.9 keys()和values() 58
3.6.10 length()和size() 58
3.7 其他函式 59
3.7.1 time() 59
3.7.2 條件語句 59
3.7.3 string() 61
3.7.4 map() 62
3.7.5 versioin() 62
3.8 運算符、循環語句與條件語句 62
3.8.1 運算符 63
3.8.2 循環語句 64
3.8.3 break命令 66
3.9 小結 66
3.10 思考題 67
第4章 Julia進階 68
4.1 字元串處理 68
4.1.1 split() 69
4.1.2 join() 70
4.1.3 正則表達式函式 70
4.2 定製函式 74
4.2.1 函式結構 74
4.2.2 匿名函式 75
4.2.3 多分派 75
4.2.4 函式示例 76
4.3 實現簡單算法 77
4.4 創建完整解決方案 79
4.5 小結 83
4.6 思考題 84
第5章 Julia數據科學套用概述 85
5.1 數據科學工作流程 85
5.2 數據工程 88
5.2.1 數據準備 88
5.2.2 數據探索 90
5.2.3 數據表示 92
5.3 數據建模 93
5.3.1 數據發現 93
5.3.2 數據學習 94
5.4 信息萃取 96
5.4.1 數據產品創建 96
5.4.2 知識、交付物與可視化產品 97
5.5 保持開放型思維 99
5.6 在實際問題中套用數據科學流程 99
5.6.1 數據準備 99
5.6.2 數據探索 100
5.6.3 數據表示 101
5.6.4 數據發現 101
5.6.5 數據學習 102
5.6.6 數據產品創建 102
5.6.7 知識、交付物和可視化產品 103
5.7 小結 103
5.8 思考題 105
第6章 Julia數據工程 106
6.1 數據框 106
6.1.1 創建並填充數據框 107
6.1.2 數據框基礎 108
6.1.3 引用數據框中的特定變數 109
6.1.4 探索數據框 109
6.1.5 篩選數據框 110
6.1.6 在數據框變數上套用函式 111
6.1.7 使用數據框進行工作 111
6.1.8 修改數據框 113
6.1.9 對數據框的內容進行排序 113
6.1.10 數據框的一些補充建議 114
6.2 導入與導出數據 115
6.2.1 使用.json數據檔案 115
6.2.2 保存數據到.json檔案 115
6.2.3 將數據檔案載入到數據框 116
6.2.4 保存數據框到數據檔案 116
6.3 數據清洗 117
6.3.1 數值型數據的清洗 117
6.3.2 文本型數據的清洗 118
6.4 數據格式化與轉換 119
6.4.1 數值型數據的格式化 119
6.4.2 文本數據的格式化 119
6.4.3 數據類型的重要性 120
6.5 對數值型數據進行轉換 120
6.5.1 標準化 121
6.5.2 離散化(分箱)與二值化 122
6.5.3 二值變數轉換為連續型變數(僅對於二值分類問題) 123
6.5.4 文本數據轉換 124
6.5.5 大小寫標準化 124
6.5.6 向量化 124
6.6 初步的特徵評價 126
6.6.1 回歸 126
6.6.2 分類 126
6.6.3 特徵評價補充說明 127
6.7 小結 128
6.8 思考題 129
第7章 探索數據集 130
7.1 傾聽數據 130
本章要使用的擴展包 131
7.2 計算基本統計量和相關性 131
7.2.1 變數概要 133
7.2.2 變數之間的相關性 134
7.2.3 兩個變數之間的可比性 136
7.3 繪製統計圖 136
7.3.1 圖形語法 137
7.3.2 為可視化準備數據 137
7.3.3 箱線圖 138
7.3.4 條形圖 138
7.3.5 折線圖 139
7.3.6 散點圖 140
7.3.7 直方圖 143
7.3.8 導出統計圖到檔案 144
7.4 假設檢驗 145
7.4.1 檢驗的基礎知識 145
7.4.2 錯誤類型 146
7.4.3 靈敏度與特異度 146
7.4.4 顯著性水平與檢驗力 146
7.4.5 KRUSKAL-WALLIS檢驗 147
7.4.6 T-檢驗 147
7.4.7 卡方檢驗 149
7.5 其他檢驗 151
7.6 統計檢驗附加說明 151
7.7 案例研究:探索OnlineNewsPopularity數據集 151
7.7.1 變數統計 152
7.7.2 可視化 153
7.7.3 假設 154
7.7.4 奇妙的T-SNE方法 155
7.7.5 結論 156
7.8 小結 156
7.9 思考題 159
第8章 構建數據空間 160
8.1 主成分分析 161
8.1.1 在Julia中使用PCA 162
8.1.2 獨立成分分析:主成分分析的常用替代方法 164
8.2 特徵評價與選擇 165
8.2.1 方法論概述 165
8.2.2 在Julia中使用餘弦相似度進行特徵評價與選擇 166
8.2.3 在Julia中使用DID進行特徵評價與選擇 168
8.2.4 特徵評價與選擇方法的優缺點 170
8.3 其他數據降維技術 170
8.3.1 其他降維方法概述 171
8.3.2 何時使用高 級降維方法 172
8.4 小結 172
8.5 思考題 173
第9章 數據抽樣與結果評價 175
9.1 抽樣技術 175
9.1.1 基本抽樣 176
9.1.2 分層抽樣 176
9.2 分類問題的性能指標 177
9.2.1 混淆矩陣 177
9.2.2 準確度 178
9.2.3 精 確度與召回度 180
9.2.4 F1指標 181
9.2.5 誤判成本 181
9.2.6 受試者工作特徵(ROC)曲線及相關指標 182
9.3 回歸問題的性能指標 185
9.3.1 MSE及其變種RMSE 186
9.3.2 SSE 187
9.3.3 其他指標 187
9.4 K折交叉驗證(KFCV) 188
9.4.1 在Julia中套用KFCV 189
9.4.2 KFCV小提示 189
9.5 小結 190
9.6 思考題 192
第 10章 無監督式機器學習 193
10.1 無監督式學習基礎知識 193
10.1.1 聚類的類型 194
10.1.2 距離的度量 195
10.2 使用K-均值算法分組數據 196
10.2.1 使用Julia實現K-均值聚類 197
10.2.2 對K-均值算法的使用建議 198
10.3 密度和DBSCAN算法 199
10.3.1 DBSCAN算法 199
10.3.2 在Julia中套用DBSCAN 200
10.4 層次聚類 201
10.4.1 在Julia中使用層次聚類 201
10.4.2 何時使用層次聚類 203
10.5 聚類的驗證方式 203
10.5.1 Silhouettes 203
10.5.2 關於聚類驗證的一些建議 204
10.6 關於有效進行聚類的一些建議 204
10.6.1 處理高維數據 205
10.6.2 標準化 205
10.6.3 可視化建議 205
10.7 小結 206
10.8 思考題 207
第 11章 監督式機器學習 209
11.1 決策樹 210
11.1.1 在Julia中使用決策樹 211
11.1.2 關於決策樹的一些建議 214
11.2 回歸樹 214
11.2.1 在Julia中實現回歸樹 215
11.2.2 關於回歸樹的一些建議 216
11.3 隨機森林 216
11.3.1 在Julia中使用隨機森林進行分類 216
11.3.2 在Julia中使用隨機森林進行回歸 218
11.3.3 關於隨機森林的一些建議 219
11.4 基本神經網路 220
11.4.1 在Julia中使用神經網路 221
11.4.2 關於神經網路的一些建議 223
11.5 極限學習機 224
11.5.1 在Julia中使用ELM 224
11.5.2 關於ELM的一些建議 226
11.6 用於回歸分析的統計模型 227
11.6.1 在Julia中使用統計回歸 227
11.6.2 關於統計回歸的一些建議 230
11.7 其他監督式學習系統 230
11.7.1 提升樹 230
11.7.2 支持向量機 230
11.7.3 直推式系統 231
11.7.4 深度學習系統 232
11.7.5 貝葉斯網路 232
11.8 小結 233
11.9 本章思考題 235
第 12章 圖分析 236
12.1 圖的重要性 237
12.2 定製數據集 239
12.3 圖的統計量 240
12.4 環的檢測 242
用Julia檢測環 243
12.5 連通子圖 244
12.6 團 245
12.7 圖的路徑 246
12.8 生成樹 248
12.8.1 在Julia中實現MST 249
12.8.2 用檔案保存和載入圖 250
12.9 Julia在圖分析中的作用 251
12.10 小結 252
12.11 思考題 254
第 13章 更上一層樓 255
13.1 Julia社區 255
13.1.1 與其他Julia用戶進行交流 255
13.1.2 代碼庫 256
13.1.3 視頻檔案 256
13.1.4 新聞 257
13.2 學以致用 257
13.2.1 從這些特徵開始 258
13.2.2 關於這個項目的一些思考 259
13.3 在數據科學中使用Julia的思考 260
13.3.1 不斷提高Julia編程水平 260
13.3.2 貢獻Julia項目 261
13.3.3 Julia在數據科學中的未來 262
附錄A 下載安裝Julia與IJulia 264
附錄B 與Julia相關的一些常用站點 266
附錄C 本書所用的擴展包 268
附錄D Julia與其他平台的集成 269
D.1 Julia與R的集成 269
D.1.1 在R中運行Julia腳本 269
D.1.2 在Julia中運行R腳本 270
D.2 Julia與Python的集成 270
D.2.1 在Python中運行Julia腳本 270
D.2.2 在Julia中運行Python腳本 271
附錄E Julia中的並行處理 272
附錄F 各章思考題答案 275