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