Python數據挖掘算法與應用

劉金嶺、馬甲林

  • 出版商: 清華大學
  • 出版日期: 2024-01-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • ISBN: 7302639329
  • ISBN-13: 9787302639329
  • 相關分類: Python程式語言Machine Learning
  • 下單後立即進貨 (約4週~6週)

  • Python數據挖掘算法與應用-preview-1
  • Python數據挖掘算法與應用-preview-2
  • Python數據挖掘算法與應用-preview-3
Python數據挖掘算法與應用-preview-1

商品描述

本書較完整地講解了數據挖掘和機器學習的基本概念、基本算法原理和應用技術。本書用通俗的語言和實例解釋了抽象的概念,並將抽象概念融合到具體的案例中,以便於讀者理解和掌握。 本書在編寫過程中力求做到語言精練、概念清晰、取材合理、深入淺出、突出應用,為讀者進一步從事數據分析、應用、開發和研究奠定堅實的基礎。 本書既可作為高等院校信息類和管理類專業的數據挖掘或機器學習課程的教材,也可作為科研人員、工程師和數據分析愛好者的參考書。

目錄大綱

第1篇基礎篇

第1章數據挖掘概述 …………………………………………………………………………… 2 

1.1什麽是數據挖掘 ……………………………………………………………………… 2 

1.1.1數據、信息、知識和智慧 ……………………………………………………… 2 

1.1.2數據挖掘的定義 ……………………………………………………………… 3 

1.1.3數據挖掘的功能 ……………………………………………………………… 3 

1.1.4數據挖掘的發展簡史 ………………………………………………………… 4 

1.2數據挖掘的基本步驟及方法 ………………………………………………………… 4 

1.2.1數據挖掘的基本步驟 ………………………………………………………… 4 

1.2.2數據挖掘的任務 ……………………………………………………………… 5 

1.2.3數據挖掘的分析方法 ………………………………………………………… 6 

1.3數據挖掘與統計學的關系 …………………………………………………………… 6 

1.3.1數據挖掘與統計學的聯系 …………………………………………………… 6 

1.3.2數據挖掘與統計學的區別 …………………………………………………… 6 

1.4數據挖掘與機器學習的關系 ………………………………………………………… 7 

1.4.1數據挖掘與機器學習的聯系 ………………………………………………… 7 

1.4.2數據挖掘與機器學習的區別 ………………………………………………… 7 

1.5數據挖掘的十大經典算法 …………………………………………………………… 8 

1.6數據挖掘的典型應用 ………………………………………………………………… 9

習題 1 ……………………………………………………………………………………… 10

第2章 Python數據分析基礎 ………………………………………………………………… 11 

2.1 Python程序概述 …………………………………………………………………… 11 

2.1.1基礎數據類型 ……………………………………………………………… 11 

2.1.2變量和賦值 ………………………………………………………………… 11 

2.1.3操作符和表達式 …………………………………………………………… 11 

2.1.4字符串 ……………………………………………………………………… 12 

2.1.5流程控制 …………………………………………………………………… 14 

2.1.6用戶函數 …………………………………………………………………… 16 

2.1.7 lambda函數 ………………………………………………………………… 16 

2.2 Python常用的內置數據結構 ……………………………………………………… 16 

2.2.1列表 ………………………………………………………………………… 17 

2.2.2元組 ………………………………………………………………………… 19 

2.2.3字典 ………………………………………………………………………… 20 

2.2.4集合 ………………………………………………………………………… 21 

2.3正則表達式 …………………………………………………………………………… 22 

2.3.1概述 ………………………………………………………………………… 22 

2.3.2常用方法 …………………………………………………………………… 23 

2.3.3提取網頁中的信息 ………………………………………………………… 26 

2.4文件的操作 …………………………………………………………………………… 26 

2.4.1文件的打開與關閉 ………………………………………………………… 26 

2.4.2文件的讀 /寫操作 …………………………………………………………… 27 

2.4.3文件的其他操作 …………………………………………………………… 28

習題 2 ……………………………………………………………………………………… 29

第3章 Python數據挖掘中的常用模塊 ……………………………………………………… 31 

3.1 NumPy模塊 ………………………………………………………………………… 31 

3.1.1 NumPy數據類型 ………………………………………………………… 31 

3.1.2 NumPy基本運算 ………………………………………………………… 33 

3.1.3生成隨機數的常用函數 …………………………………………………… 34 

3.1.4對象轉換 …………………………………………………………………… 36 

3.1.5數組元素和切片 …………………………………………………………… 37 

3.2 Pandas模塊 ………………………………………………………………………… 38 

3.2.1 Pandas中的數據結構 ……………………………………………………… 38 

3.2.2 DataFrame的基本屬性 …………………………………………………… 39 

3.2.3 DataFrame的常用方法 …………………………………………………… 40 

3.2.4 DataFrame的數據查詢與編輯 …………………………………………… 40 

3.2.5 Pandas數據的四則運算 …………………………………………………… 43 

3.2.6函數變換 …………………………………………………………………… 43 

3.2.7排序 ………………………………………………………………………… 44 

3.2.8匯總與統計 ………………………………………………………………… 45 

3.2.9數據的分組與統計 ………………………………………………………… 46 

3.2.10 Pandas數據的讀取與存儲 ……………………………………………… 47 

3.3 Matplotlib圖表繪制基礎 …………………………………………………………… 49 

3.3.1 Matplotlib簡介 …………………………………………………………… 49 

3.3.2 Matplotlib繪圖基礎 ……………………………………………………… 49 

3.3.3使用 Matplotlib簡單繪圖 ………………………………………………… 51 

3.3.4文本註解 …………………………………………………………………… 58 

3.4 Scikit-learn ………………………………………………………………………… 61 

3.4.1 Scikit-learn的主要功能 …………………………………………………… 61 

3.4.2 Scikit-learn自帶的小規模數據集 ………………………………………… 61 

3.4.3使用 Scikit-learn生成數據集 ……………………………………………… 63 

3.5股票數據的簡單分析 ………………………………………………………………… 67 

3.5.1抓取股票數據 ……………………………………………………………… 67 

3.5.2股票數據的各指標折線圖 ………………………………………………… 68 

3.5.3各股票的 5分鐘漲幅柱狀圖 ……………………………………………… 69 

3.5.4股票各指標之間的關系對比 ……………………………………………… 70 

習題 3 ……………………………………………………………………………………… 71

第2篇數據預處理篇

第4章數據的描述與可視化 ………………………………………………………………… 74 

4.1概述 …………………………………………………………………………………… 74 

4.1.1數據的描述 ………………………………………………………………… 74 

4.1.2數據的可視化 ……………………………………………………………… 74 

4.2數據對象與屬性類型 ………………………………………………………………… 75 

4.2.1數據對象 …………………………………………………………………… 75 

4.2.2屬性與屬性類型 …………………………………………………………… 75 

4.3數據的基本統計描述 ………………………………………………………………… 77 

4.3.1中心趨勢的度量 …………………………………………………………… 77 

4.3.2數據散佈的度量 …………………………………………………………… 79 

4.4數據對象的相似性度量 ……………………………………………………………… 80 

4.4.1數據矩陣與相似矩陣 ……………………………………………………… 80 

4.4.2標稱屬性的相異性 ………………………………………………………… 81 

4.4.3二元屬性的相異性 ………………………………………………………… 81 

4.4.4數值屬性的相似性度量 …………………………………………………… 83 

4.4.5序數屬性的相似性度量 …………………………………………………… 84 

4.4.6混合類型屬性的相似性 …………………………………………………… 84 

4.4.7餘弦相似性 ………………………………………………………………… 85 

4.5幾種數據可視化技術 ………………………………………………………………… 87 

4.5.1基於像素的可視化技術 …………………………………………………… 87 

4.5.2幾何投影技術 ……………………………………………………………… 87 

4.5.3基於圖符的可視化技術 …………………………………………………… 90 

4.5.4層次可視化技術 …………………………………………………………… 91 

4.5.5高維數據的可視化 ………………………………………………………… 92 

4.5.6文本詞雲圖 ………………………………………………………………… 93

習題 4 ……………………………………………………………………………………… 94

第5章數據採集和預處理 …………………………………………………………………… 97 

5.1概述 …………………………………………………………………………………… 97 

5.1.1數據採集概述 ……………………………………………………………… 97 

5.1.2數據採集的方法 …………………………………………………………… 98 

5.1.3數據預處理概述 …………………………………………………………… 98 

5.2數據清洗 ……………………………………………………………………………… 99 

5.2.1缺失值清洗 ………………………………………………………………… 99 

5.2.2異常值清洗 ………………………………………………………………… 101 

5.2.3格式內容清洗 ……………………………………………………………… 105 

5.2.4邏輯錯誤清洗 ……………………………………………………………… 105 

5.2.5非需求數據清洗 …………………………………………………………… 105 

5.2.6關聯性驗證 ………………………………………………………………… 106 

5.3數據集成 …………………………………………………………………………… 106 

5.3.1數據集成過程中的關鍵問題……………………………………………… 106 

5.3.2 Python數據集成 ………………………………………………………… 110 

5.4數據標準化 ………………………………………………………………………… 113 

5.4.1 z-score方法 ……………………………………………………………… 113 

5.4.2極差標準化方法…………………………………………………………… 114 

5.4.3最大絕對值標準化方法…………………………………………………… 114 

5.5數據歸約 …………………………………………………………………………… 115 

5.5.1維歸約……………………………………………………………………… 115 

5.5.2數量歸約…………………………………………………………………… 119 

5.5.3數據壓縮…………………………………………………………………… 120 

5.6數據變換與數據離散化 …………………………………………………………… 121 

5.6.1數據變換…………………………………………………………………… 121 

5.6.2數據離散化………………………………………………………………… 125

習題5……………………………………………………………………………………… 128

第3篇數據挖掘算法描述和應用篇

第6章分類模型……………………………………………………………………………… 132 

6.1概述 ………………………………………………………………………………… 132 

6.1.1基本概念…………………………………………………………………… 132 

6.1.2訓練集和測試集…………………………………………………………… 132 

6.1.3分類的一般流程…………………………………………………………… 135 

6.2 KNN分類模型 …………………………………………………………………… 135 

6.2.1 KNN算法概述 …………………………………………………………… 135 

6.2.2 KNN算法描述 …………………………………………………………… 136 

6.2.3使用 Python實現 KNN分類算法 ……………………………………… 137 

6.2.4 K值的確定 ……………………………………………………………… 139 

6.3 Roc

hio分類模型 ………………………………………………………………… 140 

6.3.1 Roc

hio算法概述 ………………………………………………………… 140 

6.3.2 Roc

hio算法的原理及分類器的構建 …………………………………… 141 

6.3.3使用 Python實現 Roc

hio文本分類 …………………………………… 142 

6.4決策樹分類模型 …………………………………………………………………… 143 

6.4.1決策樹分類概述…………………………………………………………… 144 

6.4.2決策樹的生成原理………………………………………………………… 144 

6.4.3 ID3/ID4.5/CART算法 ………………………………………………… 145 

6.4.4決策樹的應用……………………………………………………………… 152 

6.5貝葉斯分類模型 …………………………………………………………………… 159 

6.5.1貝葉斯分類概述…………………………………………………………… 159 

6.5.2樸素貝葉斯分類器………………………………………………………… 159 

6.5.3樸素貝葉斯模型的優缺點………………………………………………… 162 

6.5.4樸素貝葉斯模型的 Python實現 ………………………………………… 163 

6.6支持向量機 ………………………………………………………………………… 164 

6.6.1 SVM的基本原理 ………………………………………………………… 164 

6.6.2 SVM分類的基本方法 …………………………………………………… 165 

6.6.3使用 Python實現 SVM分類的案例 …………………………………… 168 

6.7分類模型的評估與選擇 …………………………………………………………… 170 

6.7.1分類模型的性能評估 ……………………………………………………… 170 

6.7.2分類模型的選擇方法 ……………………………………………………… 174

習題 6……………………………………………………………………………………… 177

第7章聚類分析 ……………………………………………………………………………… 179 

7.1概述 ………………………………………………………………………………… 179 

7.1.1聚類分析的概念 …………………………………………………………… 179 

7.1.2聚類分析的特徵 …………………………………………………………… 179 

7.1.3聚類分析的基本步驟 ……………………………………………………… 180 

7.2基於劃分的聚類方法 ……………………………………………………………… 180 

7.2.1 k-means聚類方法 ………………………………………………………… 181 

7.2.2 k-medoids聚類方法 ……………………………………………………… 183 

7.2.3 k-means與 k-medoids的區別 …………………………………………… 188 

7.3基於層次的聚類方法 ……………………………………………………………… 188 

7.3.1簇間距離度量方法 ………………………………………………………… 188 

7.3.2基於層次的聚類算法 ……………………………………………………… 189 

7.3.3基於層次聚類算法的 Python實現 ……………………………………… 192 

7.4基於密度的聚類方法 ……………………………………………………………… 193 

7.4.1與密度聚類相關的概念 …………………………………………………… 193 

7.4.2 DBSCAN算法 …………………………………………………………… 194 

7.4.3 OPTICS算法 ……………………………………………………………… 198 

7.4.4 DENCLUE算法 ………………………………………………………… 200 

7.5基於網格的聚類方法 ……………………………………………………………… 202 

7.5.1基於網格的聚類概述 ……………………………………………………… 202 

7.5.2 CLIQUE算法 …………………………………………………………… 202 

7.5.3 STING算法 ……………………………………………………………… 204 

7.5.4基於網格聚類算法的 Python實現 ……………………………………… 205 

7.6基於模型的聚類方法 ……………………………………………………………… 206 

7.6.1基於模型的聚類概述 ……………………………………………………… 207 

7.6.2 EM算法 …………………………………………………………………… 207 

7.6.3 COBWEB算法 …………………………………………………………… 210 

7.6.4用 EM算法求解高斯混合模型 ………………………………………… 212 

7.7聚類評估 …………………………………………………………………………… 214 

7.7.1估計聚類趨勢 ……………………………………………………………… 214 

7.7.2確定簇數 …………………………………………………………………… 216 

7.7.3測定聚類質量 ……………………………………………………………… 218

習題 7……………………………………………………………………………………… 221 

第8章關聯規則分析………………………………………………………………………… 223 

8.1概述 ………………………………………………………………………………… 223 

8.1.1關聯規則概述……………………………………………………………… 223 

8.1.2關聯規則的分類…………………………………………………………… 223 

8.2關聯規則的相關概念 ……………………………………………………………… 224 

8.2.1基本概念…………………………………………………………………… 224 

8.2.2支持度、置信度和提升度 ………………………………………………… 224 

8.2.3頻繁項集…………………………………………………………………… 225 

8.3 Apriori算法 ………………………………………………………………………… 226 

8.3.1 Apriori算法的思想 ……………………………………………………… 226 

8.3.2 Apriori算法的描述 ……………………………………………………… 227 

8.3.3 Apriori算法的 Python實現 ……………………………………………… 229 

8.4 FP-Growth算法 …………………………………………………………………… 232 

8.4.1 FP-Growth算法採用的策略 …………………………………………… 232 

8.4.2構建 FP-Tre 

…………………………………………………………… 232 

8.4.3從 FP-Tre

中挖掘頻繁模式 …………………………………………… 235 

8.4.4 FP-Growth算法的 Python實現 ………………………………………… 236 

8.5 Eclat算法 …………………………………………………………………………… 239 

8.5.1 Eclat算法概述 …………………………………………………………… 240 

8.5.2 Eclat算法的 Python實現 ……………………………………………… 241 

8.6關聯規則的典型應用場景 ………………………………………………………… 242

習題8……………………………………………………………………………………… 244

第9章預測模型……………………………………………………………………………… 247 

9.1預測模型概述 ……………………………………………………………………… 247 

9.1.1預測方法的分類…………………………………………………………… 247 

9.1.2預測分析的一般步驟……………………………………………………… 248 

9.2回歸分析預測模型 ………………………………………………………………… 248 

9.2.1一元線性回歸預測模型…………………………………………………… 248 

9.2.2多元線性回歸預測模型…………………………………………………… 253 

9.2.3非線性回歸預測模型……………………………………………………… 257 

9.2.4邏輯回歸模型……………………………………………………………… 260 

9.2.5多項式回歸模型…………………………………………………………… 262 

9.3趨勢外推法預測模型 ……………………………………………………………… 264 

9.3.1趨勢外推法概述…………………………………………………………… 264 

9.3.2常用的趨勢外推法預測模型……………………………………………… 265 

9.3.3趨勢外推法的 Python實現 ……………………………………………… 268 

9.4時間序列預測法模型 ……………………………………………………………… 270 

9.4.1時間序列預測法概述……………………………………………………… 270 

9.4.2常用的時間序列預測法模型……………………………………………… 271

習題9……………………………………………………………………………………… 280 

第4篇後續學習引導篇

第10章深度學習簡介 ……………………………………………………………………… 284 

10.1深度學習概述 …………………………………………………………………… 284 

10.1.1人工智能、機器學習和深度學習的關系 ……………………………… 284 

10.1.2深度學習的發展歷程 ………………………………………………… 285 

10.2感知機 …………………………………………………………………………… 286 

10.2.1感知機的起源 ………………………………………………………… 286 

10.2.2感知機的局限性 ……………………………………………………… 287 

10.3前饋神經網絡 …………………………………………………………………… 288 

10.3.1神經元 ………………………………………………………………… 288 

10.3.2前饋神經網絡概述 …………………………………………………… 290 

10.3.3訓練與預測 …………………………………………………………… 291 

10.4反向傳播算法 …………………………………………………………………… 292 

10.4.1反向傳播學習算法 …………………………………………………… 292 

10.4.2反向傳播學習的 Python實現 ……………………………………… 295 

10.5捲積神經網絡 …………………………………………………………………… 298 

10.5.1捲積神經網絡概述 …………………………………………………… 298 

10.5.2捲積神經網絡的整體結構 …………………………………………… 298 

10.6循環神經網絡 …………………………………………………………………… 301 

10.6.1循環神經網絡概述 …………………………………………………… 301 

10.6.2循環神經網絡的設計模式 …………………………………………… 302 

10.6.3循環神經網絡的運算 ………………………………………………… 302 

10.6.4循環神經網絡的 Python實現 ……………………………………… 303 

10.7生成對抗網絡 …………………………………………………………………… 304 

10.7.1生成對抗網絡概述 …………………………………………………… 304 

10.7.2生成對抗網絡算法 …………………………………………………… 304

習題 10…………………………………………………………………………………… 305

參考文獻 ………………………………………………………………………………………… 308