第 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 實現規(guī)則的簡單排序 9
1.4.3 挑選最佳規(guī)則 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 創(chuàng)建特征 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 提取關聯規(guī)則 59
4.3.4 評估關聯規(guī)則 62
4.4 本章小結 64
第 5 章 特征與 scikit-learn 轉換器 65
5.1 特征提取 65
5.1.1 用模型表述現實 66
5.1.2 常見的特征模式 68
5.1.3 創(chuàng)建好的特征 71
5.2 特征的選取 71
5.3 特征創(chuàng)建 76
5.4 主成分分析 78
5.5 創(chuàng)建自己的轉換器 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 創(chuàng)建可重現的 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 創(chuàng)建圖 116
7.4 尋找子圖 122
7.4.1 連通分量 122
7.4.2 優(yōu)化準則 125
7.5 本章小結 127
第 8 章 用神經網絡識別驗證碼 129
8.1 人工神經網絡 130
8.2 創(chuàng)建數據集 132
8.2.1 繪制簡單的驗證碼 133
8.2.2 按字母分割圖像 135
8.2.3 創(chuàng)建訓練數據集 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 統(tǒng)計功能詞 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 創(chuàng)建數據集加載函數 163
9.7 組裝成型 166
9.8 評估 166
9.9 本章小結 168
第 10 章 聚類新聞文章 169
10.1 發(fā)現熱門話題 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 優(yōu)化 210
11.6.1 適用 GPU 的計算場景 211
11.6.2 在 GPU 上運行代碼 212
11.6.3 設置環(huán)境 213
11.7 應用 214
11.7.1 獲取數據 214
11.7.2 創(chuàng)建神經網絡 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