
本书基于 Python语言,实现了10个典 型的实战案例,其内容涵盖了机器学习的基础算法,主要包括统计学习基础、分类、贝叶斯网络、文本分析、 图像处理等机器学习理论。
当前,随着信息时代的快速发展,银行、投资、零售、互联网甚至传统的制造业都产生大量数据。各行各业开始逐步应用机器学习算法分析数据,以便在海量数据中总结出规律,辅助决策。这种发展趋势使得就业市场对数据科学、机器学习人才的需求不断增加,同时对人才的多元化、综合实践能力提出了要求。
随着数据分析相关行业的快速发展,数据分析在各个领域都得到了很多成功的应用,企业和政府部门都期望在各个业务方面的工作由数据分析能力强的人承担,更期望员工能够探索有效的数据分析方法,并根据实际数据场景分析结果做出决策,将分析和处理数据作为日常工作流程的一个环节,而不是将数据分析作为一项专业技能。同时,随着数据种类的繁多和数量的爆炸式增长,市场对毕业生的数据分析和处理能力提出了更高的要求,需要有数据分析技能的人才去预测行业前景,及时抓住发展机会,形成独有的竞争优势。高校的基本职能是培养人才,为了使学生更好地适应现代工作场所和终身发展,需要认真思考如何培养应用型人才,以适应当前的就业环境。机器学习相关专业以培养数据分析师、算法工程师、大数据工程师等数据分析、应用型人才为目标,这不仅要求学生理解算法本身,更需要学生具备跨学科的实践能力,将算法逻辑应用到实际生产、生活场景以解决现实问题。
企业对数据分析人才的数量和质量的高要求导致了大数据技术、人工智能人才的大缺口,而目前高校的机器学习教学偏向理论化,更多地注重算法本身,缺乏完善的实践教学体系和教学资源。学生的课堂学习只是面对多种专业理论知识的组合,缺少真实项目的实践过程,学生不能有效地将学习内容应用到实践过程中,这与应用型人才的培养目标存在一定的差距,毕业生不足以适应竞争激烈的就业市场。因此,高校需要更多地考虑就业环境与学生的真实需求,对传统的教学模式进行变革,掌握数据科学时代的新技术和新应用,在遵循教育规律的基础上,将实际项目实践与理论教学融为一体,逐步调整课程内容,培养学生自主思考与解决实际问题的能力,从而提高他们的竞争优势。
如何在教学过程中结合项目实践,已经成为各高校关注的话题。传统的机器学习教学在技能培养、数据与实际案例的选择上仍存在很大的提高空间,这与新时代机器学习人才发展的需求存在一定距离,有必要对人才培养与项目实践相结合进行探索,尝试新的满足社会发展需要的教学模式,为培养具有专业素质和创新能力的机器学习人才奠定坚实的基础。
在学生理解算法原理的基础上,可采用灵活的模块化教学方法来培养学生对实际应用场景的认知。结合案例程序展示其应用,然后结合教学进度提出一些问题,学生通过模仿实现一个类似的验证型实验项目,该项目作为实验项目的原型,学生可访问、分析其功能、代码并测试其效果。随后,以此为基础做扩展实践,学生可以模仿教师提供的案例,通过自主设计并实现一个相对完整的项目,深化并巩固所学的知识,锻炼整体考虑问题的能力,提高灵活应用知识的能力和创新能力。
由于企业面对的很多问题并不能直接交由机器处理,数据的筛选、特征提取以及算法的整合与取舍是需要技巧的。同时,企业实践项目真实灵活并且与当前研究热点紧密相关,在项目解决方案的探讨中学生会面临很多瓶颈,例如样本的不平衡、算法存在的某些缺陷等,这些瓶颈不能直接地从课堂或其他途径上获取到有效的解决方案,更多地需要学生自身总结经验,在现有的思路上进行调优,从而帮助学生掌握算法缺陷,自主发现一些原有教学中被忽略的难点。
企业实践项目不同于常规教学实验,在大多数传统教学方法中,学生按照已有步骤进行规范化的实验,往往可以获得满意的结果。本书正是基于以上的现实需求,结合作者最近几年与企业合作的实战项目,通过一定的抽象和简化,精选了十个比较实用的实训案例,可以作为高校机器学习课程的实验教材,也可以作为学习Python课程的实训教材。
学习本书之前,读者需要掌握基本的机器学习理论,附录有测试题,可以在学习前检验。
在本书的写作过程中,研究生蒲实、于召鑫和本科生高名扬在资料收集方面做了很多工作,特此表示感谢。
赵卫东
2019年6月
第1章集装箱危险品瞒报预测
1.1业务背景分析
1.2数据提取
1.3数据预处理
1.3.1数据集成
1.3.2数据清洗
1.3.3数据变换
1.3.4数据离散化
1.3.5特征重要性筛选
1.3.6数据平衡
1.4危险品瞒报预测建模
1.5模型评估
第2章保险产品推荐
2.1业务背景分析
2.2数据探索
2.3数据预处理
2.4分类模型构建
2.5平衡数据集
2.6算法调参
2.7模型比较
第3章图书类目自动标引系统
3.1业务背景分析
3.2数据提取
3.3数据预处理
3.4基于贝叶斯分类的文献标引
3.4.1增量训练
3.4.2特征降维与消歧
3.4.3权重调节
3.5性能评估与结论
3.6基于BERT算法的文献标引
3.6.1数据预处理
3.6.2构建训练集
3.6.3模型实现
第4章基于分类算法的学习失败预警
4.1业务背景分析
4.2学习失败风险预测流程
4.3数据收集
4.4数据预处理
4.4.1数据探查及特征选择
4.4.2数据集划分及不平衡样本处理
4.4.3样本生成及标准化处理
4.5随机森林算法
4.5.1网格搜索及模型训练
4.5.2结果分析与可视化
4.5.3特征重要性分析
4.5.4与其他算法比较
第5章自然语言处理技术实例
5.1业务背景分析
5.2分析框架
5.3数据收集
5.4建立模型
5.4.1文本分词
5.4.2主题词提取
5.4.3情感分析
5.4.4语义角色标记
5.4.5语言模型
5.4.6词向量模型Word2vec
第6章基于标签的信息推荐系统
6.1业务背景分析
6.2数据预处理
6.2.1现有系统现状
6.2.2数据预处理
6.3内容分析
6.4基于协同过滤推荐
6.4.1用户偏好矩阵构建
6.4.2用户相似度度量
6.5基于用户兴趣推荐
6.6“冷启动”问题与混合策略
6.6.1冷启动问题分析
6.6.2混合策略
第7章快销行业客户行为分析与流失预警
7.1业务背景分析
7.2数据预处理
7.2.1数据整理
7.2.2数据统计与探查
7.3用户行为分析
7.3.1用户流失风险评估
7.3.2流失风险预警模型集成
第8章基于深度学习的图片识别系统
8.1业务背景分析
8.2图片识别技术方案
8.3图片预处理——表格旋转
8.4图片预处理——表格提取
8.5基于PaddlePaddle框架的文本识别
8.5.1环境安装
8.5.2模型设计
8.5.3模型训练
8.5.4模型使用
8.6基于密集卷积网络的文本识别模型
8.6.1训练数据生成
8.6.2DenseNet模型训练
8.6.3文本识别模型调用
第9章超分辨率图像重建
9.1数据探索
9.2数据预处理
9.2.1图像尺寸调整
9.2.2载入数据
9.2.3图像预处理
9.2.4持久化测试数据
9.3模型设计
9.3.1残差块
9.3.2上采样 PixelShuffler
9.3.3生成器
9.3.4判别器
9.3.5损失函数与优化器定义
9.3.6训练过程
9.4实验评估
第10章人类活动识别
10.1业务背景分析
10.2数据探索
10.3数据预处理
10.4模型构建
10.5模型评估
附录机器学习复习题
参考文献
以实际应用的项目作为案例,实践性强,注重提升读者的动手操作能力,适合作为高等院校本科生、研究生机器学习、数据分析、数据挖掘等课程的实验教材
复旦大学计算机科学技术学院副教授,主要负责商务数据分析、机器学习等课程的教学。主持国家自然科学基金以及上海市浦江人才以及企业合作课题等30多项项目。出版著作以及教材《商务智能(第四版)》《机器学习案例实战》《python机器学习实战案例》等10多部。获得上海市2015年上海市科技进步二等奖。
以实际应用的项目作为综合案例,实践性强,注重提升读者的动手操作能力,适合作为高等院校本科生、研究生机器学习、数据分析、数据挖掘等课程的实验教材。