本書作為數(shù)據(jù)挖掘入門讀物,介紹了數(shù)據(jù)挖掘的基礎(chǔ)知識、基本工具和實踐方法,通過循序漸進地講解算法,帶你輕松踏上數(shù)據(jù)挖掘之旅。本書采用理論與實踐相結(jié)合的方式,呈現(xiàn)了如何使用決策樹和森林算法預(yù)測美國職業(yè)籃球聯(lián)賽比賽結(jié)果,如何使用親和性分析方法推薦電影,如何使用樸素貝葉斯算法進行社會媒體挖掘,等等。本書也涉及神經(jīng)網(wǎng)絡(luò)、深度學習、大數(shù)據(jù)處理等內(nèi)容。本書面向愿意學習和嘗試數(shù)據(jù)挖掘的程序員。
在數(shù)據(jù)規(guī)模急速膨脹的大數(shù)據(jù)時代,數(shù)據(jù)挖掘這項甄別重要數(shù)據(jù)的核心技術(shù)正發(fā)揮越來越重要的作用。它將賦予你解決實際問題的"超能力":預(yù)測體育賽事結(jié)果、投放廣告、根據(jù)作品的風格解決作者歸屬問題,等等。本書使用簡單易學且擁有豐富第三方庫和良好社區(qū)氛圍的Python語言,由淺入深,以真實數(shù)據(jù)作為研究對象,真刀實槍地向讀者介紹Python數(shù)據(jù)挖掘的實現(xiàn)方法。通過本書,讀者將邁入數(shù)據(jù)挖掘的殿堂,透徹理解數(shù)據(jù)挖掘基礎(chǔ)知識,掌握解決數(shù)據(jù)挖掘?qū)嶋H問題的杰出實踐!
Robert Layton,計算機科學博士,網(wǎng)絡(luò)犯罪問題和文本分析方面的專家。多年來一直熱衷于Python編程,參與過scikit-learn庫等很多開源庫的開發(fā),曾擔任2014年度"谷歌編程之夏"項目導(dǎo)師。他曾與全球幾大數(shù)據(jù)挖掘公司密切合作,挖掘真實數(shù)據(jù)并研發(fā)相關(guān)應(yīng)用。他的公司dataPipeline為多個行業(yè)提供數(shù)據(jù)挖掘和數(shù)據(jù)分析解決方案。
第1章 開始數(shù)據(jù)挖掘之旅 1
1.1 數(shù)據(jù)挖掘簡介 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中加載數(shù)據(jù)集 6
1.3.4 實現(xiàn)簡單的排序規(guī)則 8
1.3.5 排序找出規(guī)則 10
1.4 分類問題的簡單示例 12
1.5 什么是分類 12
1.5.1 準備數(shù)據(jù)集 13
1.5.2 實現(xiàn)OneR算法 14
1.5.3 測試算法 16
1.6 小結(jié) 18
第2章 用scikit-learn估計器分類 19
2.1 scikit-learn估計器 19
2.1.1 近鄰算法 20
2.1.2 距離度量 20
2.1.3 加載數(shù)據(jù)集 22
2.1.4 努力實現(xiàn)流程標準化 24
2.1.5 運行算法 24
2.1.6 設(shè)置參數(shù) 25
2.2 流水線在預(yù)處理中的應(yīng)用 27
2.2.1 預(yù)處理示例 28
2.2.2 標準預(yù)處理 28
2.2.3 組裝起來 29
2.3 流水線 29
2.4 小結(jié) 30
第3章 用決策樹預(yù)測獲勝球隊 31
3.1 加載數(shù)據(jù)集 31
3.1.1 采集數(shù)據(jù) 31
3.1.2 用pandas加載數(shù)據(jù)集 32
3.1.3 數(shù)據(jù)集清洗 33
3.1.4 提取新特征 34
3.2 決策樹 35
3.2.1 決策樹中的參數(shù) 36
3.2.2 使用決策樹 37
3.3 NBA比賽結(jié)果預(yù)測 37
3.4 隨機森林 41
3.4.1 決策樹的集成效果如何 42
3.4.2 隨機森林算法的參數(shù) 42
3.4.3 使用隨機森林算法 43
3.4.4 創(chuàng)建新特征 44
3.5 小結(jié) 45
第4章 用親和性分析方法推薦電影 46
4.1 親和性分析 46
4.1.1 親和性分析算法 47
4.1.2 選擇參數(shù) 47
4.2 電影推薦問題 48
4.2.1 獲取數(shù)據(jù)集 48
4.2.2 用pandas加載數(shù)據(jù) 49
4.2.3 稀疏數(shù)據(jù)格式 49
4.3 Apriori算法的實現(xiàn) 50
4.3.1 Apriori算法 51
4.3.2 實現(xiàn) 52
4.4 抽取關(guān)聯(lián)規(guī)則 54
4.5 小結(jié) 60
第5章 用轉(zhuǎn)換器抽取特征 62
5.1 特征抽取 62
5.1.1 在模型中表示事實 62
5.1.2 通用的特征創(chuàng)建模式 64
5.1.3 創(chuàng)建好的特征 66
5.2 特征選擇 67
5.3 創(chuàng)建特征 71
5.4 創(chuàng)建自己的轉(zhuǎn)換器 75
5.4.1 轉(zhuǎn)換器API 76
5.4.2 實現(xiàn)細節(jié) 76
5.4.3 單元測試 77
5.4.4 組裝起來 79
5.5 小結(jié) 79
第6章 使用樸素貝葉斯進行社會媒體挖掘 80
6.1 消歧 80
6.1.1 從社交網(wǎng)站下載數(shù)據(jù) 81
6.1.2 加載數(shù)據(jù)集并對其分類 83
6.1.3 Twitter數(shù)據(jù)集重建 87
6.2 文本轉(zhuǎn)換器 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 算法應(yīng)用示例 95
6.4 應(yīng)用 96
6.4.1 抽取特征 97
6.4.2 將字典轉(zhuǎn)換為矩陣 98
6.4.3 訓練樸素貝葉斯分類器 98
6.4.4 組裝起來 98
6.4.5 用F1值評估 99
6.4.6 從模型中獲取更多有用的特征 100
6.5 小結(jié) 102
第7章 用圖挖掘找到感興趣的人 104
7.1 加載數(shù)據(jù)集 104
7.1.1 用現(xiàn)有模型進行分類 106
7.1.2 獲取Twitter好友信息 107
7.1.3 構(gòu)建網(wǎng)絡(luò) 110
7.1.4 創(chuàng)建圖 112
7.1.5 創(chuàng)建用戶相似度圖 114
7.2 尋找子圖 117
7.2.1 連通分支 117
7.2.2 優(yōu)化參數(shù)選取準則 119
7.3 小結(jié) 123
第8章 用神經(jīng)網(wǎng)絡(luò)破解驗證碼 124
8.1 人工神經(jīng)網(wǎng)絡(luò) 124
8.2 創(chuàng)建數(shù)據(jù)集 127
8.2.1 繪制驗證碼 127
8.2.2 將圖像切分為單個的字母 129
8.2.3 創(chuàng)建訓練集 130
8.2.4 根據(jù)抽取方法調(diào)整訓練數(shù)據(jù)集 131
8.3 訓練和分類 132
8.3.1 反向傳播算法 134
8.3.2 預(yù)測單詞 135
8.4 用詞典提升正確率 138
8.4.1 尋找最相似的單詞 138
8.4.2 組裝起來 139
8.5 小結(jié) 140
第9章 作者歸屬問題 142
9.1 為作品找作者 142
9.1.1 相關(guān)應(yīng)用和使用場景 143
9.1.2 作者歸屬 143
9.1.3 獲取數(shù)據(jù) 144
9.2 功能詞 147
9.2.1 統(tǒng)計功能詞 148
9.2.2 用功能詞進行分類 149
9.3 支持向量機 150
9.3.1 用SVM分類 151
9.3.2 內(nèi)核 151
9.4 字符N元語法 152
9.5 使用安然公司數(shù)據(jù)集 153
9.5.1 獲取安然數(shù)據(jù)集 153
9.5.2 創(chuàng)建數(shù)據(jù)集加載工具 154
9.5.3 組裝起來 158
9.5.4 評估 158
9.6 小結(jié) 160
第10章 新聞?wù)Z料分類 161
10.1 獲取新聞文章 161
10.1.1 使用Web API獲取數(shù)據(jù) 162
10.1.2 數(shù)據(jù)資源寶庫reddit 164
10.1.3 獲取數(shù)據(jù) 165
10.2 從任意網(wǎng)站抽取文本 167
10.2.1 尋找任意網(wǎng)站網(wǎng)頁中的主要內(nèi)容 167
10.2.2 組裝起來 168
10.3 新聞?wù)Z料聚類 170
10.3.1 k-means算法 171
10.3.2 評估結(jié)果 173
10.3.3 從簇中抽取主題信息 175
10.3.4 用聚類算法做轉(zhuǎn)換器 175
10.4 聚類融合 176
10.4.1 證據(jù)累積 176
10.4.2 工作原理 179
10.4.3 實現(xiàn) 180
10.5 線上學習 181
10.5.1 線上學習簡介 181
10.5.2 實現(xiàn) 182
10.6 小結(jié) 184
第11章 用深度學習方法為圖像中的物體進行分類 185
11.1 物體分類 185
11.2 應(yīng)用場景和目標 185
11.3 深度神經(jīng)網(wǎng)絡(luò) 189
11.3.1 直觀感受 189
11.3.2 實現(xiàn) 189
11.3.3 Theano簡介 190
11.3.4 Lasagne簡介 191
11.3.5 用nolearn實現(xiàn)神經(jīng)網(wǎng)絡(luò) 194
11.4 GPU優(yōu)化 197
11.4.1 什么時候使用GPU進行
計算 198
11.4.2 用GPU運行代碼 198
11.5 環(huán)境搭建 199
11.6 應(yīng)用 201
11.6.1 獲取數(shù)據(jù) 201
11.6.2 創(chuàng)建神經(jīng)網(wǎng)絡(luò) 202
11.6.3 組裝起來 204
11.7 小結(jié) 205
第12章 大數(shù)據(jù)處理 206
12.1 大數(shù)據(jù) 206
12.2 大數(shù)據(jù)應(yīng)用場景和目標 207
12.3 MapReduce 208
12.3.1 直觀理解 209
12.3.2 單詞統(tǒng)計示例 210
12.3.3 Hadoop MapReduce 212
12.4 應(yīng)用 212
12.4.1 獲取數(shù)據(jù) 213
12.4.2 樸素貝葉斯預(yù)測 215
12.5 小結(jié) 226
附錄 接下來的方向 227