描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121393501
《阿里云天池大赛赛题解析——机器学习篇》的赛题均来自阿里云天池的真实业务场景,由具有丰富实战经验的大赛优秀选手精心完成。本书通过解析*选手的解题思路,总结了大赛可复制的套路。其可以向专业开发者提供技术参考,可以使高校学生和技术人员入门天池大赛及其他比赛,还可以帮助参赛选手进阶。
本书聚焦机器学习算法建模及相关技术,以工业蒸汽量预测、天猫用户重复购买预测、O2O优惠券预测和阿里云安全恶意程序检测等四个天池经典赛题作为实战案例,针对实际赛题按照赛题理解、数据探索、特征工程、模型训练、模型验证、特征优化、模型融合等步骤,将赛题的解决方案从0到1层层拆解、详细说明,在展现专业选手解题过程的同时,配以丰富的相关技术知识作为补充。本书从经典商业案例出发,内容由浅入深、层层递进,既可以作为专业开发者的参考用书,也可以作为参赛选手研读专业算法的实战手册。
目 录
赛题一 工业蒸汽量预测
1 赛题理解 2
1.1 赛题背景 2
1.2 赛题目标 2
1.3 数据概览 2
1.4 评估指标 3
1.5 赛题模型 4
2 数据探索 6
2.1 理论知识 6
2.1.1 变量识别 6
2.1.2 变量分析 6
2.1.3 缺失值处理 10
2.1.4 异常值处理 11
2.1.5 变量转换 14
2.1.6 新变量生成 15
2.2 赛题数据探索 16
2.2.1 导入工具包 16
2.2.2 读取数据 16
2.2.3 查看数据 16
2.2.4 可视化数据分布 18
2.2.5 查看特征变量的相关性 26
3 特征工程 33
3.1 特征工程的重要性和处理 33
3.2 数据预处理和特征处理 33
3.2.1 数据预处理 33
3.2.2 特征处理 34
3.3 特征降维 38
3.3.1 特征选择 39
3.3.2 线性降维 44
3.4 赛题特征工程 45
3.4.1 异常值分析 45
3.4.2 最大值和最小值的归一化 46
3.4.3 查看数据分布 47
3.4.4 特征相关性 48
3.4.5 特征降维 48
3.4.6 多重共线性分析 49
3.4.7 PCA处理 50
4 模型训练 52
4.1 回归及相关模型 52
4.1.1 回归的概念 52
4.1.2 回归模型训练和预测 52
4.1.3 线性回归模型 52
4.1.4 K近邻回归模型 54
4.1.5 决策树回归模型 55
4.1.6 集成学习回归模型 58
4.2 赛题模型训练 61
4.2.1 导入相关库 61
4.2.2 切分数据 62
4.2.3 多元线性回归 62
4.2.4 K近邻回归 62
4.2.5 随机森林回归 63
4.2.6 LGB模型回归 63
5 模型验证 64
5.1 模型评估的概念和方法 64
5.1.1 欠拟合与过拟合 64
5.1.2 模型的泛化与正则化 68
5.1.3 回归模型的评估指标和调用方法 70
5.1.4 交叉验证 72
5.2 模型调参 75
5.2.1 调参 75
5.2.2 网格搜索 76
5.2.3 学习曲线 77
5.2.4 验证曲线 78
5.3 赛题模型验证和调参 78
5.3.1 模型过拟合与欠拟合 78
5.3.2 模型正则化 81
5.3.3 模型交叉验证 82
5.3.4 模型超参空间及调参 85
5.3.5 学习曲线和验证曲线 89
6 特征优化 93
6.1 特征优化的方法 93
6.1.1 合成特征 93
6.1.2 特征的简单变换 93
6.1.3 用决策树创造新特征 94
6.1.4 特征组合 94
6.2 赛题特征优化 96
6.2.1 导入数据 96
6.2.2 特征构造方法 96
6.2.3 特征构造函数 96
6.2.4 特征降维处理 96
6.2.5 模型训练和评估 97
7 模型融合 100
7.1 模型优化 100
7.1.1 模型学习曲线 100
7.1.2 模型融合提升技术 100
7.1.3 预测结果融合策略 102
7.1.4 其他提升方法 105
7.2 赛题模型融合 106
7.2.1 导入工具包 106
7.2.2 获取训练数据和测试数据 106
7.2.3 模型评价函数 107
7.2.4 采用网格搜索训练模型 107
7.2.5 单一模型预测效果 109
7.2.6 模型融合Boosting方法 115
7.2.7 多模型预测Bagging方法 118
7.2.8 多模型融合Stacking方法 119
7.2.9 模型验证 127
7.2.10 使用lr_reg和lgb_reg进行融合预测 127
赛题二 天猫用户重复购买预测
1 赛题理解 130
1.1 赛题背景 130
1.2 数据介绍 131
1.3 评估指标 133
1.4 赛题分析 134
2 数据探索 137
2.1 理论知识 137
2.1.1 缺失数据处理 137
2.1.2 不均衡样本 138
2.1.3 常见的数据分布 141
2.2 赛题数据探索 144
2.2.1 导入工具包 145
2.2.2 读取数据 145
2.2.3 数据集样例查看 145
2.2.4 查看数据类型和数据大小 146
2.2.5 查看缺失值 147
2.2.6 观察数据分布 148
2.2.7 探查影响复购的各种因素 150
3 特征工程 155
3.1 特征工程介绍 155
3.1.1 特征工程的概念 155
3.1.2 特征归一化 155
3.1.3 类别型特征的转换 156
3.1.4 高维组合特征的处理 156
3.1.5 组合特征 157
3.1.6 文本表示模型 157
3.2 赛题特征工程思路 158
3.3 赛题特征工程构造 160
3.3.1 工具导入 160
3.3.2 数据读取 160
3.3.3 对数据进行内存压缩 161
3.3.4 数据处理 163
3.3.5 定义特征统计函数 164
3.3.6 提取统计特征 166
3.3.7 利用Countvector和TF-IDF提取特征 170
3.3.8 嵌入特征 170
3.3.9 Stacking分类特征 171
4 模型训练 179
4.1 分类的概念 179
4.2 分类相关模型 179
4.2.1 逻辑回归分类模型 179
4.2.2 K近邻分类模型 180
4.2.3 高斯贝叶斯分类模型 182
4.2.4 决策树分类模型 182
4.2.5 集成学习分类模型 183
5 模型验证 186
5.1 模型验证指标 186
5.1.1 准确度 186
5.1.2 查准率和查全率 188
5.1.3 F1值 189
5.1.4 分类报告 189
5.1.5 混淆矩阵 189
5.1.6 ROC 190
5.1.7 AUC曲线 190
5.2 赛题模型验证和评估 190
5.2.1 基础代码 190
5.2.2 简单验证 191
5.2.3 设置交叉验证方式 192
5.2.4 模型调参 194
5.2.5 混淆矩阵 195
5.2.6 不同的分类模型 198
5.2.7 自己封装模型 205
6 特征优化 211
6.1 特征选择技巧 211
6.2 赛题特征优化 213
6.2.1 基础代码 213
6.2.2 缺失值补全 213
6.2.3 特征选择 213
赛题三 O2O优惠券预测
1 赛题理解 222
1.1 赛题介绍 222
1.2 赛题分析 223
2 数据探索 225
2.1 理论知识 225
2.1.1 数据探索的定义 225
2.1.2 数据探索的目的 226
2.1.3 相关Python包 226
2.2 初步的数据探索 226
2.2.1 数据读取 226
2.2.2 数据查看 227
2.2.3 数据边界探索 231
2.2.4 训练集与测试集的相关性 232
2.2.5 数据统计 236
2.3 数据分布 238
2.3.1 对文本数据的数值化处理 238
2.3.2 数据分布可视化 242
3 特征工程 246
3.1 赛题特征工程思路 246
3.2 赛题特征构建 248
3.2.1 工具函数 248
3.2.2 特征群生成函数 250
3.2.3 特征集成函数 256
3.2.4 特征输出 257
3.3 对特征进行探索 260
3.3.1 特征读取函数 260
3.3.2 特征总览 261
3.3.3 查看特征的分布 262
3.3.4 特征相关性分析 265
4 模型训练 266
4.1 模型训练与评估 266
4.2 不同算法模型的性能对比 271
4.2.1 朴素贝叶斯 271
4.2.2 逻辑回归 271
4.2.3 决策树 272
4.2.4 随机森林 272
4.2.5 XGBoost 273
4.2.6 LightGBM 274
4.2.7 不同特征效果对比 274
4.3 结果输出 274
5 模型验证 276
5.1 评估指标 276
5.2 交叉验证 276
5.3 模型比较 279
5.4 验证结果可视化 282
5.5 结果分析 289
5.6 模型调参 290
5.7 实际方案 292
6 提交结果 299
6.1 整合及输出结果 299
6.2 结果提交及线上验证 302
赛题四 阿里云安全恶意程序检测
1 赛题理解 306
1.1 赛题介绍 306
1.2 赛题分析 307
2 数据探索 310
2.1 训练集数据探索 310
2.1.1 数据特征类型 310
2.1.2 数据分布 311
2.1.3 缺失值 312
2.1.4 异常值 312
2.1.5 标签分布 313
2.2 测试集数据探索 314
2.2.1 数据信息 314
2.2.2 缺失值 315
2.2.3 数据分布 315
2.2.4 异常值 315
2.3 数据集联合分析 316
2.3.1 file_id分析 316
2.3.2 API分析 317
3 特征工程与基线模型 318
3.1 特征工程概述 318
3.1.1 特征工程介绍 318
3.1.2 构造特征 318
3.1.3 特征选择 319
3.2 构造线下验证集 319
3.2.1 评估穿越 319
3.2.2 训练集和测试集的特征差异性 320
3.2.3 训练集和测试集的分布差异性 320
3.3 基线模型 320
3.3.1 数据读取 320
3.3.2 特征工程 321
3.3.3 基线构建 322
3.3.4 特征重要性分析 324
3.3.5 模型测试 325
4 高阶数据探索 326
4.1 变量分析 326
4.2 高阶数据探索实战 329
4.2.1 数据读取 329
4.2.2 多变量交叉探索 329
5 特征工程进阶与方案优化 343
5.1 pivot特征构建 343
5.1.1 pivot特征 343
5.1.2 pivot特征构建时间 343
5.1.3 pivot特征构建细节和特点 343
5.2 业务理解和结果分析 344
5.2.1 结合模型理解业务 344
5.2.2 多分类问题预测结果分析 344
5.3 特征工程进阶实践 344
5.3.1 特征工程基础部分 344
5.3.2 特征工程进阶部分 348
5.3.3 基于LightGBM的模型验证 349
5.3.4 模型结果分析 351
5.3.5 模型测试 354
6 优化技巧与解决方案升级 355
6.1 优化技巧:Python处理大数据的技巧 355
6.1.1 内存管理控制 355
6.1.2 加速数据处理的技巧 356
6.1.3 其他开源工具包 356
6.2 深度学习解决方案:TextCNN建模 358
6.2.1 问题转化 358
6.2.2 TextCNN建模 358
6.2.3 数据预处理 360
6.2.4 TextCNN网络结构 361
6.2.5 TextCNN训练和测试 362
6.2.6 结果提交 364
7 开源方案学习 365
自 序
转眼间,天池平台(简称天池)已经走过了7年。7年前,天池团队的几名创始成员还在做阿里巴巴集团的高校合作工作,为了“让全世界没有能力获取大数据的人可以公平地获取到大数据”的情怀,而走上了建设天池的道路。
这7年间,天池举办了超过 200 场来自真实业务场景的竞赛。从2014年的首场天池天猫推荐算法挑战赛到2015年的阿里巴巴集团算法黄金联赛,天池在阿里巴巴经济体内各条业务线成功地燃起了一把火,电商、金融、物流、文娱业务都相继在天池开放数据并举办算法竞赛。与此同时,高校也弥漫着浓浓的天池竞赛风,很多学生通过参加天池竞赛拿到了阿里巴巴校招的Offer。从2016年开始,天池不仅服务于阿里巴巴经济体,还将内部打磨成熟的算法竞赛模式复制给阿里云的客户,把阿里巴巴的技术和算力产品带到政府、金融、交通、物流、航空、电力、医疗等领域,让天池开发者得以直接触达不同行业。到目前为止,天池已经成为中国数据智能的第一大社区。
我们见证了大数据产业的兴起,见证了天池选手从青涩的在校大学生成长为数字时代的中坚力量,也收到了他们对比赛的感想和对天池的感谢。感恩这个时代,让我们得以在新技术的洪流中和大家携手前行,我们将竭尽所能回馈社会,帮助更多的大数据、人工智能爱好者成长。
为了满足社区开发者的学习诉求,帮助其更快地入门和成长,我们不仅把每场赛事沉淀的课题和数据集在天池永久保留和开放,还思考如何把头部玩家沉淀的珍贵解决方案和技术分享出来,让他们的经验成为某种可参考、可依循的轨迹,帮助初级开发者入门。显然,一本基于天池大数据竞赛实战经验和技术积累、从应用场景出发的算法图书是最好的输出形式,我们和天池几位老选手一拍即合,决定出版此书。
本书最大的特色在于,它是一本真正意义上的实操手册,筛选了最典型的四大场景——工业蒸汽量预测、天猫用户重复购买预测、O2O优惠券预测和阿里云安全恶意程序检测,然后按照赛题解读、数据探索、特征工程、模型训练、模型验证、特征优化、模型融合等步骤,将方案从0到1层层拆解后呈现在读者面前,并提供源码。数据集在天池永久开放,读者可以通过天池实验室的PAI DSW和天池notebook进行编码运行,天池会配置免费的计算资源,让读者真正实现边学边练。
天池将持续致力于人工智能实践型人才的培养,未来还会继续出版覆盖计算机视觉、自然语言处理等多个人工智能技术的赛事实践图书,形成系列书。感谢选手一直对天池平台的支持,感谢天池优秀选手张永亮、朱翔宇、洪鹏飞和陈宇对本书编写所做出的贡献,以及宁萌、朱启凡所做的校对和整理工作。天池已经研发上线了与图书配套的人工智能实训平台,欢迎高校、企业通过天池官网申请账号和使用。
王一婷、崔颖、王听
天池平台
人工智能是引领新一轮科技革命和产业变革的战略性技术,是推动我国科技跨越式发展、产业优化升级、生产力整体跃升的重要战略资源。人工智能的发展需要与产业紧密融合,除了基础数据和平台技术的突破创新,还需要搭好人工智能与应用场景有效衔接的桥梁。高校在人工智能人才培养的过程中,要重视人工智能技术与产业的结合,基于真实的业务数据和时间场景,通过知识深度和高度的构筑帮助学生成长,夯实基础,深化专业,复合知识,加强实践。本书以简单易懂的方式介绍了人工智能算法的实践操作,让学生在有限的时间内,能生动领会人工智能关键技术的应用,为进一步深入研究人工智能问题打下良好的基础。
——中国工程院院士,清华大学教授、清华大学信息科学技术学院院长、清华大学脑与认知科学研究院院长,中国人工智能学会理事长 戴琼海
本书是面向AI开发者的实战类技术图书,聚焦机器学习算法建模及相关技术,以四个天池经典赛题作为实战案例,内容由浅入深、层层递进,值得一读。
——浙江大学研究生院副院长、软件学院常务副院长 卜佳俊
本书以天池大赛的四个应用场景为背景,全面展示了数据特征分析、模型方法、解题思路、具体的数据处理技巧和代码等,不仅能为读者参加比赛提供参考,而且能提升读者利用机器学习解决实际问题的能力。
——北京大学信息科学技术学院计算机系教授 高军
天池大赛提供了一个“云”上的练兵场,让所有对人工智能应用感兴趣的开发者都能很容易地触达业界的实际需求和场景。基于天池的实际案例,本书向读者提供了一手的体感和经验,非常值得一读。
——阿里巴巴副总裁 贾扬清
天池大数据竞赛的参赛经历,对我个人的能力和职业发展起到了积极影响,而赛题的解决方案可以用于解决工业界的众多实际问题,相信无论在校学生还是互联网从业者,都可以从本书中获益良多。
——天池比赛冠军,快手科技技术专家 李森栋
训练数据的收集和处理能力已经成为人工智能系统设计中的必要因素,而天池大赛为广大缺乏上述能力的研究人员提供了一个很好的学习与训练平台,本书值得推荐给大家。
——清华大学计算机系教授 刘奕群
多年来,阿里云的天池大赛深受海内外热爱人工智能的学生的欢迎,大赛提供了海量的实际应用场景数据,其都是学生在校园场景中难以触及的。本书由具有丰富实战经验的大赛选手和组织者精心完成,内容翔实,我非常乐意把它推荐给人工智能爱好者和学习者。
——新加坡南洋理工大学计算机科学与工程学院院长 苗春燕
本书从赛题理解到解决方案,将整个实操过程展现得淋漓尽致,带你深入了解机器学习算法的真实应用。天池为年轻人提供了一个展示与交流的平台,期待越来越多的青年学子与天池一起成长。
——清华大学计算机系教授 唐杰
大数据驱动这一计算范式可从人机物交互所涌现的海量数据中预测人类社会的生活模式、经济形态和生产方式等,本书从算法的角度介绍了在线经济领域中从大数据到知识、从知识到决策的过程,凸显了“知其意,悟其理,守其则,践其行”的初衷。
——浙江大学人工智能研究所所长 吴飞
本书通过几个经典赛题,详细剖析了数据挖掘实战中常用的步骤和方法,为大数据参赛者铺垫了一条捷径。本书教你内练算法理论,外练代码招式,见招拆招,快速成为天池论剑中的佼佼者。
——天池比赛冠军,菜鸟网络科技有限公司高级算法工程师 姚易辰
阿里云历时七年,精心打造天池大赛平台,其有效服务于阿里经济体、阿里云客户、高校学生及社会各个行业。此书对天池大赛机器学习部分的赛题进行了全方位的系统性梳理,是一本真正意义上的实操手册。
——苏州大学计算机学院院长 张民
本书系统地介绍了天池多个机器学习比赛的全流程,不管是入门小白,还是竞赛爱好者,都能从中收获甚多。从机器学习竞赛小白,到天池比赛冠军,再到天池比赛出题人,非常感谢阿里云天池平台伴我一路成长。
——天池比赛冠军,蚂蚁金服AI图机器学习方向负责人 张志强
评论
还没有评论。