第15期 Datawhale 组队学习活动马上就要开始啦!
本次组队学习的内容为:Python编程语言、自然语言处理实践(新闻文本分类)。
大家可以根据我们的开源内容进行自学,也可以加入我们的组队学习一起来学。
- 内容设计:徐韬、马燕鹏
- 教辅人员:马燕鹏、徐韬、何煊、韩绘锦、任帅
- 学习周期:17天 2-3h/天
- 学习形式:理论学习 + 练习
- 人群定位:Python小白,对Python语言有兴趣。
- 先修内容:无
- 难度系数:低
- 了解Python的基础数据类型与运算。
- 掌握Python基础的语言结构与异常判断。
- 掌握列表、元组、字典和字符串等Python数据类型。
- 理解Python函数的概念与相关用法。
- 掌握Python类与对象用法,理解Python面向对象的特性。
- 了解Python处理文件与操作文件系统过程。
理论部分
- 了解python中基本的变量类型,运算符,及数据类型。
- 了解python的位运算。
练习部分
- 课后思考题
- leetcode练习题
理论部分
- 掌握基本的条件,循环语句的使用。
- 掌握assert断言break,continue,pass,等语句的使用。
- 熟悉推导式的用法。
练习部分
- 课后思考题
- 龟兔赛跑游戏
理论部分
- 了解可能会出现的各类异常。
- 熟练掌握
try_except_finally
结构,使用raise
语句抛出指定的异常。
练习部分
- 猜字游戏
理论部分
- 掌握列表的定义与创建。
- 熟练添加、删除和获取列表中的元素。
- 了解列表的常用操作符及其他方法。
练习部分
- 列表操作练习
- 课后思考题
- leetcode练习题
理论部分
- 掌握元组定义,熟悉创建和访问元组。
- 熟悉更新和删除元组。
- 了解元组相关的操作符和内置方法,以及解压元组。
练习部分
- 课后思考题
- 知识扩展
理论部分
- 掌握字符串的定义。
- 熟悉字符串的切片和拼接。
- 掌握字符串的常用内置方法和格式化。
练习部分
- 字符串操作练习
- 实现
isdigit
函数 - leetcode练习题
理论部分
- 掌握字典的定义,创建和访问字典。
- 熟悉字典的可变类型和不可变类型。
- 了解字典的内置方法。
练习部分
- 字典操作练习
- 编程练习
理论部分
- 掌握集合的创建与访问,熟悉集合的内置方法。
- 熟悉集合的转换,了解不可变集合。
- 熟悉针对序列的内置函数。
练习部分
- 集合操作练习
- 序列内置函数练习
理论部分
- 掌握函数的定义与调用,熟悉函数灵活的参数形态。
- 熟悉变量的作用域和递归函数。
- 熟悉匿名函数和定义与应用。
练习部分
- 课后思考题
lambda
表达式应用- 汉诺塔游戏
理论部分
- 掌握类、对象和实例对象之间的关系,熟悉类的继承与多态。
- 理解
self
的含义,熟悉类的公有和私有,了解绑定的概念和相关内置函数。 - 了解Python的魔法方法,理解Python面向对象特性的基础。
练习部分
- 课后思考题
- 编程实践
理论部分
- 了解python的模块定义,理解python的命名空间。
- 熟悉python模块的引用方法与搜索路径。
- 了解并应用datetime模块。
练习部分
- 课后思考题
- 编程实践
理论部分
- 掌握打开文件的
open
函数,熟练文件对象的操作方法与with语句使用方法。 - 掌握OS模块关于文件/目录常用的函数。
- 了解Python的序列化与反序列化,熟悉
pickle
模块。
练习部分
- 课后思考题
- 编程实践
- 菜鸟教程:https://www.runoob.com/python3/python3-tutorial.html
- 小甲鱼python基础入门:https://www.bilibili.com/video/av4050443
- 内容设计:刘羽中、张帆、陈海顺、但扬杰、王翔
- 教辅人员:周郴莲、胡明豪、朱鑫海
- 学习周期:15天 2-3h/天
- 学习形式:理论学习 + 练习
- 人群定位:有一定的Python和nlp基础,对参加天池新人赛有兴趣。
- 先修内容:Python编程语言、自然语言处理入门
- 难度系数:中
学习目标
- 理解赛题背景与赛题数据
- 完成赛题报名和数据下载,理解赛题的解题思路
本章作业
- 无
学习目标
- 学习使用
Pandas
读取赛题数据。 - 分析赛题数据的分布规律。
本章作业
- 假设字符3750,字符900和字符648是句子的标点符号,请分析赛题每篇新闻平均由多少个句子构成?
- 统计每类新闻中出现次数对多的字符。
学习目标
- 学会TF-IDF的原理和使用。
- 使用sklearn的机器学习模型完成文本分类。
本章作业
- 尝试改变TF-IDF的参数,并验证精度。
- 尝试使用其他机器学习模型,完成训练和验证。
学习目标
- 学习FastText的使用和基础原理。
- 学会使用验证集进行调参。
本章作业
- 阅读FastText的文档,尝试修改参数,得到更好的分数。
- 基于验证集的结果调整超参数,使得模型性能更优。
学习目标
- 学习Word2Vec的使用和基础原理。
- 学习使用TextCNN、TextRNN进行文本表示。
- 学习使用HAN网络结构完成文本分类。
本章作业
- 尝试通过Word2Vec训练词向量。
- 尝试使用TextCNN、TextRNN完成文本表示。
- 尝试使用HAN进行文本分类。
学习目标
- 了解Transformer的原理和基于预训练语言模型(Bert)的词表示。
- 学会Bert的使用,具体包括pretrain和finetune。
本章作业
- 完成Bert Pretrain和Finetune的过程。
- 阅读Bert官方文档,找到相关参数进行调参。