內容簡介
本書作為數據挖掘入門讀物,介紹了數據挖掘的基礎知識、基本工具和實踐方法,通過循序漸進地講解算法,帶你輕鬆踏上數據挖掘之旅。本書採用理論與實踐相結合的方式,呈現了如何使用決策樹和隨機森林算法預測美國職業籃球聯賽比賽結果,如何使用親和性分析方法推薦電影,如何使用樸素貝葉斯算法進行社會媒體挖掘,等等。本書也涉及神經網路、深度學習、大數據處理等內容。
作者簡介
Robert Layton
計算機科學博士,網路犯罪問題和文本分析方面的專家。多年來一直熱衷於Python編程,參與過scikit-learn庫等很多開源庫的開發,曾擔任2014年度“谷歌編程之夏”項目導師。他曾與全球幾大數據挖掘公司密切合作,挖掘真實數據並研發相關套用。他的公司dataPipeline為多個行業提供數據挖掘和數據分析解決方案。
譯者簡介
杜春曉
英語語言文學學士,軟體工程碩士。其他譯著有《電子達人——我的第一本Raspberry Pi入門手冊》《Python數據分析》。
書籍目錄
第1章 開始數據挖掘之旅 1
1.1 數據挖掘簡介 1
1.2 使用Python和IPython Notebook 2
1.2.1 安裝Python 2
1.2.2 安裝IPython 4
1.2.3 安裝scikit-learn庫 5
1.3 親和性分析示例 5
1.3.1 什麼是親和性分析 5
1.3.2 商品推薦 6
1.3.3 在NumPy中載入數據集 6
1.3.4 實現簡單的排序規則 8
1.3.5 排序找出最佳規則 10
1.4 分類問題的簡單示例 12
1.5 什麼是分類 12
1.5.1 準備數據集 13
1.5.2 實現OneR算法 14
1.5.3 測試算法 16
1.6 小結 18
第2章 用scikit-learn估計器分類 19
2.1 scikit-learn估計器 19
2.1.1 近鄰算法 20
2.1.2 距離度量 20
2.1.3 載入數據集 22
2.1.4 努力實現流程標準化 24
2.1.5 運行算法 24
2.1.6 設定參數 25
2.2 流水線在預處理中的套用 27
2.2.1 預處理示例 28
2.2.2 標準預處理 28
2.2.3 組裝起來 29
2.3 流水線 29
2.4 小結 30
第3章 用決策樹預測獲勝球隊 31
3.1 載入數據集 31
3.1.1 採集數據 31
3.1.2 用pandas載入數據集 32
3.1.3 數據集清洗 33
3.1.4 提取新特徵 34
3.2 決策樹 35
3.2.1 決策樹中的參數 36
3.2.2 使用決策樹 37
3.3 NBA比賽結果預測 37
3.4 隨機森林 41
3.4.1 決策樹的集成效果如何 42
3.4.2 隨機森林算法的參數 42
3.4.3 使用隨機森林算法 43
3.4.4 創建新特徵 44
3.5 小結 45
第4章 用親和性分析方法推薦電影 46
4.1 親和性分析 46
4.1.1 親和性分析算法 47
4.1.2 選擇參數 47
4.2 電影推薦問題 48
4.2.1 獲取數據集 48
4.2.2 用pandas載入數據 49
4.2.3 稀疏數據格式 49
4.3 Apriori算法的實現 50
4.3.1 Apriori算法 51
4.3.2 實現 52
4.4 抽取關聯規則 54
4.5 小結 60
第5章 用轉換器抽取特徵 62
5.1 特徵抽取 62
5.1.1 在模型中表示事實 62
5.1.2 通用的特徵創建模式 64
5.1.3 創建好的特徵 66
5.2 特徵選擇 67
5.3 創建特徵 71
5.4 創建自己的轉換器 75
5.4.1 轉換器API 76
5.4.2 實現細節 76
5.4.3 單元測試 77
5.4.4 組裝起來 79
5.5 小結 79
第6章 使用樸素貝葉斯進行社會媒體挖掘 80
6.1 消歧 80
6.1.1 從社交網站下載數據 81
6.1.2 載入數據集並對其分類 83
6.1.3 Twitter數據集重建 87
6.2 文本轉換器 90
6.2.1 詞袋 91
6.2.2 N元語法 92
6.2.3 其他特徵 93
6.3 樸素貝葉斯 93
6.3.1 貝葉斯定理 93
6.3.2 樸素貝葉斯算法 94
6.3.3 算法套用示例 95
6.4 套用 96
6.4.1 抽取特徵 97
6.4.2 將字典轉換為矩陣 98
6.4.3 訓練樸素貝葉斯分類器 98
6.4.4 組裝起來 98
6.4.5 用F1值評估 99
6.4.6 從模型中獲取更多有用的特徵 100
6.5 小結 102
第7章 用圖挖掘找到感興趣的人 104
7.1 載入數據集 104
7.1.1 用現有模型進行分類 106
7.1.2 獲取Twitter好友信息 107
7.1.3 構建網路 110
7.1.4 創建圖 112
7.1.5 創建用戶相似度圖 114
7.2 尋找子圖 117
7.2.1 連通分支 117
7.2.2 最佳化參數選取準則 119
7.3 小結 123
第8章 用神經網路破解驗證碼 124
8.1 人工神經網路 124
8.2 創建數據集 127
8.2.1 繪製驗證碼 127
8.2.2 將圖像切分為單個的字母 129
8.2.3 創建訓練集 130
8.2.4 根據抽取方法調整訓練數據集 131
8.3 訓練和分類 132
8.3.1 反向傳播算法 134
8.3.2 預測單詞 135
8.4 用詞典提升正確率 138
8.4.1 尋找最相似的單詞 138
8.4.2 組裝起來 139
8.5 小結 140
第9章 作者歸屬問題 142
9.1 為作品找作者 142
9.1.1 相關套用和使用場景 143
9.1.2 作者歸屬 143
9.1.3 獲取數據 144
9.2 功能詞 147
9.2.1 統計功能詞 148
9.2.2 用功能詞進行分類 149
9.3 支持向量機 150
9.3.1 用SVM分類 151
9.3.2 核心 151
9.4 字元N元語法 152
9.5 使用安然公司數據集 153
9.5.1 獲取安然數據集 153
9.5.2 創建數據集載入工具 154
9.5.3 組裝起來 158
9.5.4 評估 158
9.6 小結 160
第10章 新聞語料分類 161
10.1 獲取新聞文章 161
10.1.1 使用Web API獲取數據 162
10.1.2 數據資源寶庫reddit 164
10.1.3 獲取數據 165
10.2 從任意網站抽取文本 167
10.2.1 尋找任意網站網頁中的主要內容 167
10.2.2 組裝起來 168
10.3 新聞語料聚類 170
10.3.1 k-means算法 171
10.3.2 評估結果 173
10.3.3 從簇中抽取主題信息 175
10.3.4 用聚類算法做轉換器 175
10.4 聚類融合 176
10.4.1 證據累積 176
10.4.2 工作原理 179
10.4.3 實現 180
10.5 線上學習 181
10.5.1 線上學習簡介 181
10.5.2 實現 182
10.6 小結 184
第11章 用深度學習方法為圖像中的物體進行分類 185
11.1 物體分類 185
11.2 套用場景和目標 185
11.3 深度神經網路 189
11.3.1 直觀感受 189
11.3.2 實現 189
11.3.3 Theano簡介 190
11.3.4 Lasagne簡介 191
11.3.5 用nolearn實現神經網路 194
11.4 GPU最佳化 197
11.4.1 什麼時候使用GPU進行
計算 198
11.4.2 用GPU運行代碼 198
11.5 環境搭建 199
11.6 套用 201
11.6.1 獲取數據 201
11.6.2 創建神經網路 202
11.6.3 組裝起來 204
11.7 小結 205
第12章 大數據處理 206
12.1 大數據 206
12.2 大數據套用場景和目標 207
12.3 MapReduce 208
12.3.1 直觀理解 209
12.3.2 單詞統計示例 210
12.3.3 Hadoop MapReduce 212
12.4 套用 212
12.4.1 獲取數據 213
12.4.2 樸素貝葉斯預測 215
12.5 小結 226
附錄 接下來的方向 227