Python 數據科學應用從入門到精通

張甜、楊維忠

  • 出版商: 清華大學
  • 出版日期: 2023-11-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • 頁數: 466
  • 裝訂: 平裝
  • ISBN: 7302646856
  • ISBN-13: 9787302646853
  • 相關分類: Data Science
  • 立即出貨

  • Python 數據科學應用從入門到精通-preview-1
  • Python 數據科學應用從入門到精通-preview-2
  • Python 數據科學應用從入門到精通-preview-3
Python 數據科學應用從入門到精通-preview-1

買這商品的人也買了...

商品描述

隨著數據存儲、數據處理等大數據技術的快速發展,數據科學在各行各業得到廣泛的應用。數據清洗、特徵工程、數據可視化、數據挖掘與建模等已成為高校師生和職場人士迎接數字化浪潮、與時俱進提升專業技能的必修課程。本書將“Python課程學習”與“數據科學應用”有機結合,為數字化人才的培養助力。 全書共分13章,內容包括:第1章數據科學應用概述;第2章Python的入門基礎知識;第3章數據清洗;第4~6章特徵工程介紹,包括特徵選擇、特徵處理和特徵提取;第7章數據可視化應用;第8~13章介紹6種數據挖掘與建模的方法,分別為線性回歸、Logistic回歸、決策樹、隨機森林、神經網絡、RFM分析。 《Python數據科學應用從入門到精通》既適合作為經濟學、管理學、統計學、金融學、社會學、醫學、電子商務等相關專業的學生學習Python數據科學應用的專業教材或參考書,也適合作為企事業單位數字化人才培養的教科書與工具書。此外,還可以作為職場人士提升數據處理與分析挖掘能力,提高工作效能和績效水平的自學Python數據科學應用的工具書。

目錄大綱

目    錄

第1章  數據科學應用概述 1

1.1  什麽是數據清洗、特徵工程、數據可視化、數據挖掘與建模 1

1.1.1  數據清洗的概念 1

1.1.2  特徵工程的概念 2

1.1.3  數據可視化的概念 4

1.1.4  數據挖掘與建模的概念 4

1.2  為什麽要開展數據清洗、特徵工程、數據可視化和數據挖掘與建模 4

1.2.1  數據清洗、特徵工程的重要性 4

1.2.2  數據可視化的重要性 5

1.2.3  數據挖掘與建模的重要性 5

1.3  為什麽要將Python作為實現工具 6

1.4  數據清洗、特徵工程、數據可視化和數據挖掘與建模的主要內容 6

1.4.1  數據清洗的主要內容 6

1.4.2  特徵工程的主要內容 7

1.4.3  數據可視化的主要內容 7

1.4.4  數據挖掘與建模的主要內容 8

1.5  數據清洗、特徵工程、數據可視化和數據挖掘與建模的應用場景 8

1.5.1  數據清洗、特徵工程的應用場景 8

1.5.2  數據可視化的應用場景 9

1.5.3  數據挖掘與建模的應用場景 10

1.6  數據清洗、特徵工程和數據可視化的註意事項 14

1.6.1  數據清洗、特徵工程的註意事項 14

1.6.2  數據可視化的註意事項 14

1.7  數據挖掘與建模的註意事項 15

1.8  習題 19

第2章  Python入門基礎 21

2.1  Python概述 21

2.2  Anaconda平臺的下載與安裝 22

2.2.1  Anaconda平臺的下載 22

2.2.2  Anaconda平臺的安裝 24

2.2.3  Anaconda Prompt (Anaconda3) 26

2.2.4  Spyder (Anaconda3)的介紹及偏好設置 26

2.2.5  Spyder (Anaconda3)窗口介紹 29

2.3  Python的註釋 34

2.4  基本輸出函數—print()函數 35

2.5  基本輸入函數—input()函數 36

2.6  Python的保留字與標識符 37

2.6.1  Python中的保留字 37

2.6.2  Python的標識符 37

2.7  Python的變量 38

2.8  Python的基本數據類型 39

2.9  Python的數據運算符 43

2.10  Python序列的概念及通用操作 45

2.10.1  索引 46

2.10.2  切片 46

2.10.3  相加 47

2.10.4  相乘 48

2.10.5  元素檢查 48

2.10.6  與序列相關的內置函數 49

2.11  Python列表 50

2.11.1  列表的基本操作 50

2.11.2  列表元素的基本操作 52

2.12  Python元組 53

2.12.1  元組的基本操作 53

2.12.2  元組元素的基本操作 55

2.13  Python字典 55

2.13.1  字典的基本操作 56

2.13.2  字典元素的基本操作 58

2.14  Python集合 60

2.15  Python字符串 61

2.16  習題 65

第3章  數據清洗 67

3.1  Python數據清洗基礎 67

3.1.1  Python函數與模塊 67

3.1.2  numpy模塊數組 74

3.1.3  pandas模塊序列 79

3.1.4  pandas模塊數據框 81

3.1.5  Python流程控制語句 86

3.2  Python數據讀取、合並、寫入 90

3.2.1  讀取、合並、寫入文本文件(CSV或者TXT) 90

3.2.2  讀取、合並、寫入Excel數據文件 98

3.2.3  讀取、合並、寫入Stata數據文件 99

3.2.4  讀取、合並SPSS數據文件 100

3.3  Python數據檢索 102

3.4  Python數據行列處理 103

3.4.1  刪除變量列、樣本行 104

3.4.2  更改變量的列名稱、調整變量列順序 104

3.4.3  改變列的數據格式 106

3.4.4  多列轉換 106

3.4.5  數據百分比格式轉換 107

3.5  Python數據缺失值處理 107

3.5.1  查看數據集中的缺失值 108

3.5.2  填充數據集中的缺失值 109

3.5.3  刪除數據集中的缺失值 113

3.6  Python數據重復值處理 115

3.6.1  查看數據集中的重復值 115

3.6.2  刪除數據集中的重復值 117

3.7  Python數據異常值處理 118

3.7.1  運用3δ準則檢測異常值 118

3.7.2  繪制箱圖檢測異常值 119

3.7.3  刪除異常值 121

3.7.4  3δ準則替換異常值 122

3.7.5  1%/99%分位數替換異常值 123

3.8  Python數據透視表、描述性分析和交叉表分析 124

3.8.1  數據透視表 124

3.8.2  描述性分析 129

3.8.3  交叉表分析 132

3.9  習題 136

第4章  特徵選擇 138

4.1  特徵選擇的概念、原則及方法 138

4.1.1  特徵選擇的概念 138

4.1.2  特徵選擇的原則 139

4.1.3  特徵選擇的方法 139

4.2  過濾法—去掉低方差的特徵 141

4.3  過濾法—單變量特徵選擇 144

4.3.1  卡方檢驗 144

4.3.2  相關性分析 146

4.3.3  方差分析(F檢驗) 149

4.3.4  互信息 150

4.4  包裹法—遞歸特徵消除 151

4.5  嵌入法 152

4.5.1  隨機森林算法選擇特徵變量 153

4.5.2  提升法算法選擇特徵變量 155

4.5.3  Logistic回歸算法選擇特徵變量 156

4.5.4  線性支持向量機算法選擇特徵變量 158

4.6  習題 159

第5章  特徵處理 161

5.1  特徵歸一化、特徵標準化、樣本歸一化 161

5.1.1  特徵歸一化 162

5.1.2  特徵標準化 164

5.1.3  樣本歸一化 165

5.2  特徵等寬分箱和等頻分箱 168

5.3  特徵決策樹分箱 170

5.3.1  信息熵 170

5.3.2  信息增益 170

5.3.3  增益比率 171

5.3.4  基尼指數 171

5.3.5  變量重要性 172

5.3.6  特徵決策樹分箱的Python實現 172

5.4  特徵卡方分箱 174

5.5  WOE(證據權重)和IV(信息價值) 175

5.5.1  WOE和IV的概念 175

5.5.2  WOE的作用 176

5.5.3  WOE編碼註意事項 177

5.5.4  IV的作用 177

5.5.5  為什麽使用IV而不是WOE來判斷特徵變量的預測能力 178

5.6  WOE、IV的Python實現 179

5.6.1  載入分析所需要的模塊和函數 179

5.6.2  數據讀取及觀察 179

5.6.3  描述性統計分析 181

5.6.4  特徵變量篩選 182

5.6.5  劃分訓練樣本和測試樣本 183

5.6.6  分箱操作 184

5.6.7  畫分箱圖 185

5.6.8  調整分箱 190

5.6.9  將訓練樣本和測試樣本進行WOE編碼 192

5.6.10  構建Logistic模型進行預測 193

5.6.11  模型預測及評價 194

5.6.12  繪制ROC曲線,計算AUC值 196

5.7  習題 198

第 6 章  特徵提取 199

6.1  無監督降維技術—主成分分析 199

6.1.1  主成分分析的基本原理 199

6.1.2  主成分分析的數學概念 200

6.1.3  主成分的特徵值 201

6.1.4  樣本的主成分得分 201

6.1.5  主成分載荷 202

6.1.6  主成分分析的Python實現 203

6.2  有監督降維技術—線性判別分析 210

6.2.1  線性判別分析的基本原理 210

6.2.2  線性判別分析的算法過程 212

6.2.3  線性判別分析的Python實現 212

6.3  習題 222

第 7 章  數據可視化 224

7.1  四象限圖 224

7.1.1  四象限圖簡介 224

7.1.2  案例數據介紹 225

7.1.3  Python代碼示例 227

7.2  熱力圖 230

7.2.1  熱力圖簡介 230

7.2.2  案例數據介紹 231

7.2.3  Python代碼示例 231

7.3  直方圖 234

7.3.1  直方圖簡介 234

7.3.2  案例數據介紹 236

7.3.3  Python代碼示例 236

7.4  條形圖、核密度圖和正態QQ圖 242

7.4.1  條形圖、核密度圖和正態QQ圖簡介 242

7.4.2  案例數據介紹 243

7.4.3  Python代碼示例 243

7.5  散點圖 246

7.5.1  散點圖簡介 246

7.5.2  案例數據介紹 247

7.5.3  Python代碼示例 249

7.6  線圖(含時間序列趨勢圖) 255

7.6.1  線圖(含時間序列趨勢圖)簡介 255

7.6.2  案例數據介紹 257

7.6.3  Python代碼示例 258

7.7  雙縱軸線圖 260

7.7.1  雙縱軸線圖簡介 260

7.7.2  案例數據介紹 260

7.7.3  Python代碼示例 260

7.8  回歸擬合圖 262

7.8.1  回歸擬合圖簡介 262

7.8.2  案例數據介紹 263

7.8.3  Python代碼示例 263

7.9  箱圖 265

7.9.1  箱圖簡介 265

7.9.2  案例數據介紹 267

7.9.3  Python代碼示例 267

7.10  小提琴圖 271

7.10.1  小提琴圖簡介 271

7.10.2  案例數據介紹 273

7.10.3  Python代碼示例 274

7.11  聯合分佈圖 276

7.11.1  聯合分佈圖簡介 276

7.11.2  案例數據介紹 277

7.11.3  Python代碼示例 277

7.12  雷達圖 281

7.12.1  雷達圖簡介 281

7.12.2  案例數據介紹 281

7.12.3  Python代碼示例 282

7.13  餅圖 287

7.13.1  餅圖簡介 287

7.13.2  案例數據介紹 288

7.13.3  Python代碼示例 289

7.14  習題 291

第8章  數據挖掘與建模1——線性回歸 299

8.1  基本思想 299

8.1.1  線性回歸算法的概念及數學解釋 299

8.1.2  線性回歸算法的優點 301

8.1.3  線性回歸算法的缺點 302

8.2  應用案例 302

8.2.1  數據挖掘與建模思路 302

8.2.2  數據文件介紹 303

8.2.3  導入分析所需要的模塊和函數 303

8.2.4  數據讀取及觀察 304

8.3  使用smf進行線性回歸 305

8.3.1  使用smf進行線性回歸 306

8.3.2  多重共線性檢驗 310

8.3.3  解決多重共線性問題 311

8.3.4  繪制擬合回歸平面 312

8.4  使用sklearn進行線性回歸 313

8.4.1  使用驗證集法進行模型擬合 315

8.4.2  更換隨機數種子,使用驗證集法進行模型擬合 315

8.4.3  使用10折交叉驗證法進行模型擬合 316

8.4.4  使用10折重復10次交叉驗證法進行模型擬合 318

8.4.5  使用留一交叉驗證法進行模型擬合 318

8.5  習題 319

第9章  數據挖掘與建模2——Logistic回歸 320

9.1  基本思想 320

9.1.1  Logistic回歸算法的概念及數學解釋 320

9.1.2  “分類問題監督式學習”的性能度量 321

9.2  應用案例 327

9.2.1  數據文件介紹 327

9.2.2  導入分析所需要的模塊和函數 327

9.2.3  數據讀取及觀察 328

9.3  描述性分析 330

9.4  數據處理 332

9.4.1  區分分類特徵和連續特徵並進行處理 332

9.4.2  將樣本全集分割為訓練樣本和測試樣本 333

9.5  建立二元Logistic回歸算法模型 334

9.5.1  使用statsmodels建立二元Logistic回歸算法模型 334

9.5.2  使用sklearn建立二元Logistic回歸算法模型 339

9.5.3  特徵變量重要性水平分析 342

9.5.4  繪制ROC曲線,計算AUC值 345

9.5.5  計算科恩kappa得分 346

9.6  習題 347

第10章  數據挖掘與建模3——決策樹 349

10.1  基本思想 349

10.1.1  決策樹算法的概念與原理 349

10.1.2  決策樹的剪枝 350

10.1.3  包含剪枝決策樹的損失函數 351

10.2  數據準備 352

10.2.1  案例數據說明 352

10.2.2  導入分析所需要的模塊和函數 353

10.3  分類問題決策樹算法示例 354

10.3.1  變量設置及數據處理 354

10.3.2  未考慮成本-復雜度剪枝的決策樹分類算法模型 355

10.3.3  考慮成本-復雜度剪枝的決策樹分類算法模型 358

10.3.4  繪制圖形觀察葉節點總不純度隨alpha值的變化情況 359

10.3.5  繪制圖形觀察節點數和樹的深度隨alpha值的變化情況 359

10.3.6  繪制圖形觀察訓練樣本和測試樣本的預測準確率隨alpha值的變化情況 360

10.3.7  通過10折交叉驗證法尋求最優alpha值 361

10.3.8  決策樹特徵變量重要性水平分析 362

10.3.9  繪制ROC曲線 363

10.3.10  運用兩個特徵變量繪制決策樹算法決策邊界圖 363

10.4  回歸問題決策樹算法示例 365

10.4.1  變量設置及數據處理 365

10.4.2  未考慮成本-復雜度剪枝的決策樹回歸算法模型 366

10.4.3  考慮成本-復雜度剪枝的決策樹回歸算法模型 367

10.4.4  繪制圖形觀察葉節點總均方誤差隨alpha值的變化情況 368

10.4.5  繪制圖形觀察節點數和樹的深度隨alpha值的變化情況 368

10.4.6  繪制圖形觀察訓練樣本和測試樣本的擬合優度隨alpha值的變化情況 369

10.4.7  通過10折交叉驗證法尋求最優alpha值並開展特徵變量重要性水平分析 370

10.4.8  最優模型擬合效果圖形展示 372

10.4.9  構建線性回歸算法模型進行對比 373

10.5  習題 373

第11章  數據挖掘與建模4——隨機森林 374

11.1  隨機森林算法的基本原理 374

11.1.1  模型融合的基本思想 374

11.1.2  集成學習的概念與分類 378

11.1.3  裝袋法的概念與原理 379

11.1.4  隨機森林算法的概念與原理 380

11.1.5  隨機森林算法特徵變量重要性度量 380

11.1.6  部分依賴圖與個體條件期望圖 380

11.2  數據準備 381

11.2.1  案例數據說明 382

11.2.2  導入分析所需要的模塊和函數 382

11.3  分類問題隨機森林算法示例 382

11.3.1  變量設置及數據處理 383

11.3.2  二元Logistic回歸和單棵分類決策樹算法 383

11.3.3  裝袋法分類算法 384

11.3.4  隨機森林分類算法 385

11.3.5  尋求max_features最優參數 385

11.3.6  尋求n_estimators最優參數 386

11.3.7  隨機森林特徵變量重要性水平分析 388

11.3.8  繪制部分依賴圖與個體條件期望圖 389

11.3.9  模型性能評價 390

11.3.10  繪制ROC曲線 392

11.3.11  運用兩個特徵變量繪制隨機森林算法決策邊界圖 392

11.4  回歸問題隨機森林算法示例 393

11.4.1  變量設置及數據處理 393

11.4.2  線性回歸、單棵回歸決策樹算法 394

11.4.3  裝袋法回歸算法 395

11.4.4  隨機森林回歸算法 395

11.4.5  尋求max_features最優參數 395

11.4.6  尋求n_estimators最優參數 396

11.4.7  隨機森林特徵變量重要性水平分析 399

11.4.8  繪制部分依賴圖與個體條件期望圖 400

11.4.9  最優模型擬合效果圖形展示 401

11.5  習題 402

第12章  數據挖掘與建模5——神經網絡 404

12.1  神經網絡算法的基本原理 404

12.1.1  神經網絡算法的基本思想 404

12.1.2  感知機 406

12.1.3  多層感知機 410

12.1.4  神經元激活函數 411

12.1.5  誤差反向傳播算法(BP算法) 416

12.1.6  萬能近似定理及多隱藏層優勢 424

12.1.7  BP算法過擬合問題的解決 424

12.2  數據準備 426

12.2.1  案例數據說明 426

12.2.2  導入分析所需要的模塊和函數 428

12.3  回歸神經網絡算法示例 428

12.3.1  變量設置及數據處理 428

12.3.2  單隱藏層的多層感知機算法 429

12.3.3  神經網絡特徵變量重要性水平分析 431

12.3.4  繪制部分依賴圖與個體條件期望圖 432

12.3.5  擬合優度隨神經元個數變化的可視化展示 433

12.3.6  通過K折交叉驗證尋求單隱藏層最優神經元個數 434

12.3.7  雙隱藏層的多層感知機算法 436

12.3.8  最優模型擬合效果圖形展示 437

12.4  二分類神經網絡算法示例 438

12.4.1  變量設置及數據處理 438

12.4.2  單隱藏層二分類問題神經網絡算法 439

12.4.3  雙隱藏層二分類問題神經網絡算法 440

12.4.4  早停策略減少過擬合問題 440

12.4.5  正則化(權重衰減)策略減少過擬合問題 441

12.4.6  模型性能評價 441

12.4.7  繪制ROC曲線 443

12.4.8  運用兩個特徵變量繪制二分類神經網絡算法決策邊界圖 443

12.5  習題 444

第13章  數據挖掘與建模6據挖掘與建分析 446

13.1  RFM分析的基本原理 446

13.1.1  RFM分析的基本思想 446

13.1.2  RFM分類組合與客戶類型對應情況 447

13.1.3  不同類型客戶的特點及市場營銷策略 448

13.2  數據準備 449

13.2.1  案例數據說明 450

13.2.2  導入分析所需要的模塊和函數 450

13.3  RFM分析示例 450

13.3.1  數據讀取及觀察 450

13.3.2  計算R、F、M分值 453

13.3.3  生成RFM數據集 455

13.3.4  不同類別客戶數量分析 459

13.3.5  不同類別客戶消費金額分析 462

13.4  習題 465