采用MBA个案模式,配合Python教学代码,由浅入深,结合实盘案例,举一反三。无须专业编程基础,懂Excel即可开始学习。
《零起点Python足彩大数据与机器学习实盘分析》采用Python编程语言、Pandas数据分析模块、机器学习和人工智能算法,对足彩大数据进行实盘分析。设计并发布了开源大数据项目zc-dat足彩数据包,汇总了2010—2016年全球5万余场足球比赛的赛事和赔率数据,包括威廉希尔、澳门、立博、Bet365、Interwetten、SNAI、皇冠、易胜博、伟德、必发等各大赔率公司。介绍了如何使用Python语言抓取网页数据,下载更新zc-dat足彩数据包,并预测分析比赛获胜球队的取胜概率,同时提出了检测人工智能算法优劣的“足彩图灵”法则。
第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.4 KNN近邻算法 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.2 GBDT迭代决策树算法 311
12.2.1 案例12-2:GBDT迭代决策树算法 312
12.3 SVM向量机 313
12.3.1 案例12-3:SVM向量机算法 315
12.4 SVM-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
17.3 进一步深入 421
附录A Sklearn常用模块和函数 423