零起點Python足彩大數據與機器學習實盤分析

零起點Python足彩大數據與機器學習實盤分析

《零起點Python足彩大數據與機器學習實盤分析》 一書作者何海群,電子工業出版社2017年5月出版

基本信息

內容提要

《零起點Python足彩大數據與機器學習實盤分析》使用Python程式語言、Pandas數據分析模組、機器學習和人工智慧算法對足彩大數據進行實盤分析,設計並發布了開源大數據項目tfbDat足彩數據包,匯總了2010—2017年全球近7萬場足球比賽的賽事和賠率數據。此外,還介紹使用Python語言抓取網頁數據、下載更新tfbDat足彩數據包、預測和分析比賽球隊的取勝機率,同時提出了檢測人工智慧算法優劣的“足彩圖靈”法則。

目錄

第1章 足彩與數據分析 1

1.1 “阿爾法狗”與足彩 1

1.2 案例1-1:可怕的英國足球 3

1.3 關於足彩的幾個誤區 7

1.4 足彩·大事件 8

1.5 大數據圖靈(足彩)原則 10

1.6 主要線上彩票資源 11

1.7 主要線上足彩數據源 15

1.8 足彩基礎知識 17

1.9 學習路線圖 18

第2章 開發環境 19

2.1 數據分析首選Python 19

2.1.1 大數據,why Python 19

2.1.2 入門簡單,功能強大 21

2.1.3 難度降低90%,性能提高10倍 23

2.1.4 “零對象”編程模式 24

2.2 用戶運行平台 25

2.3 程式目錄結構 26

2.4 tfbDat足彩數據包 27

2.5 Spyder編輯器界面設定 28

2.5.1 開發環境界面設定 28

2.5.2 代碼配色技巧 29

2.5.3 圖像顯示配置 31

2.5.4 重劍無鋒 32

2.6 Notebook模式 34

2.7 模組庫控制臺 36

2.7.1 模組庫資源 37

2.7.2 模組庫維護更新 37

2.7.3 系統關聯 38

2.8 使用pip命令更新模組庫 39

2.8.1 pip常用命令 39

2.8.2 進入Python命令行模式 41

2.8.3 pip安裝模板 41

2.8.4 pip參數解釋 42

2.8.5 pip-install參數選項 43

第3章 入門案例套餐 45

3.1 案例3-1:第一次編程,“hello,ziwang” 45

3.1.1 簡單調試 46

3.1.2 控制台復位 47

3.2 案例3-2:增強版“hello,ziwang” 47

3.3 案例3-3:列舉系統模組庫清單 49

3.4 案例3-4:常用繪圖風格 50

3.5 案例3-5:Pandas常用繪圖風格 52

3.6 案例3-6:常用顏色表cors 53

第4章 足彩量化分析系統 55

4.1 功能簡介 55

4.1.1 目錄結構 56

4.1.2 TFB安裝與更新 56

4.2 TFB主體框架 57

4.2.1 模組構成 57

4.2.2 Top-Base極寬基礎模組庫 57

4.2.3 Top-Football極寬足彩專業模組庫 58

4.2.4 tfbDat極寬足彩數據包 59

4.2.5 量化系統模組構成 60

4.2.6 案例4-1:賠率檔案切割 61

4.2.7 案例4-2:批量切割數據檔案 64

4.3 tfbDat數據結構 66

4.3.1 案例4-3:tfb數據格式 67

4.3.2 gid基本比賽數據格式 67

4.3.3 xdat賠率數據格式 69

4.4 足彩基本數據分析 73

4.4.1 案例4-4:比賽數據基本圖表分析 73

4.4.2 案例4-5:比賽數據進階圖表分析 77

4.4.3 案例4-6:比賽數據年度圖表分析 80

4.4.4 案例4-7:比賽數據時間細分圖表分析 81

4.5 勝、平、負數據分析 88

4.5.1 案例4-8:勝、平、負數據分析 88

4.5.2 @修飾符 88

4.5.3 勝、平、負分析 90

4.6 賠率數據分析 91

4.6.1 案例4-9:賠率分析 91

4.6.2 擴充dr_gid_top10繪圖函式 92

4.6.3 賠率對比 93

第5章 常用數據分析工具 96

5.1 Pandas數據分析軟體 96

5.1.1 Pandas簡介 96

5.1.2 案例5-1:Pandas常用統計功能 99

5.2 科學計算 104

5.3 人工智慧 105

5.4 NLTK語義分析 107

5.5 數據清洗統計分析 109

5.6 數據可視化 109

第6章 輔助工具 114

6.1 性能最佳化 114

6.1.1 Numexpr矢量加速庫 115

6.1.2 Numba支持GPU的加速模組庫 115

6.1.3 Blaze大數據最佳化模組庫 115

6.1.4 Pyston加速模組 116

6.1.5 PyPy加速模組 116

6.1.6 Cython 116

6.1.7 其他最佳化技巧 117

6.2 網頁信息抓取 117

6.2.1 Requests人性化的網路模組 118

6.2.2 Scrapy網頁爬蟲框架 118

6.2.3 Beautiful Soup 4 119

6.3 其他工具模組 120

6.3.1 Logging日誌模組 120

6.3.2 Debug調試工具 121

6.3.3 re正則表達式 121

6.3.4 並行編程 122

6.4 網路輔助資源 123

6.5 arrow優雅簡捷的時間模組庫 125

6.5.1 案例6-1:arrow入門案例 126

6.5.2 創建arrow時間對象 128

6.5.3 創建時間戳 128

6.5.4 arrow屬性 129

6.5.5 replace替換和shift位移 130

6.5.6 format格式化參數 130

6.5.7 時間轉換 131

6.5.8 短命令 131

6.5.9 人性化 131

6.5.10 範圍和跨度 132

6.5.11 工廠模式 133

6.5.12 Token特殊字元 133

第7章 網路足彩數據抓取 135

7.1 500彩票網站數據接口的優勢 135

7.1.1 案例7-1:抓取賠率數據網頁 136

7.1.2 網頁數據實戰操作技巧 139

7.2 網頁解析的心靈雞湯 141

7.2.1 BS4四大要素三缺一 142

7.2.2 Tag標籤對象 142

7.2.3 案例7-2:Tag標籤對象 142

7.2.4 案例7-3:Tag標籤對象數據類型 145

7.2.5 NavigableString導航字元串 149

7.2.6 BeautifulSoup複合對象 149

7.2.7 Comment注釋對象 150

7.2.8 案例7-4:BS4查找匹配功能 150

7.2.9 BS4節點遍歷功能 154

7.3 足彩基本數據抓取 155

7.3.1 案例7-5:分析網頁比賽數據 155

7.3.2 案例7-6:提取網頁比賽數據 157

7.3.3 gid比賽基本數據結構 159

7.3.4 案例7-7:提取比賽得分 161

7.3.5 案例7-8:提取球隊id編碼 164

7.3.6 案例7-9:抓取歷年比賽數據 167

7.3.7 案例7-10:流程圖工具與Python 171

7.3.8 實盤技巧 172

7.3.9 案例7-11:進程池並發運行 174

7.4 批量抓取足彩網頁數據實盤教程 177

7.4.1 案例7-12:批量抓取賠率數據 177

7.4.2 fb_gid_getExt擴展網頁下載函式 178

7.4.3 bars節點數據包與pools彩票池 178

7.4.4 抓取擴展網頁 180

7.5 足彩賠率數據抓取 181

7.5.1 gid與賠率數據網頁 181

7.5.2 案例7-13:提取賠率數據 184

7.5.3 賠率數據與結構化數據 186

7.5.4 瀑布流數據網頁與小數據理論 189

第8章 足彩數據回溯測試 191

8.1 TFB系統構成 192

8.1.1 TFB系統模組結構 192

8.1.2 Top-Base極寬基礎模組庫 192

8.1.3 Top-Football極寬足彩專業模組庫 193

8.2 實盤數據更新 194

8.2.1 案例8-1:實盤數據更新 194

8.2.2 實盤要點:冗餘 195

8.2.3 實盤要點:耐心 196

8.2.4 實盤要點:數據檔案 197

8.2.5 main_get函式 197

8.3 變數初始化 199

8.3.1 全局變數與類定義 201

8.3.2 彩票池記憶體資料庫 202

8.3.3 案例8-2:記憶體資料庫&數據包 204

8.4 回溯測試 205

8.4.1 案例8-3:回溯 206

8.4.2 main_bt回溯主入口 207

8.4.3 案例8-4:實盤迴溯 209

8.4.4 彩票池與統計池 211

8.4.5 poolTrd下單交易數據 212

8.4.6 poolRet回報記錄數據 213

8.4.7 實盤足彩推薦分析 214

8.4.8 實盤迴報分析 214

8.4.9 全數據分析與足彩數據集 215

8.5 bt_main回溯主函式 216

8.5.1 bt_1dayMain單日回溯函式 218

8.5.2 賠率數據合併函式 219

8.5.3 單日回報分析函式 220

8.5.4 單日回報分析 221

8.5.5 單場比賽回報分析 223

8.6 sta01策略的大數據分析 224

8.6.1 一號策略函式 226

8.6.2 超過100%的盈利策略與秘訣 227

8.6.3 統計分析 228

8.6.4 回溯時間測試 229

8.6.5 bt_main_ret總回報分析 230

第9章 參數智慧型尋優 232

9.1 一元參數尋優 233

9.1.1 案例9-1:一號策略參數尋優 233

9.1.2 一元測試函式 234

9.1.3 測試結果數據格式 236

9.1.4 案例9-2:一元參數圖表分析 237

9.2 策略函式擴展 241

9.2.1 擴展一號策略函式 241

9.2.2 案例9-3:一號擴展策略 242

9.2.3 案例9-4:sta10策略 244

9.3 二元參數尋優 246

9.3.1 案例9-5:sta10參數尋優 246

9.3.2 案例9-6:二元參數圖表分析 248

9.4 策略310準多因子策略 252

9.4.1 案例9-7:數據預處理 254

9.4.2 案例9-8:策略310參數尋優 257

9.4.3 案例9-9:策略310圖表分析 259

9.4.4 案例9-10:策略310 264

第10章 Python人工智慧入門與實踐 266

10.1 從忘卻開始 266

10.2 Iris經典愛麗絲 269

10.2.1 案例10-1:經典愛麗絲 270

10.2.2 案例10-2:愛麗絲進化與矢量化文本 272

10.3 AI操作流程 273

10.3.1 機器學習與測試數據集合 274

10.3.2 機器學習運行流程 274

10.3.3 經典機器學習算法 275

10.3.4 黑箱大法 275

10.3.5 數據切割函式 276

10.3.6 案例10-3:愛麗絲分解 277

10.3.7 案例10-4:線性回歸算法 281

第11章 機器學習經典算法案例(上) 286

11.1 線性回歸 286

11.2 邏輯回歸算法 293

11.2.1案例11-1:邏輯回歸算法 294

11.3樸素貝葉斯算法 296

11.3.1案例11-2:貝葉斯算法 297

11.4KNN近鄰算法 299

11.4.1 案例11-3:KNN近鄰算法 301

11.5隨機森林算法 302

11.5.1 案例11-4:隨機森林算法 306

第12章 機器學習經典算法案例(下) 308

12.1 決策樹算法 308

12.1.1案例12-1:決策樹算法 310

12.2GBDT疊代決策樹算法 311

12.2.1案例12-2:GBDT疊代決策樹算法 312

12.3SVM向量機 313

12.3.1案例12-3:SVM向量機算法 315

12.4SVM-cross向量機交叉算法 316

12.4.1案例12-4:SVM-cross向量機交叉算法 317

12.5神經網路算法 318

12.5.1 經典神經網路算法 319

12.5.2 Sklearn神經網路算法 320

12.5.3 人工智慧學習路線圖 320

12.5.4 案例12-5:MLP神經網路算法 321

12.5.5 案例12-6:MLP_reg神經網路回歸算法 323

第13章 機器學習組合算法 326

13.1 CCPP數據集 326

13.1.1 案例13-1:CCPP數據集 327

13.1.2 案例13-2:CCPP數據切割 328

13.1.3 數據切割函式 330

13.1.4 案例13-3:讀取CCPP數據集 331

13.1.5 數據讀取函式 333

13.2 機器學習統一接口函式 334

13.2.1 案例13-4:機器學習統一接口 334

13.2.2 統一接口函式 336

13.2.3 機器學習算法代碼 338

13.2.4 效果評估函式 339

13.2.5 常用評測指標 340

13.3 批量調用機器學習算法 341

13.3.1 案例13-5:批量調用 341

13.3.2 批量調用算法模型 344

13.4 一體化調用 345

13.4.1 案例13-6:一體化調用 345

13.4.2 一體化調用函式 346

13.5 模型預製與保存 348

13.5.1 案例13-7:儲存算法模型 348

13.5.2 模型保存函式 350

13.5.3 模型預測函式 350

13.5.4 案例13-8:批量儲存算法模型 351

13.5.5 批量模型儲存函式 353

13.5.6 案例13-9:批量載入算法模型 353

13.6 機器學習組合算法 357

13.6.1 案例13-10:機器學習組合算法 357

13.6.2 機器學習組合算法函式 359

第14章 足彩機器學習模型構建 361

14.1 數據整理 361

14.1.1 案例14-1:賠率數據合成 362

14.1.2 案例14-2:按年切割賠率數據 365

14.1.3 案例14-3:累計切割賠率數據 365

14.2 年度足彩賠率模型 366

14.2.1 案例14-4:2016年度足彩賠率模型組 367

14.2.2 案例14-5:年度多欄位足彩賠率模型組 370

14.3 累計足彩賠率模型 373

14.3.1 案例14-6:累計2016足彩賠率模型組 373

14.3.2 案例14-7:累計多欄位足彩賠率模型組 376

14.3.3 足彩算法模型檔案 379

第15章 足彩機器學習模型驗證 381

15.1 年度賠率模型驗證 381

15.1.1 案例15-1:年度賠率模型驗證 381

15.1.2 案例15-2:多欄位年度賠率模型驗證 383

15.2 累計賠率模型驗證 385

15.2.1 案例15-3:累計賠率模型驗證 385

15.2.2 案例15-4:多欄位累計賠率模型驗證 386

15.3 年度組合模型驗證 388

15.3.1 案例15-5:年度組合模型驗證 388

15.3.2 案例15-6:多欄位年度組合模型驗證 391

15.3.3 案例15-7:全欄位年度組合模型驗證 391

15.3.4 年度組合模型測試數據對比分析 392

15.4 累計組合模型驗證 393

15.4.1 案例15-8:年度組合模型驗證 393

15.4.2 案例15-9:多欄位年度組合模型驗證 394

15.4.3 累計組合模型測試數據對比分析 394

第16章 結果數據分析 397

16.1 神秘的df9 397

16.1.1 案例16-1:調試模式 397

16.1.2 神秘的df9結果數據變數 400

16.2 盈利率分析 402

16.2.1 案例16-2:盈利率計算 402

第17章 機器學習足彩實盤分析 407

17.1 回溯主入口 408

17.1.1 案例17-1:策略sta01 409

17.1.2 結果檔案解讀 409

17.1.3 數據欄位分析 411

17.2 機器學習與回溯分析 412

17.2.1 案例17-2:Log回歸策略足彩分析 414

17.2.2 Log回歸策略函式 415

17.2.3 案例17-3:30天Log回歸策略足彩分析 418

17.2.4 數據檔案分析 420

17.2.5 足彩推薦 421

相關詞條

熱門詞條

聯絡我們