数据处理与机器学习
简介
- 学习掌握使用
Python
编程语言来开展数据分析全流程,包含数据抓取、数据清洗、数据统计、机器学习、数据可视化等步骤。 - 学习了解大数据、深度学习、自然语言处理等数据分析相关前沿技术。
- 通过理论实践结合,掌握利用Python来解决日常工作中数据分析类问题的基本方法。
数据分析:探索、清洗、转换和建模
机器学习:数据分析的一种方法
章节
1、Python编程基础、科学计算基础库Numpy
Python语言编程基础大概浏览
Python语言:基础+很多的功能库(Numpy,Scipy library,Matplotlib,IPython,Sympy,pandas)
Python语言的基础知识直接根据官方文档进行学习即可,注意与我们学习的Java和C语言中细节区别。
python数据分析的流程:
- Jupyter Notebook 的基本使用
- 注释
当把块级的注释放在代码文件的最后位置时,会被解释了字符串,所以注意该类型注释的位置即可。
‘’’
我是上边提到的块级注释(多行注释)
‘’‘
- 复杂的数学运算
- 数据;数据类型(整型,浮点型,布尔型,字符串)
- 处理文本类型(字符串)
- 读取位置 str[star : end : step]
- 截取、搜索、格式化等操作
- 处理布尔型数据
- 条件判断语句
- 管理一组数据(List)其他语言中也常用的一种管理数据的数据结构,
- 区别于其他语言,在Python语言中,什么样类型的数据都能同时放在同一个List中,例如
list = [1,'string',3.56]
该语法是正确的。
- 区别于其他语言,在Python语言中,什么样类型的数据都能同时放在同一个List中,例如
- 其他管理一组序列数据的数据类型:元组 用
()
包起来的数据,集合 用{}
包起来的数据,字典用{key:value]
格式包装的数据- 针对一组数据就引出了 Python语言中的
循环语句
- 针对一组数据就引出了 Python语言中的
- 函数 function
- 文件的读写
在一般情况下,预处理数据就是处理空值,异常值,脏数据。例如待处理的数据中有空值,那么为了不影响统计结果,我们一般可以考虑将空值设为该属性下的平均值。
Numpy-科学计算基础库(ndarray+ufunc)
Numpy支持大量的维度数组与矩阵运算
Numpy引入了新的数据结构ndarray
多维数组的数据结构,并且提供了很多配套的函数(ufunc),用到的时候,去查询API即可。
2、数据处理与统计分析Pandas、可视化Matplotlib
数据处理与统计分析Pandas
在pandas之前,Python主要用于
数据迁移和准备
。它对数据分析的贡献很小。Pandas解决了这个问题,使用pandas可以完成数据处理和分析的五个典型步骤,而不管数据的来源-加载、准备、操作、模型和分析
Pandas是通过代码来实现Excel和数据可的基本功能,并提供了更丰富的分析函数。
Python Pandas用于广泛的领域,包括金融,经济,统计,分析等学术和商业领域。
和Numpy一样,Pandas也引入了新的数据结构(series、dataFrame)
series:带索引的一维数组
dataFrame:由索引相同的series
构成的二维数据结构。
数据选择(数据切片):.at、.iat、.loc、.iloc
,其中,.loc iloc
是我们常用的。该处理分为两个类型,按照标签来取值和按照位置来取值,其中按照标签来取值就是两头都包含,两头都是闭,按照位置来取值就是后面不包含前闭后开。
- 过滤数据 [过滤条件] 或者 isin
- 删除数据
- 修改数据
- 处理缺失数据:删除缺失数据 dropna;填充缺失数据 fillna
对数据进行统计
- 直方图
- 数据的合并:concat(数据拼接),merge(数据关联)。其中对于数据关联merge的操作的解释:学校开设了7节课,每个同学选6节课,但是我们想汇总所有学生7节课的成绩,用这个merge的方式。
- 分组求合
- 时间序列:数据是按天生成的,还是按小时生成的需要记录一下,还可以进行重采样(每5秒有多少人访问我的网站)
- 绘图 如果表示,一般也是用
Matplotlib
- 数据获取与导出
特征处理,对部分特征进行分组,以one-hot
的编码形式
特征共线性处理:发现相关性(协方差举证中的相关性)强的(相关性大于0.75),选择其中一个特征进行删除。
Matplotlib
import matplotlib.pyplot as plt # 使用包之前先导入包
%matplotlib inline # 这是在`Jupyter Note`中添加的,功能是为了在 Notebook中直接显示所画的图
一般来说,不必要记住所有的API,想画什么图在官方文档找个类似的,用在自己的数据上就可以了、
Pandas主要功能小结:
- 高效快速的DataFrame对象,具有默认和自定义的索引。
- 将数据从不同文件格式加载到内存中的数据对象的工具。
- 丢失数据的数据对其和综合处理
- 重组和摆动日期集
- 基于标签的切片,索引和数据集的子集
- 可以删除或插入来自数据结构的列
- 按数据分组进行聚合和转换
- 高性能合并和数据加入
- 时间序列功能
3、网络数据爬虫及信息抽取(request\BeautifluSoup)
简单的梳理一下,先看看自己想要爬取的的数据是什么样子的,之后设置一个请求,通过BeautifulSoup
对我们想要的数据进行解析,最后存起来。网站有动态h和静态,可以使用一个测试的工具来动态的获取我们想要的信息。大致步骤是这样,具体问题具体分析。这一步就是帮我们找数据的。
4、机器学习与数据挖掘分析(Scikit-learn)
用Scikit-learn做机器学习是容易的,所以需要我们对原理有清楚的认知
机器学习的框架
Sklearn 特征选择,特征选择方法关注两个点,1、关注特征数量的减少 2、关注最终选择的特征与预测值的相关性
讲解模型
1、支持向量机(SVM) 要点1:支持向量的选择,支持向量是什么?要点2:将低维空间扩展到高维空间(解决难以分割的相关问题)如利用SVM的核函数(径向基函数 rbf等)
2、 随机森林
- 决策树(容易受数据分布的影响)
- 随机森林:解决决策树的问题,本质上是集成学习,随机生成多个决策树联合它的效果。
5、深度学习
6、自然语言分析处理