Python 數據科學項目實戰 Data Science Bookcamp: Five Python Projects

[美] 倫納德·阿佩爾辛(Leonard Apeltsin)著 殷海英 史躍東 譯

  • Python 數據科學項目實戰-preview-1
  • Python 數據科學項目實戰-preview-2
  • Python 數據科學項目實戰-preview-3
Python 數據科學項目實戰-preview-1

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

商品描述

● 網頁抓取 ● 使用聚類算法組織數據集 ● 可視化復雜的多變量數據集 ● 訓練決策樹機器學習算法

目錄大綱

目    錄

 

案例研究1  在紙牌游戲中尋找制勝策略

第1章  使用Python計算概率 3

1.1  樣本空間分析:一種用於測量結果不確定性的無方程方法 3

1.2  計算非平凡概率 7

1.2.1  問題1:分析一個有4個孩子的家庭 7

1.2.2  問題2:分析擲骰子游戲 9

1.2.3  問題3:使用加權樣本空間計算擲骰概率 10

1.3  計算區間範圍內的概率 12

1.4  本章小結 14

第2章  使用Matplotlib繪制概率圖 15

2.1  基本的Matplotlib圖 15

2.2  繪制拋硬幣概率 19

2.3  本章小結 28

第3章  在NumPy中運行隨機模擬 29

3.1  使用NumPy模擬隨機拋硬幣和擲骰子實驗 29

3.2  使用直方圖和NumPy數組計算置信區間 33

3.2.1  通過直方圖合並顯示鄰近值 35

3.2.2  利用直方圖進行概率推導 38

3.2.3  縮小較高置信區間的範圍 40

3.2.4  在NumPy中計算直方圖 43

3.3  使用置信區間分析一副有偏紙牌 44

3.4  使用排列來洗牌 47

3.5  本章小結 49

第4章  案例研究1的解決方案 51

4.1  對紅牌進行預測 51

4.2  使用10張牌的樣本空間來優化策略 57

4.3  本章小結 61

案例研究2  評估在線廣告點擊的顯著性

第5章  使用SciPy進行基本概率和統計分析 65

5.1  使用SciPy探索數據和概率之間的關系 66

5.2  將均值作為中心性的度量 69

5.3  將方差作為離散性的度量 78

5.4  本章小結 83

第6章  使用中心極限定理和SciPy進行預測 85

6.1  使用SciPy處理正態分佈 85

6.2  通過隨機採樣確定總體的均值和方差 92

6.3  使用均值和方差進行預測 95

6.3.1  計算正態曲線下方的面積 97

6.3.2  對計算的概率進行解釋 99

6.4  本章小結 100

第7章  統計假設檢驗 101

7.1  評估樣本均值和總體均值之間的差異 102

7.2  數據捕撈:過採樣將導致錯誤的結論 106

7.3  有放回的自舉法:當總體方差未知時檢驗假設 109

7.4  置換檢驗:當總體參數未知時比較樣本的均值 115

7.5  本章小結 118

第8章  使用Pandas分析表格 119

8.1  使用基本Python存儲表格 119

8.2  使用Pandas探索表格 120

8.3  檢索表中的列 122

8.4  檢索表中的行 124

8.5  修改表格行和列 126

8.6  保存和加載表格數據 129

8.7  使用Seaborn對表格進行可視化 130

8.8  本章小結 133

第9章  案例研究2的解決方案 135

9.1  在Pandas中處理廣告點擊數據表 135

9.2  根據均值差異計算p值 138

9.3  確定統計顯著性 140

9.4  一個真實的警世故事 142

9.5  本章小結 142

案例研究3  利用新聞標題跟蹤疾病暴發

第10章  對數據進行聚類 145

10.1  使用中心性發現聚類 145

10.2  K-means:一種將數據分組為K個中心組的聚類算法 151

10.2.1  使用scikit-learn進行K-means聚類 152

10.2.2  使用肘部法選擇最佳K值 154

10.3  使用密度發現聚類 158

10.4  DBSCAN:一種基於空間密度

對數據進行分組的聚類算法 161

10.4.1  比較DBSCAN和K-means 162

10.4.2  基於非歐幾里得距離的聚類方法 163

10.5  使用Pandas分析聚類 166

10.6  本章小結 168

第11章  對地理位置進行可視化與分析 169

11.1  大圓距離:計算地球上兩點間的距離 170

11.2  使用Cartopy繪制地圖 172

11.2.1  手動安裝GEOS和Cartopy 173

11.2.2  使用Conda包管理器 173

11.2.3  可視化地圖 174

11.3  使用GeoNamesCache進行位置跟蹤 182

11.3.1  獲取國家/地區信息 184

11.3.2  獲取城市信息 186

11.3.3  GeoNamesCache庫的使用限制 189

11.4  在文本中匹配位置名稱 191

11.5  本章小結 194

第12章  案例研究3的解決方案 197

12.1  從標題數據中提取位置信息 197

12.2  對提取的位置信息進行可視化和聚類 203

12.3  對位置聚類進行分析 208

12.4  本章小結 213

案例研究4  使用在線招聘信息優化簡歷

第13章  測量文本相似度 217

13.1  簡單的文本比較 218

13.1.1  探索Jaccard相似度 222

13.1.2  用數值替換單詞 224

13.2  使用字數對文本進行向量化 228

13.2.1  使用歸一化提高TF向量相似度 230

13.2.2  使用單位向量點積在相關性指標之間進行轉換 237

13.3  使用矩陣乘法提高相似度計算的效率 239

13.3.1  基本矩陣運算 241

13.3.2  計算全矩陣相似度 249

13.4  矩陣乘法的計算限制 250

13.5  本章小結 253

第14章  矩陣數據的降維 255

14.1  將二維數據聚類到一維中 256

14.2  使用PCA和scikit-learn降維 269

14.3  將四維數據在二維中進行聚類 274

14.4  在不旋轉的情況下計算主成分 281

14.5  使用SVD和scikit-learn進行高效降維 292

14.6  本章小結 294

第15章  大型文本數據集的NLP分析 295

15.1  使用scikit-learn加載在線論壇討論數據 296

15.2  使用scikit-learn對文檔進行向量化 297

15.3  根據發布頻率和出現次數對單詞進行排名 304

15.4  計算大型文檔數據集之間的相似度 311

15.5  按主題對文本進行聚類 315

15.6  對文本聚類進行可視化 323

15.7  本章小結 333

第16章  從網頁中提取文本 335

16.1  HTML文檔的結構 335

16.2  使用Beautiful Soup解析HTML 342

16.3  下載和解析在線數據 349

16.4  本章小結 351

第17章  案例研究4的解決方案 353

17.1  從職位發布數據中提取技能要求 353

17.2  根據相關性對工作進行過濾 360

17.3  在相關職位發布中對技能進行聚類 369

17.3.1  將工作技能分成15個聚類 372

17.3.2  詳細分析技術技能聚類 377

17.3.3  詳細分析軟技能聚類 380

17.3.4  使用不同的K值來探索聚類 381

17.3.5  分析700個最相關的職位發布信息 385

17.4  結論 388

17.5  本章小結 388

案例研究5  利用社交網絡數據發現新朋友

第18章  圖論和網絡分析 393

18.1  使用基本圖論按受歡迎程度對網站進行排名 393

18.2  利用無向圖優化城鎮之間的旅行時間 404

18.2.1  建立一個復雜的城鎮交通網絡模型 406

18.2.2  計算節點之間的最快旅行時間 411

18.3  本章小結 418

第19章  用於節點排名和社交網絡分析的動態圖論技術 419

19.1  根據網絡中的預期流量發現中心節點 419

19.2  使用矩陣乘法計算交通概率 424

19.2.1  從概率論推導PageRank中心性 427

19.2.2  使用NetworkX計算PageRank中心性 431

19.3  使用馬爾可夫聚類進行社區檢測 433

19.4  在社交網絡中發現朋友群 445

19.5  本章小結 448

第20章  網絡驅動的監督機器學習 451

20.1  監督機器學習的基礎 451

20.2  測量預測的標簽的準確度 459

20.3  優化KNN性能 468

20.4  使用scikit-learn進行網格搜索 469

20.5  KNN算法的局限性 474

20.6  本章小結 475

第21章  使用邏輯回歸訓練線性分類器 477

21.1  根據身材尺寸對客戶進行線性劃分 477

21.2  訓練線性分類器 482

21.3  使用邏輯回歸改進線性分類 492

21.4  使用scikit-learn訓練線性分類器 499

21.5  通過系數測量特徵的重要性 504

21.6  線性分類器的限制 507

21.7  本章小結 508

第22章  通過決策樹技術訓練非線性分類器 511

22.1  邏輯規則的自動學習 511

22.1.1  使用兩個特徵訓練一個嵌套的if/else模型 517

22.1.2  決定拆分哪個特徵 523

22.1.3  訓練具有兩個以上特徵的if/else模型 530

22.2  使用scikit-learn訓練決策樹分類器 536

22.3  決策樹分類器的局限性 545

22.4  使用隨機森林分類提高模型性能 546

22.5  使用scikit-learn訓練隨機森林分類器 550

22.6  本章小結 551

第23章  案例研究5的解決方案 553

23.1  探索數據 553

23.1.1  檢查Profiles表 554

23.1.2  探索Observations表 556

23.1.3  探索Friendships表 559

23.2  使用網絡特徵訓練預測模型 562

23.3  向模型中添加個人資料特徵 568

23.4  通過一組穩定的特徵優化模型性能 572

23.5  解釋訓練模型 574

23.6  本章小結 578