第25期 Datawhale 组队学习活动马上就要开始啦!
本次组队学习的内容为:
- web开发入门教程
- 数据挖掘实战(异常检测)
- 集成学习(下)
大家可以根据我们的开源内容进行自学,也可以加入我们的组队学习一起来学。
开源内容:
https://github.com/datawhalechina/whale-web
- 熟悉datawhale项目开发流程
- 掌握REST前后端分离理念及OpenAPI文档编写
- 掌握Django后端开发技术架构
- 掌握Vue前端开发
- 掌握前后台端对接
- 贡献人员:张梁、王晓亮、何锋丽、张少波、谢文昕
- 学习周期:16天
- 学习形式:自学 + 实操 + 交流
- 人群定位:有一定编程基础的同学,有实际开发经验更佳。
- 难度系数:中
- 组队、修改群昵称
- 熟悉打卡规则
- 熟悉REST风格系统
- 熟悉OpenAPI规范
- 了解Django框架
- 了解Vue.js框架
- 独立完成数据库安装
- 独立完成代码运营
- 后端代码目录结构
- 后端RESTful API URL定义
- 查看已实现的接口及内容
- 使用swagger-editor编辑接口文档并补充遗漏的接口
- 熟悉用户及权限管理需求
- 设计用户及权限管理相关RESTful API
- 补充openapi.yaml并添加用户及权限管理相关入口
- 熟悉赛事管理需求
- 设计赛事管理相关RESTful API
- 补充openapi.yaml并添加赛事管理相关入口
- 前端代码目录结构
- vue-router简介
- vuex状态管理
- 熟悉vuetify material design组件库并使用
- 基于交互图实现首页功能
- [后端]修改已有Model并添加用户属性,同步数据表
- [后端]实现对应序列化类及View
- [后端]创建URL与View的映射
- [前端]创建用户列表页及用户详情页
- [前端]创建用户列表路由及用户详情路由
- 线上环境部署及集成测试
- [后端]新建赛事相关Model并初始化数据表
- [后端]实现对应序列化类及View
- [后端]创建URL与View的映射
- [前端]创建赛事列表页及赛事编辑页面
- [前端]创建赛事列表路由及赛事编辑路由
- 线上环境部署及集成测试
开源内容:
https://github.com/datawhalechina/team-learning-data-mining/tree/master/AnomalyDetection
理解传统的异常检测方法原理,并具备基本的调用相应python库进行操作的能力。
- 贡献人员:梁家晖、李玲、李芝翔、赵可、陈信达、林星良
- 学习周期:15天,每天平均花费时间2小时-5小时不等,根据个人学习接受能力强弱有所浮动。
- 学习形式:理论+实践
- 人群定位:熟悉数据挖掘的基本方法,对学习异常检测算法有需求的学员。
- 先修内容:Python编程语言、编程实践(Numpy)、编程实践(Pandas)、编程实践(数据可视化)
- 难度系数:中
- 组队、修改群昵称
- 熟悉打卡规则。
- 了解异常检测基本概念
- 了解异常检测基本方法
- 掌握基于高斯分布的异常检测方法
- 理解非参数异常检测方法
- 掌握HBOS算法
- 理解线性回归
- 掌握主成分分析的异常检测方法
- 理解基于距离的异常检测方法
- 掌握基于密度的LOF算法
- 了解集成方法的思想
- 理解feature bagging原理
- 掌握孤立森林算法
开源内容:
https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearning
- 贡献人员:李祖贤、薛传雨、赵可、杨毅远、陈琰钰、李嘉骐
- 学习周期:15天
- 学习形式:理论学习 + 练习
- 人群定位:已完成集成学习(上)、(中)课程内容的学习,具备《高等数学》、《线性代数》、《概率论与数理统计》基础,了解机器学习经典模型的理论知识,能够调用相应模型库解决的学习者。
- 每个任务完成大概所需时间:3-5h
- 任务路线:掌握基本的模型集成方法和常见组合集成模型的理论及模型调用调参
- 难度系数:中
之前大家系统学习了机器学习的经典的算法、bagging/boosting等基本集成方法的思路、理论推导和库文件调用。本次我们将学习使用多个模型的训练结果进行最终的融合。之前的学习中我们一直使用模型库自带的小型数据来进行练习,本次在模型训练和融合全部完成后,我们还将使用两个较大的真实数据来进行完整的调参融合练习。我们从数据预处理开始,到子分类器的训练,再到集成学习,一步一步深入浅出,手把手带领大家直观感受集成学习。
本次课程是由Datawhale集成学习小组内部成员共同完成,是针对机器学习小白的一入门课程。学习本课程需要学习者具备《高等数学》、《线性代数》、《概率论与数理统计》基础,会使用常见的数据分析工具(Numpy,Pandas、matplotlib)。
本次课程内容的设计参考了B站很火的《白板推导》系列、李航老师的《统计学习方法》、机器学习入门圣经的《统计学习导论》以及大量的技术博客,详细地介绍了机器学习领域中最经典的算法并给出了相应的数学推导和代码,对于每个算法都进行了细致的分析以及必要的代码的演示,便于学习者深刻理解机器学习算法的本质。除此之外,每个算法都要求学习者自行查阅sklearn官方文档的相应参数,帮助学习者构建理论与实际相结合的学习框架。在这些案例的代码中,我们给出了详细的代码注释,尽量让学习者们不会因为看不懂代码而感到烦恼。
- 组队、修改群昵称
- 熟悉打卡规则
Blending是学习Stacking算法的基础,不知道大家小时候有没有过这种经历:老师上课提问到你,那时候你因为开小差而无法立刻得知问题的答案。就在你彷徨的时候,由于你平时人缘比较好,因此周围的同学向你伸出援手告诉了你他们脑中的正确答案,因此你对他们的答案加以总结和分析最终的得出正确答案。相信大家都有过这样的经历,这就是Blending算法的核心。
Blending在集成的过程中只会用到验证集的数据,对数据实际上是一个很大的浪费。为了解决这个问题,如果能将交叉验证的思想附加到集成算法中,将能顺利解决这个问题,Stacking算法就是这么诞生的。Stacking的思路是先使用交叉验证训练多个不同模型,然后使用Blending方法将交叉验证的结果堆叠融合,以获得更高的预测准确率。
通过前13个task的学习,我们已经掌握了集成学习的基础知识和多种基本算法,那集成学习中的算法在实践中是如何使用的呢?“幸福感预测”这一案例就是以分类为目标的集成学习。此案例是一个数据挖掘类型的比赛——幸福感预测的baseline。比赛的数据使用的是官方的《中国综合社会调查(CGSS)》文件中的调查结果中的数据,其共包含有139个维度的特征,包括个体变量(性别、年龄、地域、职业、健康、婚姻与政治面貌等等)、家庭变量(父母、配偶、子女、家庭资本等等)、社会态度(公平、信用、公共服务)等特征。
不同于task14的“幸福感预测”的分类问题,本案例中的“蒸汽量预测”是以回归为目标的集成学习。此案例的数据产生于实际的工业大数据的生产中,具有十分重要的现实意义,经脱敏后的锅炉传感器采集的数据(采集频率是分钟级别),根据锅炉的工况,预测产生的蒸汽量。与上面的案例相同,本案例展示了一个完整的集成学习解决方案供大家参考和改进。通过以上较为全面的案例分析,希望帮助大家更加直观、深入地学会使用集成学习的思想来解决自己所面对的问题。
- 注册 CSDN、Github 或 B站等账户。
- 按照任务安排进行学习,完成后写学习笔记Blog 或 进行视频直播。
- 在每次任务截止之前在群内填写问卷打卡,遇到问题在群内讨论。
- 未按时打卡的同学视为自动放弃,被抱出学习群。