Skip to content

Latest commit

 

History

History
483 lines (307 loc) · 14.4 KB

第12期组队学习计划.md

File metadata and controls

483 lines (307 loc) · 14.4 KB

Datawhale 组队学习

Datawhale联合人民邮电出版社异步社区,共同发起第12期组队学习计划马上就要开始啦!

本次组队学习的内容为:

大家可以根据我们的开源内容进行自学,也可以加入我们的组队学习一起来学。


编程实践 Pandas (上)

开源内容:https://github.com/datawhalechina/joyful-pandas

基本信息

  • 贡献人员:耿远昊、谢文睿
  • 学习周期:11天,每天平均花费时间2小时-5小时不等,根据个人学习接受能力强弱有所浮动。
  • 学习形式:理论学习 + 练习
  • 人群定位:有Python语言编程基础,对学习数据分析有需求的学员。
  • 先修内容:Python编程语言
  • 难度系数:中

任务安排

Task01:Pandas基础(1天)

理论部分

  • 掌握常见文件格式的读写操作
  • 理解并熟悉 Series 和 DataFrame 的重要属性和重要方法
  • 掌握各类排序(索引排序和值排序、单级排序和多级排序)

练习部分

  • 《权利的游戏》剧本数据集分析
  • 科比投篮数据集分析

Task02:索引(3天)

理论部分

  • 熟练掌握多种单层索引方式及其异同
  • 掌握和理解多级索引操作
  • 熟悉常用索引设定方法及其区别
  • 掌握索引函数、去重函数和抽样函数

练习部分

  • UFO数据集分析
  • 口袋妖怪数据集分析

Task03:分组(2天)

理论部分

  • 理解SAC过程和groupby机制
  • 掌握分组三大操作:聚合、过滤和变换
  • 熟悉 apply 函数用法

练习部分

  • 钻石数据集分析
  • 非法药物数据集分析

Task04:变形(2天)

理论部分

  • 熟悉3个透视函数的区别与用法
  • 理解stack和unstack状态
  • 掌握变形函数的各类使用场合
  • 了解哑变量和因子化的用法

练习部分

  • 非法药物数据集的变形操作
  • 某国地震数据集的变形操作

Task05:合并(2天)

理论部分

  • 掌握Series和DataFrame的4组常用合并函数
  • 了解合并函数的适用场合/区别
  • 理解inner、outer、left、right连接的区别
  • 各类排序

练习部分

  • 某公司员工数据集的合并操作
  • 某校课程表数据集的合并操作

Task06:综合练习(1天)

  • 四道综合练习题

延伸阅读


机器学习算法基础(下)

开源内容:https://github.com/datawhalechina/team-learning-data-mining/tree/master/MachineLearningFundamentals

基本信息

  • 贡献人员:赵楠、杨开漠、谢文昕、张雨
  • 学习周期:10天,每天平均花费时间2小时-5小时不等,根据个人学习接受能力强弱有所浮动。
  • 学习形式:理论学习 + 练习
  • 人群定位:有概率论、矩阵运算、微积分、最优化理论等基础数学知识。
  • 先修内容:概率统计
  • 难度系数:中

任务安排

Task01:线性回归(2天)

理论部分

  • 模型建立:线性回归原理、线性回归模型
  • 学习策略:线性回归损失函数、代价函数、目标函数
  • 算法求解:梯度下降法、牛顿法、拟牛顿法等
  • 线性回归的评估指标
  • sklearn参数详解

练习部分

  • 基于线性回归的房价预测问题
  • 利用sklearn解决回归问题
  • sklearn.linear_model.LinearRegression

Task02:朴素贝叶斯(2天)

理论部分

  • 相关概念
    • 生成模型
    • 判别模型
  • 朴素贝叶斯基本原理
    • 条件概率公式
    • 乘法公式
    • 全概率公式
    • 贝叶斯定理
    • 特征条件独立假设
    • 后验概率最大化
    • 拉普拉斯平滑
  • 朴素贝叶斯的三种形式
    • 高斯型
    • 多项式型
    • 伯努利型
  • 极值问题情况下的每个类的分类概率
  • 下溢问题如何解决
  • 零概率问题如何解决
  • sklearn参数详解

练习部分

  • 利用sklearn解决聚类问题。
  • sklearn.naive_bayes.GaussianNB

Task03:EM算法(2天)

理论部分

  • 相关概念
    • 极大似然估计法
    • 贝叶斯估计方法
  • EM基本原理
    • E步
    • M步
    • 推导、证明
    • 高斯混合分布

练习部分

  • 算法实现

Task04:条件随机场(2天)

理论部分

  • 前提:相关概念
    • 马尔可夫过程
    • 隐马尔科夫算法
  • 条件随机场
    • 转移特征和状态特征
    • 矩阵形式
  • 条件随机场三问题
    • 计算问题
    • 学习问题
    • 预测问题

练习部分

  • 利用高维特比算法计算给定输入序列对应的最优输出序列

Task05:SVM(2天)

理论部分

  • 概念:最大超平面
  • 数学知识:拉格朗日乘子
  • SVM 硬间隔优化公式
  • SVM 软间隔原理
  • 核函数

选修 : SMO 求解SVM

练习部分

  • 算法实现

延伸阅读


计算机视觉基础:图像处理(上)

开源内容:https://github.com/datawhalechina/team-learning-cv/tree/master/ImageProcessingFundamentals

基本信息

  • 贡献人员:王程伟、任乔牧、张强、李芝翔
  • 学习周期:12天,每天平均花费时间2小时-5小时不等,根据个人学习接受能力强弱有所浮动。
  • 学习形式:理论学习 + 练习
  • 人群定位:具备一定编程基础,了解OpenCV,有学习和梳理图像处理算法的需求。
  • 先修内容:无
  • 难度系数:中

任务安排

Task01:OpenCV框架、图像插值算法—图像缩放(2天)

理论部分

  • 了解OpenCV的框架组成
  • 掌握基本的图像插值算法
    • 最近邻插值算法:掌握OpenCV的API、理解算法原理
    • 双线性插值算法:掌握OpenCV的API、理解算法原理

练习部分

  • 调用OpenCV插值算法的API,使用不同的插值算法完成图像的缩放
  • 不调用OpenCV插值算法的API,基于OpenCV自己实现两种插值算法并完成图像的缩放(可选)

Task02:几何变换(2天)

理论部分

  • 掌握图像几何变换(平移、旋转)的原理

练习部分

  • 利用OpenCV实现图像的几何变换(平移、旋转)
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)

Task03:彩色空间互转(2天)

理论部分

  • 掌握RGB与灰度图互转的原理
  • 掌握RGB与HSV空间互转的原理

练习部分

  • 利用OpenCV实现图像的RGB与灰度图互转
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)
  • 利用OpenCV实现图像的RGB与HSV空间互转
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)

Task04:图像滤波(2天)

理论部分

  • 掌握均值滤波和方框滤波的原理
  • 掌握高斯滤波的原理

练习部分

  • 利用OpenCV对图像进行均值滤波和方框滤波
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)
  • 利用OpenCV对图像进行高斯滤波
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现 (可选)
  • 分析和理解不同滤波算法的适用场合和性能

Task05:图像分割/二值化(2天)

理论部分

  • 掌握大津法(最大类间方差法)的原理
  • 掌握自适应阈值分割法(adaptiveThreshold)的原理

练习部分

  • 利用OpenCV实现大津法(最大类间方差法),对图像进行阈值分割
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)
  • 利用OpenCV实现自适应阈值分割法,对图像进行阈值分割
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)

Task06:边缘检测(2天)

理论部分

  • 掌握Sobel边缘检测的原理
  • 掌握Canny边缘检测的原理

练习部分

  • 利用OpenCV实现Sobel边缘检测
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)
  • 利用OpenCV实现Canny边缘检测
    • 调用OpenCV对应的API
    • 不调用OpenCV对应的API,利用OpenCV自己实现(可选)
  • 分析和理解不同边缘检测算法的适用场合和性能

Task07:兴趣扩展项目(可选)

参考资料

延伸阅读


编程实践(Python 爬虫)

开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/WebSpider

基本信息

  • 贡献人员:艾春辉、陈信达、叶梁、杨石雄
  • 学习周期:8天,每天平均花费时间2小时-5小时不等,根据个人学习接受能力强弱有所浮动。
  • 学习形式:理论学习 + 练习
  • 人群定位:有python语言编程基础,对学习爬虫技术有需求的学员。
  • 先修内容:Python编程语言
  • 难度系数:简单

目标设计

  • 知识目标:
    • 了解http基础,html基础,尝试使用request-get爬取豆瓣电影信息,了解api的使用,拔高部分:了解js
    • 了解bs4库的使用,xpath,正则表达式并实现案例
    • 了解session和cookie,ip代理知识,selenium的使用,拔高:实现丁香园的模拟登录爬取留言板
    • 大作业:腾讯新闻爬取; 拔高:知乎爬虫
  • 其他目标:希望给数据分析留下一个好的数据收集基础

任务安排

  • task00:需要自己安装有关环境,学习git(b站),下载有关driver。
  • Task01:html等有关知识,api使用,request-get使用 拔高部分:js(2天)
  • Task02:bs4、xpath和正则表达式(2天)
  • Task03:session和cookie、代理、selenium自动化 拔高:丁香园留言板爬取(2天)
  • Task04:大作业:腾讯新闻爬取; 拔高:知乎爬虫(2天)

参考资料

延伸阅读


具体规则

  • 注册 CSDN 或 Github 账户。
  • 按照任务安排进行学习,完成后写学习笔记Blog。
  • 在每次任务截止之前在群内填写问卷打卡,遇到问题在群内讨论。
  • 未按时打卡的同学视为自动放弃,被抱出学习群。

备注

有关Datawhale组队学习的开源内容如下:


本次组队学习的 PDF 文档可到Datawhale的知识星球下载:

Datawhale


Datawhale