前言
因身边的小伙伴,大多为数据分析师,平时涉及大量的网站内容提取,数据库操作,Excel/ CSV数据统计与分析,甚至涉及自然语言处理相关的方方面面工作。
有句话是这样说的,人生苦短,我用python。
是的,Python就是这样一种胶水语言,可以使用极其干练的方式,实现其他语言需要花费很大功力才能完成的事情。
前有爬虫应用,现在有火爆的各种机器学习相关的框架或组件,更是进一步带动Python学习与应用的热潮。
从趋势图来看,Python流行度增长非常迅速,完全无法抑制。
写此Python课件的原因,也是2018年一些小伙伴表示非常希望加入python的阵营中,一切为了提升工作效率。
好吧,为了部落,就尝试每周挑一个晚上,与数据分析师小伙伴们交流两个小时,不知不觉已经半年多了,而且现在已经进行到第二轮了。
第一轮重点讲解Python的基础应用,顺带一些机器学习相关内容,课件相对内容没那么丰富,甚至都没有专门的内容描述如何安装,不清楚是否有小伙伴,在安装这个环节就产生了从入门到放弃的念头,所以第二轮,加入了Python环境的配置部分,随着机器学习新鲜组件越来越多,所以也丰富了这一块的内容。
如何获取课件
下面开始正题。
课件当然是存放在全球最大的同性交友网站,GitHub了,链接位于:
Python Training
目前相关的章节已经一个屏幕装不下了。。。
首先本地安装Git,Python3.x版本,Jupyter Notebook,就可以通过如下方式获取课件:
- 通过控制台工具,切换到需要下载课件的目录,如D:/GitHub
- 通过git clone命令下载:
git clone https://github.com/heblade/pythontraining.git
然后切换到pythontraining目录,通过jupyter notebook
命令,即可浏览课件。
课件内容
Python的内容以及对应的文件列表大致分为:
1. 环境安装与配置
目的是使得大家学会配置、安装Python,以及安装相关的组件包。
此外还有python项目的推荐目录结构设置,python3.x的新特性等等。
文件列表
共计4个notebook文件
00.1 GIT and PyCharm Introduction.ipynb
00.2 project structure Recommendation.ipynb
00.newfeatureforpython3.x.ipynb
01.basesyntax.ipynb
2. Python基础
Python的基础内容,包括基本数据类型,异常,注释,操作运算符,条件控制,循环,迭代器与生成器,函数,模块,输入与输出,面向对象。
示例图片:
文件列表
共计10个notebook文件
- basic data type.ipynb
- comment and exception.ipynb
- operator.ipynb
- condition control.ipynb
- circle statement.ipynb
- iterandgenerator.ipynb
- function.ipynb
- module.ipynb
- input and output.ipynb
- object-oriented (class).ipynb
3. 正则表达式
正则表达式几乎是爬虫以及文本数据分析的基础,为此做了3个notebook,分别为:
-
正则表达式通用篇
-
正则表达式在Python中的应用
-
正则表达式样例解析
文件列表
- regex.ipynb
- regex (for python).ipynb
- regex samples.ipynb
4. 爬虫基础
作为数据分析的数据逐步,爬虫当然是重头戏。
为此做了4个notebook,分别为:
HTML介绍
通过xpath解析HTML
通过Requests + Beautiful Soup 4解析HTML
自动化Web测试或数据爬取工具: Selemium介绍
文件列表
- HTML Introduction.ipynb
- Parse HTML by XPATH.ipynb
- Parse HTML by Beautiful Soup 4.ipynb
18.1 Web Crawler - Selenium入门及使用.ipynb
5. 数据分析工具:Numpy与Pandas
作为数据分析师,首选利器当是Numpy,此外还有被称为后台Excel服务的Pandas
5.1 Numpy
Numpy因为特别重要,所以花了三章介绍,分别为:
-
Numpy入门及实践
-
Numpy中重要的函数
-
Numpy实用70例
5.2 Pandas
不夸张的说,Pandas现在是我平时工作中,最重要的数据统计分析利器,而且基于Pandas的组件:Tushare还能帮我买股票。。。
用两章笔记介绍,分别为:
-
Pandas入门及实践
-
Pandas实用75例
节选截图,加入了很多实用的统计分析技巧,比如归一化,求特征间相关性等
文件列表
- Data Operation Package_Numpy.ipynb
20.1 Data Operation Package_Numpy_Vital Functions.ipynb
20.2 Data Operation Package_Numpy_Samples.ipynb - Data Mining Package_Pandas.ipynb
21.1 Data Mining Package_Pandas_Samples.ipynb
机器学习章节
因为现在机器学习非常火爆,所以尝试力所能及,基于落地工程实践为出发点,对机器学习相关知识,用了很多章节从各个方面进行介绍。
6. 机器学习基础
现在很多analyst其实都有通过机器学习,对数据分类或聚类的需求。
事实上,机器学习或多或少与统计学,概率论有密切关系。
机器学习基础方面,我用了两章来介绍。
-
机器学习入门与简介
-
通过鸢尾花数据,开始机器学习的hello world之旅
文件列表
- Machine Learning Basic Introduction.ipynb
22.1 Hello World_Machine Learning.ipynb
7. 机器学习之自然语言处理介绍
其实自然语言处理一旦涉及词向量,或者文本分类,就与深度学习神经网络分不开,但因为自然语言处理,在我们平时工作比重非常大,所以先拎出来说。
用了两章描述自然语言处理。
-
自然语言处理介绍及实践
这是一篇倾注心血的笔记,从目录可见一斑。
包括了数据清洗,建模,以及常用自然语言处理包的介绍。
-
Flair (PyTorch构建的NLP开发包)
如果听说过Transfer学习,即迁移学习的话,Flair的最大特性就是基于预训练模型做迁移学习,除了常用的Word2Vec, GloVe,甚至支持Bert以及Elmo的预训练模型。
文件列表
- NLP Introduction.ipynb
23.1 Flair NLP Package on PyTorch.ipynb
8. 机器学习之神经网络介绍
这个话题非常大。
索性从感知机开始说起,介绍了神经网络中的超参数,比如激活函数,优化函数,损失函数等。
并且加入了图像分类的CNN卷积网络,以及文本分类的RNN网络的代码示例。
之后会继续改进或增强这一章的内容,以下是内容截图:
PyTorch介绍
去年GitHub上增长最快的项目之一就是PyTorch,鉴于很多重量级组件,如Flair,AllenNLP,PyText都源自PyTorch,这就不得不聊聊它了。
基于PyTorch实现Fashion MNIST分类
写完PyTorch的介绍还是不过瘾,干脆追加一篇通过PyTorch对Fashion MNIST实现经典的LeNet CNN建模
Transformer实践
首先不要把Transformer与Transfer搞混了。这个是介绍课件列表的文章,它们之间区别请自行谷歌,哈哈哈
最近Transformer特别火,所以此文的目的是实现将各种日期格式,通过自注意力机制,“翻译”为标准的年月日格式。
这个其实属于机器翻译的应用范畴。
截图如下:
文件列表
- Neural Network Introduction.ipynb
24.0.1 PyTorch Basic.ipynb
24.1 Pytorch Practice_Fashion MNIST.ipynb
24.2 Transformer Practice_Attention is All You Need.ipynb
9. 未完成的课件们
此外还有两个课件在陆续补充
9.1 好玩的Python组件
9.2 量化投资专题
这个课题太大了,还没想好怎么写,先留个白。
目前课件初始内容如下:
文件列表
- Interesting Python Libiraries.ipynb
- 量化投资相关内容.ipynb
就先这么多