本書以實踐為宗旨,對資料採擷進行了詳細地入門引導。本書囊括了比賽結果預測、電影推薦、特徵提取、好友推薦、破解驗證碼、作者歸屬、新聞聚類等大量經典案例,並以此為基礎提供了大量練習和額外活動。
在練習中,本書介紹了資料採擷的基本工具和基本方法;在額外活動中,本書為深入瞭解資料採擷指明了方向。
本書適合希望應用Python進行資料採擷的程式師閱讀。
作者介紹
羅伯特·萊頓(Robert Layton)
資料科學家,電腦科學博士,網路犯罪問題和文本分析方面的專家。擁有多年Python程式設計經驗,參與開發過scikit-learn庫等眾多開源軟體,曾擔任2014年“穀歌程式設計之夏”專案導師,也曾多次在PyCon Au上做報告。他創立了資料採擷諮詢公司Data Pipeline,以及為創業公司提供技術諮詢和支援的Eurekative公司,還運營著 Learning TensorFlow 網站。
資料科學家,電腦科學博士,網路犯罪問題和文本分析方面的專家。擁有多年Python程式設計經驗,參與開發過scikit-learn庫等眾多開源軟體,曾擔任2014年“穀歌程式設計之夏”專案導師,也曾多次在PyCon Au上做報告。他創立了資料採擷諮詢公司Data Pipeline,以及為創業公司提供技術諮詢和支援的Eurekative公司,還運營著 Learning TensorFlow 網站。
目錄
第 1 章 資料採擷入門 1
1.1 什麼是資料採擷 1
1.2 使用 Python 和 Jupyter Notebook 3
1.2.1 安裝 Python 3
1.2.2 安裝 Jupyter Notebook 4
1.2.3 安裝 scikit-learn 5
1.3 親和性分析的簡單示例 6
1.4 商品推薦 6
1.4.1 用NumPy 載入資料集 7
1.4.2 實現規則的簡單排序 9
1.4.3 挑選最佳規則 11
1.5 分類的簡單示例 13
1.6 什麼是分類 14
1.6.1 準備資料集 14
1.6.2 實現 OneR 演算法 15
1.6.3 測試演算法功能 17
1.7 本章小結 19
第 2 章 用 scikit-learn 估計器 解決分類問題 20
2.1 scikit-learn 估計器 20
2.1.1 最近鄰演算法 21
2.1.2 距離度量 22
2.1.3 載入資料集 24
2.1.4 形成標準的工作流程 25
2.1.5 運行演算法 26
2.1.6 設置參數 27
2.2 預處理 29
2.2.1 標準預處理 30
2.2.2 組裝成型 31
2.3 流水線 31
2.4 本章小結 32
第 3 章 用決策樹預測獲勝球隊 34
3.1 載入資料集34
3.1.1 收集資料35
3.1.2 用 pandas 載入資料集 35
3.1.3 清洗資料集 36
3.1.4 提取新特徵 37
3.2 決策樹 39
3.2.1 決策樹的參數 40
3.2.2 決策樹的使用 41
3.3 體育賽事結果預測 42
3.4 隨機森林 45
3.4.1 集成學習原理 46
3.4.2 設置隨機森林的參數 46
3.4.3 應用隨機森林 47
3.4.4 創建特徵 48
3.5 本章小結 49
第 4 章 用親和性分析推薦電影 50
4.1 親和性分析 50
4.1.1 親和性分析演算法 51
4.1.2 總體方法 52
4.2 電影推薦問題 52
4.3 Apriori 演算法的原理與實現 54
4.3.1 Apriori 演算法的基本思路 56
4.3.2 實現 Apriori 演算法 57
4.3.3 提取關聯規則 59
4.3.4 評估關聯規則 62
4.4 本章小結 64
第 5 章 特徵與 scikit-learn 轉換器 65
5.1 特徵提取 65
5.1.1 用模型表述現實 66
5.1.2 常見的特徵模式 68
5.1.3 創建好的特徵 71
5.2 特徵的選取 71
5.3 特徵創建 76
5.4 主成分分析 78
5.5 創建自己的轉換器 80
5.5.1 轉換器 API 81
5.5.2 實現轉換器 81
5.6 單元測試 82
5.7 組裝成型 83
5.8 本章小結 84
第 6 章 用樸素貝葉斯演算法探索社交
媒體 85
6.1 消歧 85
6.2 從社交媒體下載數據 87
6.2.1 載入資料集並分類 89
6.2.2 創建可重現的 Twitter 資料集 92
6.3 文本轉換器 95
6.3.1 詞袋模型 95
6.3.2 n 元語法特徵 96
6.3.3 其他文本特徵 97
6.4 樸素貝葉斯 98
6.4.1 理解貝葉斯定理 98
6.4.2 樸素貝葉斯演算法 99
6.4.3 原理展示 100
6.5 樸素貝葉斯的應用 101
6.5.1 提取單詞計數 102
6.5.2 把字典轉換成矩陣 103
6.5.3 組裝成型 103
6.5.4 用 F1-score 評估演算法 104
6.6 從模型中找出有用的特徵 105
6.7 本章小結 107
第 7 章 用圖挖掘實現推薦關注 109
7.1 載入資料集 109
7.2 從 Twitter 獲取關注者資訊 113
7.3 創建圖 116
7.4 尋找子圖 122
7.4.1 連通分量 122
7.4.2 優化準則 125
7.5 本章小結 127
第 8 章 用神經網路識別驗證碼 129
8.1 人工神經網路 130
8.2 創建資料集 132
8.2.1 繪製簡單的驗證碼 133
8.2.2 按字母分割圖像 135
8.2.3 創建訓練資料集 137
8.3 訓練與分類 139
8.4 預測單詞 143
8.4.1 用詞典提升準確率 146
8.4.2 單詞相似度的排名機制 146
8.4.3 組裝成型 147
8.5 本章小結 148
第 9 章 作者歸屬問題 149
9.1 文檔的作者歸屬 149
9.1.1 應用與場景 150
9.1.2 作者歸屬 151
9.2 獲取資料 152
9.3 功能詞的使用 155
9.3.1 統計功能詞 156
9.3.2 用功能詞分類 158
9.4 支持向量機 159
9.4.1 用支援向量機分類 160
9.4.2 核函數 160
9.5 字元 n 元語法 161
9.6 安然(Enron)資料集 162
9.6.1 獲取安然資料集 163
9.6.2 創建資料集載入函數 163
9.7 組裝成型 166
9.8 評估 166
9.9 本章小結 168
第 10 章 聚類新聞文章 169
10.1 發現熱門話題 169
10.1.1 用 Web API 獲取資料 170
10.1.2 把 reddit 作為資料來源 172
10.1.3 獲取資料 173
10.2 從任意網站提取文本 175
10.2.1 尋找任意網站中的新聞報導內容 176
10.2.2 提取內容 177
10.3 為新聞文章分組 179
10.4 k-均值演算法 179
10.4.1 評估結果 182
10.4.2 從聚類簇中提取話題資訊 184
10.4.3 把聚類演算法作為轉換器 185
10.5 聚類集成 185
10.5.1 證據積累方法 185
10.5.2 工作原理 188
10.5.3 演算法實現 190
10.6 線上學習 191
10.7 本章小結 194
第 11 章 用深度神經網路實現圖像中的物件檢測 195
11.1 對象分類 195
11.2 應用場景 197
11.3 深度神經網路 199
11.3.1 直觀感受 199
11.3.2 實現深度神經網路 200
11.4 TensorFlow 簡介 201
11.5 使用 Keras 204
11.6 GPU 優化 210
11.6.1 適用 GPU 的計算場景 211
11.6.2 在 GPU 上運行代碼 212
11.6.3 設置環境 213
11.7 應用 214
11.7.1 獲取資料 214
11.7.2 創建神經網路 215
11.7.3 組裝成型 216
11.8 本章小結 217
第 12 章 大資料處理 219
12.1 大數據 219
12.2 MapReduce 222
12.2.1 直觀感受 223
12.2.2 Hadoop MapReduce 226
12.3 應用 MapReduce 227
12.4 樸素貝葉斯預測 229
12.5 提取博客文章 229
12.6 訓練樸素貝葉斯 231
12.7 組裝成型 235
12.8 在亞馬遜 EMR 基礎設施上訓練 239
12.9 本章小結 241
附錄 A 下一步工作 242
A.1 資料採擷入門 242
A.1.1 scikit-learn 教程 242
A.1.2 擴展 Jupyter Notebook 242
A.1.3 更多資料集 243
A.1.4 其他評估指標 243
A.1.5 更多應用思路 243
A.2 用 scikit-learn 估計器解決分類問題 243
A.2.1 最近鄰演算法的伸縮性 244
A.2.2 更複雜的流水線 244
A.2.3 比較分類器 244
A.2.4 自動學習 244
A.3 用決策樹預測獲勝球隊 245
A.3.1 更複雜的特徵 245
A.3.2 Dask 246
A.3.3 研究 246
A.4 用親和性分析推薦電影 246
A.4.1 新資料集 246
A.4.2 等價類變換演算法 246
A.4.3 協同過濾 247
A.5 特徵與 scikit-learn 轉換器 247
A.5.1 增加雜訊 247
A.5.2 Vowpal Wabbit 247
A.5.3 word2vec 247
A.6 用樸素貝葉斯演算法探索社交媒體 247
A.6.1 垃圾資訊檢測 248
A.6.2 自然語言處理與詞性標注 248
A.7 用圖挖掘實現推薦關注 248
A.7.1 更複雜的演算法 248
A.7.2 NetworkX 248
A.8 用神經網路識別驗證碼 249
A.8.1 更好(更壞?)的驗證碼 249
A.8.2 深度神經網路 249
A.8.3 強化學習 249
A.9 作者歸屬問題 249
A.9.1 增大樣本 250
A.9.2 博客資料集 250
A.9.3 局部 n 元語法 250
A.10 聚類新聞文章 250
A.10.1 聚類的評估 250
A.10.2 時域分析 251
A.10.3 即時聚類 251
A.11 用深度神經網路實現圖像中的物件檢測 251
A.11.1 Mahotas 251
A.11.2 Magenta 251
A.12 大資料處理 252
A.12.1 Hadoop 課程 252
A.12.2 Pydoop 252
A.12.3 推薦引擎 252
A.12.4 W.I.L.L 252
A.13 更多資源 253
A.13.1 Kaggle 競賽 253
A.13.2 Coursera 253
1.1 什麼是資料採擷 1
1.2 使用 Python 和 Jupyter Notebook 3
1.2.1 安裝 Python 3
1.2.2 安裝 Jupyter Notebook 4
1.2.3 安裝 scikit-learn 5
1.3 親和性分析的簡單示例 6
1.4 商品推薦 6
1.4.1 用NumPy 載入資料集 7
1.4.2 實現規則的簡單排序 9
1.4.3 挑選最佳規則 11
1.5 分類的簡單示例 13
1.6 什麼是分類 14
1.6.1 準備資料集 14
1.6.2 實現 OneR 演算法 15
1.6.3 測試演算法功能 17
1.7 本章小結 19
第 2 章 用 scikit-learn 估計器 解決分類問題 20
2.1 scikit-learn 估計器 20
2.1.1 最近鄰演算法 21
2.1.2 距離度量 22
2.1.3 載入資料集 24
2.1.4 形成標準的工作流程 25
2.1.5 運行演算法 26
2.1.6 設置參數 27
2.2 預處理 29
2.2.1 標準預處理 30
2.2.2 組裝成型 31
2.3 流水線 31
2.4 本章小結 32
第 3 章 用決策樹預測獲勝球隊 34
3.1 載入資料集34
3.1.1 收集資料35
3.1.2 用 pandas 載入資料集 35
3.1.3 清洗資料集 36
3.1.4 提取新特徵 37
3.2 決策樹 39
3.2.1 決策樹的參數 40
3.2.2 決策樹的使用 41
3.3 體育賽事結果預測 42
3.4 隨機森林 45
3.4.1 集成學習原理 46
3.4.2 設置隨機森林的參數 46
3.4.3 應用隨機森林 47
3.4.4 創建特徵 48
3.5 本章小結 49
第 4 章 用親和性分析推薦電影 50
4.1 親和性分析 50
4.1.1 親和性分析演算法 51
4.1.2 總體方法 52
4.2 電影推薦問題 52
4.3 Apriori 演算法的原理與實現 54
4.3.1 Apriori 演算法的基本思路 56
4.3.2 實現 Apriori 演算法 57
4.3.3 提取關聯規則 59
4.3.4 評估關聯規則 62
4.4 本章小結 64
第 5 章 特徵與 scikit-learn 轉換器 65
5.1 特徵提取 65
5.1.1 用模型表述現實 66
5.1.2 常見的特徵模式 68
5.1.3 創建好的特徵 71
5.2 特徵的選取 71
5.3 特徵創建 76
5.4 主成分分析 78
5.5 創建自己的轉換器 80
5.5.1 轉換器 API 81
5.5.2 實現轉換器 81
5.6 單元測試 82
5.7 組裝成型 83
5.8 本章小結 84
第 6 章 用樸素貝葉斯演算法探索社交
媒體 85
6.1 消歧 85
6.2 從社交媒體下載數據 87
6.2.1 載入資料集並分類 89
6.2.2 創建可重現的 Twitter 資料集 92
6.3 文本轉換器 95
6.3.1 詞袋模型 95
6.3.2 n 元語法特徵 96
6.3.3 其他文本特徵 97
6.4 樸素貝葉斯 98
6.4.1 理解貝葉斯定理 98
6.4.2 樸素貝葉斯演算法 99
6.4.3 原理展示 100
6.5 樸素貝葉斯的應用 101
6.5.1 提取單詞計數 102
6.5.2 把字典轉換成矩陣 103
6.5.3 組裝成型 103
6.5.4 用 F1-score 評估演算法 104
6.6 從模型中找出有用的特徵 105
6.7 本章小結 107
第 7 章 用圖挖掘實現推薦關注 109
7.1 載入資料集 109
7.2 從 Twitter 獲取關注者資訊 113
7.3 創建圖 116
7.4 尋找子圖 122
7.4.1 連通分量 122
7.4.2 優化準則 125
7.5 本章小結 127
第 8 章 用神經網路識別驗證碼 129
8.1 人工神經網路 130
8.2 創建資料集 132
8.2.1 繪製簡單的驗證碼 133
8.2.2 按字母分割圖像 135
8.2.3 創建訓練資料集 137
8.3 訓練與分類 139
8.4 預測單詞 143
8.4.1 用詞典提升準確率 146
8.4.2 單詞相似度的排名機制 146
8.4.3 組裝成型 147
8.5 本章小結 148
第 9 章 作者歸屬問題 149
9.1 文檔的作者歸屬 149
9.1.1 應用與場景 150
9.1.2 作者歸屬 151
9.2 獲取資料 152
9.3 功能詞的使用 155
9.3.1 統計功能詞 156
9.3.2 用功能詞分類 158
9.4 支持向量機 159
9.4.1 用支援向量機分類 160
9.4.2 核函數 160
9.5 字元 n 元語法 161
9.6 安然(Enron)資料集 162
9.6.1 獲取安然資料集 163
9.6.2 創建資料集載入函數 163
9.7 組裝成型 166
9.8 評估 166
9.9 本章小結 168
第 10 章 聚類新聞文章 169
10.1 發現熱門話題 169
10.1.1 用 Web API 獲取資料 170
10.1.2 把 reddit 作為資料來源 172
10.1.3 獲取資料 173
10.2 從任意網站提取文本 175
10.2.1 尋找任意網站中的新聞報導內容 176
10.2.2 提取內容 177
10.3 為新聞文章分組 179
10.4 k-均值演算法 179
10.4.1 評估結果 182
10.4.2 從聚類簇中提取話題資訊 184
10.4.3 把聚類演算法作為轉換器 185
10.5 聚類集成 185
10.5.1 證據積累方法 185
10.5.2 工作原理 188
10.5.3 演算法實現 190
10.6 線上學習 191
10.7 本章小結 194
第 11 章 用深度神經網路實現圖像中的物件檢測 195
11.1 對象分類 195
11.2 應用場景 197
11.3 深度神經網路 199
11.3.1 直觀感受 199
11.3.2 實現深度神經網路 200
11.4 TensorFlow 簡介 201
11.5 使用 Keras 204
11.6 GPU 優化 210
11.6.1 適用 GPU 的計算場景 211
11.6.2 在 GPU 上運行代碼 212
11.6.3 設置環境 213
11.7 應用 214
11.7.1 獲取資料 214
11.7.2 創建神經網路 215
11.7.3 組裝成型 216
11.8 本章小結 217
第 12 章 大資料處理 219
12.1 大數據 219
12.2 MapReduce 222
12.2.1 直觀感受 223
12.2.2 Hadoop MapReduce 226
12.3 應用 MapReduce 227
12.4 樸素貝葉斯預測 229
12.5 提取博客文章 229
12.6 訓練樸素貝葉斯 231
12.7 組裝成型 235
12.8 在亞馬遜 EMR 基礎設施上訓練 239
12.9 本章小結 241
附錄 A 下一步工作 242
A.1 資料採擷入門 242
A.1.1 scikit-learn 教程 242
A.1.2 擴展 Jupyter Notebook 242
A.1.3 更多資料集 243
A.1.4 其他評估指標 243
A.1.5 更多應用思路 243
A.2 用 scikit-learn 估計器解決分類問題 243
A.2.1 最近鄰演算法的伸縮性 244
A.2.2 更複雜的流水線 244
A.2.3 比較分類器 244
A.2.4 自動學習 244
A.3 用決策樹預測獲勝球隊 245
A.3.1 更複雜的特徵 245
A.3.2 Dask 246
A.3.3 研究 246
A.4 用親和性分析推薦電影 246
A.4.1 新資料集 246
A.4.2 等價類變換演算法 246
A.4.3 協同過濾 247
A.5 特徵與 scikit-learn 轉換器 247
A.5.1 增加雜訊 247
A.5.2 Vowpal Wabbit 247
A.5.3 word2vec 247
A.6 用樸素貝葉斯演算法探索社交媒體 247
A.6.1 垃圾資訊檢測 248
A.6.2 自然語言處理與詞性標注 248
A.7 用圖挖掘實現推薦關注 248
A.7.1 更複雜的演算法 248
A.7.2 NetworkX 248
A.8 用神經網路識別驗證碼 249
A.8.1 更好(更壞?)的驗證碼 249
A.8.2 深度神經網路 249
A.8.3 強化學習 249
A.9 作者歸屬問題 249
A.9.1 增大樣本 250
A.9.2 博客資料集 250
A.9.3 局部 n 元語法 250
A.10 聚類新聞文章 250
A.10.1 聚類的評估 250
A.10.2 時域分析 251
A.10.3 即時聚類 251
A.11 用深度神經網路實現圖像中的物件檢測 251
A.11.1 Mahotas 251
A.11.2 Magenta 251
A.12 大資料處理 252
A.12.1 Hadoop 課程 252
A.12.2 Pydoop 252
A.12.3 推薦引擎 252
A.12.4 W.I.L.L 252
A.13 更多資源 253
A.13.1 Kaggle 競賽 253
A.13.2 Coursera 253
網路書店
類別
折扣
價格
-
新書87折$412