目标
了解,验证数据集
了解变量关系,与预测值之间关系
数据处理、特征工程
数据探索性分析
EDA探索性数据分析
通过EDA可实现:
1. 得到数据的直观表现
2. 发现潜在的结构
3. 提取重要的变量
4. 处理异常值
5. 检验统计假设
6. 建立初步模型
7. 决定最优因子的设置
数据类型
数据一般按类型分为两种:离散型和连续型;
离散型的数据相当于分类型数据,如性别、种族、教育程度等。其中,有些类别是没有顺序的,如性别;有些类别则是有顺序的,如教育程度。这两种情况分别称为名义变量和有序变量。
对于连续型变量,一般是在值域里面连续取值,这种变量一般是有序的。
统计量
中位数、方差、 内距(Q3−Q1Q3−Q1)
箱线图和直方图
一般步骤
1.拿到数据后,用来探索的方法分为两类,一是基于图像的,二是基于定量方法的。
常见问题:
- 一般统计量:均值,中位数,方差,分布,分位数,
- 工程修改是否 产生作用:变量变换、缺失值处理
- 自变量是否对结果有影响
- 响应变量和自变量之间的最佳函数
- 时间相关数据能否信噪分离
- 多维变量提取结构?
- 离群值?
知识树:
实战案例
目标名称:水的供应和用水是否与人均国内生产总值有关?(提出假设)
数据源:http://www.fao.org/nr/water/aquastat/data/query/index.html下图数据源界面(如果您经常做学术研究,例如OECD等数据都是这样的。)
数据源简单介绍:
网站:http://www.fao.org/nr/water/aquastat/metadata/index.stm
组织的三个主要目标是:
1.消除饥饿、粮食不安全和营养不良
2.消除贫困促进经济社会进步
3.自然资源的可持续管理和利用,包括土地、水、空气、气候和遗传资源,以造福今世后代。
为支持这些目标,《宪法》第1条要求粮农组织“收集、分析、解释和传播与营养、粮食和农业有关的信息”。因此,水温自动调节器开始,其目的是通过收集有助于联合国粮农组织的目标,与水资源相关的信息传播分析,用水和农业用水管理,对国家重点在非洲,亚洲,美国,拉丁美洲,加勒比海。
联合国粮农组织提供数据,元数据,报告国家概况,河流域概况,分析区域,图,表空间,数据,指导方针,和其他的在线工具:
1、水资源:内部、跨界、总
2、水的用途:按部门,按来源,废水
3、灌溉:地点、面积、类型、技术、作物
4、水坝:位置,高度,容量,表面积
5、与水有关的机构、政策和立法
项目软件:软件python 3.6展示的软件Anaconda里面的jupster notebook,运行环境Window7,使用电脑Thinkpad T450。
项目计划:
通过对数据有简单的预估,这个时候,由于自己的电脑内存比较小,跑上十万以后的数据都会有明显的卡顿,为此采取了一个特殊的策略—使用Tidy Data进行试验。Tidy Data大家可能不熟悉,我直接也给大家上了干货。TidyData的官方解读:https://tomaugspurger.github.io/modern-5-tidy.html直接连接可以查看如何使用小批量的数据进行实验。
本实验的目标为三点:每个变量形成一个列,每个观测值形成一行,不同类型的观测单元组成一个表格。
数据转换:
1、取对数log:当数据的峰值很高,通过将数据取对数能够将数据归一化处理。
2、连续变量分组(bin):分组连续变量,能够更加简便的了解观测值的分布。
3、简化类别:一个单一的数据,往往类别太多会让人迷乱,一般不想超过8-10列,那就尽量找到重要的类别。(机器学习里面这一个部分很重要,和特征选择一样)
项目开始:
第一步,不可或缺的导入五大包:NumPy、Pandas、Matplotlib、Seaborn,Warnings大家对这四个包不熟悉的可以百度官方网站,有专门的材料。特别主要的就是Seaborn,这个库目前可视化的能力已经超过之前对Python的理解,有很多人说R可视化效果很好,但是我觉得这个可视化一点都不差。%matplotlib inline很多人不懂为什么会加上这个意思,这就是在jupter画图的时候,能够将可视化的图能够在结果中展现出来,我试过很多时候忘记加,结果图就只出现一行字。所以需要加上这个。
第二步,导入数据
由于数据是压缩包的形式,我们平时一般的是CSV,TXT的格式,那我们可以试一试压缩包的读取方式。对数据进行基本的了解,Pandas为我们提供了很多可以简便查看和检查数据的方法。data.info(),data.shape,data.head(),data.tail()。
结果展示:
之后的四步,见下一篇博文。