內容提要
《全棧數據之門》以數據分析領域最熱的Python語言為主要線索,介紹了數據分析庫numpy、Pandas與機器學習庫scikit-learn,使用了可視化環境Orange 3來理解算法的一些細節。對於機器學習,既有常用算法kNN與Kmeans的套用,決策樹與隨機森林的實戰,還涉及常用特徵工程與深度學習中的自動編程器。在大數據Hadoop與Hive環境的基礎之上,使用Spark的ML/MLlib庫集成了前面的各部分內容,讓分散式機器學習更容易。大量的工具與技能實戰的介紹將各部分融合成一個全棧的數據科學內容。
《全棧數據之門》不是從入門到精通地介紹某一種技術,可以把《全棧數據之門》當成一本技術文集,內容定位於數據科學的全棧基礎入門,全部內容來自當前業界最實用的技能,有非常基礎的,也有比較深入的,有些甚至需要深入領悟才能理解。
《全棧數據之門》適用於任何想在數據領域有所作為的人,包括學生、愛好者、在職人員與科研工作者。無論想從事數據分析、數據工程、數據挖掘或者機器學習,或許都能在書中找到一些之前沒有接觸過的內容。
目錄
前言 自強不息,厚德載物 / XIX
0x1 Linux,自由之光 / 001
0x10 Linux,你是我的眼 / 001
0x11 Linux 基礎,從零開始 / 003
01 Linux 之門 / 003
02 檔案操作 / 004
03 許可權管理 / 006
04 軟體安裝 / 008
05 實戰經驗 / 010
0x12 Sed 與Grep,文本處理 / 010
01 文本工具 / 010
02 grep 的使用 / 011
03 grep 家族 / 013
04 sed 的使用 / 014
05 綜合案例 / 016
0x13 數據工程,必備Shell / 018
01 Shell 分析 / 018
02 檔案探索 / 019
03 內容探索 / 020
04 交差並補 / 020
05 其他常用的命令 / 021
06 批量操作 / 022
07 結語 / 025
0x14 Shell 快捷鍵,Emacs 之門 / 025
01 提高效率 / 025
02 游標移動 / 026
03 文本編輯 / 027
04 命令搜尋 / 028
05 Emacs 入門 / 029
06 Emacs 思維 / 031
0x15 緣起Linux,一入Mac 誤終身 / 032
01 開源生萬物 / 032
02 有錢就換Mac / 032
03 程式設計師需求 / 033
04 非程式設計師需求 / 034
05 一入Mac 誤終身 / 035
0x16 大成就者,集群安裝 / 036
01 離線安裝 / 036
02 Host 與SSH 配置 / 037
03 sudo 與JDK 環境 / 039
04 準備Hadoop 包 / 040
05 開啟HTTP 與配置源 / 041
06 安裝ambari-server / 041
07 後續服務安裝 / 042
08 結語 / 044
0x2 Python,道法自然 / 045
0x20 Python,靈犀一指 / 045
0x21 Python 基礎,興趣為王 / 047
01 第一語言 / 047
02 數據結構 / 047
03 檔案讀寫 / 049
04 使用模組 / 050
05 函式式編程 / 052
06 一道面試題 / 053
07 興趣驅動 / 055
0x22 喜新厭舊,2 遷移3 / 056
01 新舊交替 / 056
02 基礎變化 / 057
03 編碼問題 / 058
04 其他變化 / 058
05 2to3 腳本 / 060
06 PySpark 配置 / 061
07 喜新厭舊 / 062
0x23 Anaconda,IPython / 062
01 Anaconda / 062
02 安裝與配置 / 063
03 pip 與源 / 064
04 IPython 與Jupyter / 065
05 結語 / 067
0x24 美不勝收,Python 工具 / 067
01 緣起 / 067
02 調試與開發 / 068
03 排版與格式化 / 070
04 輔助工具 / 072
05 實用推薦 / 074
0x25 numpy 基礎,線性代數 / 075
01 numpy 的使用 / 075
02 索引與切片 / 076
03 變形與統計 / 078
04 矩陣運算 / 080
05 實用方法 / 083
06 結語 / 085
0x26 numpy 實戰,PCA 降維 / 085
01 PCA 介紹 / 085
02 數據均值化 / 086
03 協方差矩陣 / 087
04 特徵值與向量 / 088
05 數據映射降維 / 089
06 sklearn 實現 / 090
0x3 大數據,其大無外 / 093
0x30 太大數據,極生兩儀 / 093
0x31 神象住世,Hadoop / 095
01 Hadoop / 095
02 HDFS / 096
03 角色與管理 / 097
04 檔案操作 / 098
05 結語 / 100
0x32 分治之美,MapReduce / 100
01 map 與reduce 函式 / 100
02 分而治之 / 102
03 Hello,World / 103
04 Streaming 接口 / 105
0x33 Hive 基礎,蜂巢與倉庫 / 106
01 引言 / 106
02 Hive 接口 / 107
03 分區建表 / 108
04 分區機制 / 110
05 數據導入/ 導出 / 111
06 Hive-QL / 112
07 結語 / 114
0x34 Hive 深入,實戰經驗 / 115
01 排序與分散式 / 115
02 多表插入與mapjoin / 116
03 載入map-reduce 腳本 / 117
04 使用第三方UDF / 119
05 實戰經驗 / 120
06 生成唯一ID / 121
0x35 HBase 庫,實時業務 / 122
01 理論基礎 / 122
02 Shell 操作 / 123
03 關聯Hive 表 / 126
04 數據導入 / 128
05 實用經驗 / 130
0x36 SQL 與NoSQL,Sqoop 為媒 / 130
01 SQL 與NOSQL / 130
02 從MySQL 導入HDFS / 131
03 增量導入 / 134
04 映射到Hive / 135
05 導入Hive 表 / 136
06 從HDFS 導出到MySQL / 137
07 從Hive 導出到MySQL / 138
0x4 數據分析,見微知著 / 141
0x40 大數據分析,魯班為祖師 / 141
0x41 SQL 技能,必備MySQL / 143
01 SQL 工具 / 143
02 基礎操作 / 144
03 查詢套路 / 145
04 join 查詢 / 146
05 union 與exists / 149
06 實戰經驗 / 151
0x42 快刀awk,斬亂數據 / 152
01 快刀 / 152
02 一二三要點 / 152
03 一個示例 / 154
04 套用與統計 / 154
05 斬亂麻 / 156
0x43 Pandas,數據之框 / 157
01 數據為框 / 157
02 載入數據 / 158
03 行列索引 / 159
04 行列操作 / 161
05 合併聚合 / 163
06 疊代數據 / 164
07 結語 / 165
0x44 Zeppelin,一統江湖 / 166
01 心潮澎湃 / 166
02 基本使用 / 168
03 SQL 與可視化 / 169
04 安裝Zeppelin / 172
05 配置Zeppelin / 173
06 數據安全 / 174
07 使用心得 / 176
0x45 數據分組,聚合視窗 / 177
01 MySQL 聚合 / 177
02 Spark 聚合 / 178
03 非聚合欄位 / 179
04 Hive 實現 / 180
05 group_concat / 181
06 Hive 視窗函式 / 183
07 DataFrame 視窗 / 184
08 結語 / 185
0x46 全棧分析,六層內功 / 186
01 引言 / 186
02 MySQL 版本 / 186
03 awk 版本 / 187
04 Python 版本 / 188
05 Hive 版本 / 189
06 map-reduce 版本 / 190
07 Spark 版本 / 190
08 結語 / 191
0x5 機器學習,人類失控 / 193
0x50 機器學習,琅琊論斷 / 193
0x51 酸酸甜甜,Orange / 195
01 可視化學習 / 195
02 數據探索 / 196
03 模型與評估 / 199
04 組件介紹 / 200
05 與Python 進行整合 / 202
06 結語 / 204
0x52 sklearn,機器學習 / 205
01 sklearn 介紹 / 205
02 數據預處理 / 206
03 建模與預測 / 207
04 模型評估 / 209
05 模型持久化 / 210
06 三個層次 / 210
0x53 特徵轉換,量綱伸縮 / 211
01 特徵工程 / 211
02 獨熱編碼 / 212
03 sklearn 示例 / 213
04 標準化與歸一化 / 215
05 sklearn 與Spark 實現 / 216
06 結語 / 219
0x54 描述統計,基礎指標 / 220
01 描述性統計 / 220
02 Pandas 實現 / 222
03 方差與協方差 / 223
04 Spark-RDD 實現 / 224
05 DataFrame 實現 / 226
06 Spark-SQL 實現 / 227
07 結語 / 227
0x55 模型評估,交叉驗證 / 228
01 測試與訓練 / 228
02 評價指標 / 229
03 交叉驗證 / 231
04 驗證數據 / 232
05 OOB 數據 / 233
0x56 文本特徵,詞袋模型 / 234
01 自然語言 / 234
02 中文分詞 / 235
03 詞袋模型 / 236
04 詞頻統計 / 237
05 TF-IDF / 238
06 結語 / 239
0x6 算法預測,占天卜地 / 241
0x60 命由己做,福自己求 / 241
0x61 近朱者赤,相親kNN / 243
01 樸素的思想 / 243
02 算法介紹 / 243
03 分類與回歸 / 244
04 k 與半徑 / 245
05 最佳化計算 / 246
06 實例套用 / 247
0x62 物以類聚,Kmeans / 248
01 算法描述 / 248
02 建立模型 / 249
03 理解模型 / 251
04 距離與相似性 / 252
05 降維與可視化 / 253
06 無監督學習 / 255
0x63 很傻很天真,樸素貝葉斯 / 257
01 樸素思想 / 257
02 機率公式 / 257
03 三種實現 / 258
04 sklearn 示例 / 260
05 樸素卻不傻 / 262
0x64 菩提之樹,決策姻緣 / 263
01 緣起 / 263
02 Orange 演示 / 264
03 scikit-learn 模擬 / 266
04 熵與基尼指數 / 267
05 決策過程分析 / 268
06 Spark 模擬 / 270
07 結語 / 271
0x65 隨機之美,隨機森林 / 271
01 樹與森林 / 271
02 處處隨機 / 273
03 sklearn 示例 / 274
04 MLlib 示例 / 275
05 特點與套用 / 276
0x66 自編碼器,深度之門 / 277
01 深度學習 / 277
02 特徵學習 / 278
03 自動編碼器 / 280
04 Keras 代碼 / 282
05 抗噪編碼器 / 283
0x7 Spark,唯快不破 / 285
0x70 人生苦短,快用Spark / 285
0x71 PySpark 之門,強者聯盟 / 287
01 全棧框架 / 287
02 環境搭建 / 288
03 分散式部署 / 289
04 示例分析 / 290
05 兩類運算元 / 292
06 map 與reduce / 293
07 AMPLab 的野心 / 294
0x72 RDD 運算元,計算之魂 / 295
01 運算元之道 / 295
02 獲取數據 / 296
03 過濾與排序 / 297
04 聚合數據 / 298
05 join 連線 / 299
06 union 與zip / 300
07 讀寫檔案 / 301
08 結語 / 303
0x73 分散式SQL,蝶戀飛舞 / 304
01 SQL 工具 / 304
02 命令行CLI / 304
03 讀Hive 數據 / 305
04 將結果寫入Hive / 306
05 讀寫MySQL 數據 / 307
06 讀寫三種檔案 / 308
0x74 DataFrame,三角之戀 / 310
01 DataFrame / 310
02 生成數據框 / 311
03 合併與join / 313
04 select 操作 / 314
05 SQL 操作 / 315
06 自定義UDF / 316
07 三角之戀 / 318
0x75 神器之父,Scala 入世 / 319
01 Spark 與Scala / 319
02 Scala REPL / 320
03 編譯Scala / 321
04 sbt 編譯 / 322
05 示例分析 / 323
06 編譯提交 / 325
0x76 機器之心,ML 套路 / 326
01 城市套路深 / 326
02 算法與特徵工程 / 327
03 管道工作流 / 328
04 OneHotEncoder 示例 / 329
05 ML 回歸實戰 / 331
06 特徵處理與算法 / 332
07 擬合與評估 / 334
0x8 數據科學,全棧智慧 / 337
0x80 才高八斗,共分天下 / 337
0x81 自學數據,神蟒領舞 / 339
01 機器學習 / 339
02 語言領域 / 339
03 Python 數據生態 / 340
04 相關資料 / 341
05 書籍推薦 / 342
06 性感的職業 / 343
0x82 數據科學,七大技能 / 343
01 七大技能 / 343
02 SQL 與NoSQL 技能 / 344
03 Linux 工具集 / 344
04 Python 或者R 語言生態 / 345
05 Hadoop 與Spark 生態 / 345
06 機率、統計與線性代數 / 346
07 機器學習與深度學習 / 346
08 業務及雜項 / 347
09 結語 / 347
0x83 大無所大,生態框架 / 348
01 計算生態 / 348
02 離線計算 / 348
03 互動分析 / 349
04 實時處理 / 350
05 算法挖掘 / 351
06 發行版本 / 352
07 其他工具 / 353
0x84 集體智慧,失控哲學 / 354
01 數據是寶 / 354
02 一分為二 / 355
03 回歸統一 / 356
04 聚少成多 / 356
05 你中有我 / 357
06 從小看大 / 358
07 大事化小 / 358
08 少即是多 / 359
0x85 一技之長,一生之用 / 359
01 一技之長 / 359
02 數據分析相關 / 360
03 Python 相關 / 360
04 Hadoop 相關 / 361
05 Spark 相關 / 361
06 模型相關 / 362
07 算法相關 / 362
08 一生之用 / 363
0x86 知識作譜,數據為棧 / 363
01 知識作譜 / 363
02 理論基礎 / 363
03 Python/R 編程 / 364
04 分析與可視化 / 365
05 大數據 / 365
06 ETL 與特徵工程 / 366
07 機器學習與深度學習 / 366
08 工具與庫 / 367
09 全棧為用 / 367