1、Extract-Transform-Load的缩写,数据抽取(Extract)、转换(Transform)、装载(Load)的过程。

Extract

设计原则
        为提高ETL效率,数据在进入ETL系统后的EXF文件都将转换为Flat Text文件格式
        从ETL程序设计的灵活性和整体结构的一致性考虑,尽量采用Pull的方式,减少对源系统的影响和对其他开发队伍的依赖,并减少网络压力
        由于Batch Windows的限制,如果日源数据量大于5GB则必须考虑采用Push的方式以提高传送速度,如,可以由源系统将数据转换为Flat Text文件后,由ETL程序采用FTP的方式进行传送
        EXF的文件格式接近数据源的数据结构定义
        在Extract过程中过滤数据仓库不需要的数据记录和字段
    Push和Pull
        Push
        在源系统上根据定义的数据格式将每日增量数据生成数据文件,再通过FTP或文件拷贝的方式传送给ETL程序处理。
        Pull
        由ETL程序通过DRDA或ODBC等数据库协议直接访问源数据库获取所需数据进行处理。

Transform

EXF (Extracted Format)
由数据源Extract产生的文件,文件结构与Source相似,经过过滤,部分字段被忽略。
CIF (Common Interface Format)
CIF是ETL经过C/S/S过程产生的中间数据文件。
PLF (Pre-Load Format)
经过数据转换,用于直接加载到数据仓库的文本文件,其数据结构与数据仓库中的表定义一致。

Load

将数据缓冲区的数据直接加载到数据库对应表中,如果是全量方式则采用LOAD方式,如果是增量则根据业务规则MERGE进数据库。

2、数据科学流程EDA

探索性数据分析(Exploratory Data Analysis)

  EDA主要工作:对数据进行清洗,对数据进行描述(描述统计量,图表),查看数据的分布,比较数据之间的关系,培养对数据的直觉,对数据进行总结等。“探索性”指分析者对待解问题的理解会随着研究的深入不断变化。

基本步骤:

- A. 检查数据

- B. 使用表述统计量和图表对数据进行描述

- C. 考察变量之间的关系

- D. 检验特征分布

- E. 其他

A 检查数据

-是否有缺失值?

-是否有异样值?

-是否有重复值?

-样本是否均衡?

-是否需要抽样?

-变量是否需要转换?

-是否需要增加系的特征?

例:

数据类型:数值型(包括整数,浮点数),类别型(字符串等),文本型,时间序列等。

注:主要考虑数值型(定量数据)和类别型(定性数据);数值型又可以分为连续型和离散型。

B 数据描述

describe() 生成描述性统计数据:总结数据分布的集中趋势,分散和形状,不包括NaN值。

help(pandas.DataFrame.describe) 查看关于Pandas数据框的describe()函数的使用说明。

例:

利用描述性统计得到一个频数分布表.describe()

count 观测值的数量=shape[0]

mean 平均值

std 标准差

min 最小值

25% 1/4中位数

50% 1/2中位数

75% 3/4中位数

max 最大值

利用箱线图将频数分布表可视化:.boxplot() 

boxes = iris.boxplot(return_type='axes')

特征去重复统计:.unique()

去除一维数组或列表中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表。

C 特征相关性

共生矩阵/交叉表 crosstab() :用于统计分组频率的特殊透视表。

发现:长度,宽度与特征值的比较几乎同时发生,即要么同时大于均值,要么同时小于均值。

假设特征petal_length,petal_width相关,对其进行图像化显示

说明:

kind 种类:scatter 散点图

x X轴:petal_width

y Y轴:petal_length

c 颜色:blue

edgecolors 边缘颜色:white

结果:

补充kind:str

'line' 折线图

'bar' 条形图

'barth' 横向条形图

'hist' 柱状图

'box' 箱线图

'kde' 对柱状图形添加Kernel概率密度线

'density' same as 'kde'

'area' 不了解此图

'pie' 饼图

'scatter' 散点图,需要传入columns方向的索引

'hexbin' 不了解此图

D 特征分布

使用直方图近似表示特征的概率分布:

EDA总结:

- pandas读取数据集,显示前5行确认是否加载正确

必要时对列名重命名

- 查看数据整体情况

行列数  data.shape

数据类型  data.dtypes

同时查看这两项  data.info()

查看连续变量的描述统计量  data.describe()

- 处理缺失值,异常值,重复值问题

各列分别有多少个缺失值  data.apply(lambda x:sum(x.isnull()),axis=0)

各行分别有多少个缺失值  data.apply(lambda x:sum(x.isnull()),axis=1)

总共有多少行有缺失值  len(data.apply(lambda x:sum(x.isnull()),axis=1).nonzero()[0])

删除重复值  data.drop_duplicates(0

- 分析特征之间相关性

- 检验数据分布

如图所示为EDA的基本流程

数据加载和数据预处理:

(1)利用Pandas库进行数据加载和预处理:处理问题数据,日期格式解析,NaN值的处理,分组和聚类,排序和索引,文本数据的编码,词频统计等;

(2)利用Numpy库进行数据处理:数组的创建,矩阵运算,数组切片,堆叠等。

数据分析:

(1)数据的探索性分析;

(2)高维数据的维数约减;

(3)异常数据的检测和处理;

(4)算法验证和参数优化及特征选择。

机器学习:

(1)基本的机器学习方法;

(2)机器学习方法的组合;

(3)大数据的处理和深度学习。

数据可视化:
(1)Matplotlib画图;

(2)交互式可视化;

(3)高级数据学习表示。

玩转人工智能(11)大数据的ETL和人工智能的EDA相关推荐

  1. 【大数据AI人工智能】大数据、云计算和人工智能:未来最热门专业的要点和技能要求

    [大数据&AI人工智能]大数据.云计算和人工智能:未来最热门专业的要点和技能要求 文章目录 [大数据&AI人工智能]大数据.云计算和人工智能:未来最热门专业的要点和技能要求 I. 大数 ...

  2. a人工智能b大数据c云计算_ABC = 人工智能 + 大数据 + 云计算

    小伙伴们,ABC 又有新含义了,你造么? 它不是字母表,不是歪果仁,不是美国广播公司,也不是中国农业银行,它是继BATH.996之后新鲜出炉的又一互联网新名词!!! 它是如今互联网最炙手可热的高科技: ...

  3. 人工智能与大数据行业的兴起,主要产生了哪些新的职位?

    近年来,伴随人工智能.电子竞技等新兴产业的发展,新职业也层出不穷.既有现在流行的人工智能.大数据等技术人员:也有不常听说的农业经理人.数字化管理师等等,主要造就了以下几个新的职位: 1.人工智能工程技 ...

  4. 浅析人工智能,大数据

    人工智能发展到了什么阶段? 人工智能的发展从开始到现在,经历了三个阶段,第一个阶段我们叫做计算智能,这个阶段要解决的事情,叫做能存会算.第二个阶段是感知智能,这个阶段是能听会说,能看会认.第三个阶段往 ...

  5. 大学计算机专业毕业之后,从事人工智能或大数据,继续考研还是参加工作?

    计算机专业要比其他专业毕来的要强一点,考研了之后肯定更强,不过要看你考研,选择什么专业,毕业之后,看你是走哪个方向,软件方面少不了程序. 根据个人经验,从事人工智能或大数据行业,会好一点,因为这一行业 ...

  6. 《人工智能与大数据技术导论》适合用来深度了解AI和BD技术

    #好书推荐##好书速递##好书奇遇季#<人工智能与大数据技术导论>京东当当天猫都有发售. 本书已被几十所高等院校.研究生院选为教材,适合好学的开发人员用来深度了解AI和BD技术. 2017 ...

  7. 人工智能和大数据技术,在内容安全领域,主要的应用场景是什么?

    在中国政策下,互联网得利者如何进行内容安全管理.短信,文章,直播视频充斥着内容安全风险,提供的内容安全的核心能力,适用的核心场景,具体如下: 场景一:UGC内容智能审核 UGC内容主要分为几个场景.一 ...

  8. 人工智能、大数据​、和数据科学领域,常用的十大类算法

    AI正在改变我们的职业.我们的工作方式和我们的企业文化.AI让我们得以专注于那些真正关键的技术,让人力资源得以充分发挥他们的长处.但在工作场景中应用AI确实会让事情变得复杂,因为有各种不同层级的算法可 ...

  9. FMI2017——让人工智能与大数据为时代赋能

    2017年8月5日,由飞马网主办的"FMI人工智能&大数据高峰论坛"在北京国家会议中心召开.大会围绕着"大数据"和"人工智能"两大主 ...

最新文章

  1. Docker架构:安装与基本命令
  2. VC6.0编写BHO 提示unresolved external symbol _main
  3. Cloud for Customer里点了Opportunity ID的超链接到进入overview page,背后发生了什么事?
  4. 将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的空间。表中不允许又重复的数据
  5. Android(java)学习笔记27:TextView属性大全
  6. ubuntupython连接数据库_Ubuntu中python的mysql操作
  7. java ipmitool_ipmitool使用手册
  8. 计算机专业英语mooc,专业英语(软件)-中国大学mooc-题库零氪
  9. 如何选择数据可视化工具?
  10. Android学习小Demo(9)一个To Do List的实现
  11. c语言编程字符串_C编程中的字符串
  12. Tomcat 7 Connector 精读(2) 协议处理器 Http11Protocol(待续)
  13. android studio进行增删改查代码_使用C#进行数据库增删改查(二)
  14. UG NX 12 重复命令
  15. jupyter中subplots_adjust()调整子图大小无效、子图溢出和日期标签遮挡坐标轴刻度的问题解决
  16. 基于物联网技术的校园智慧消防管理平台-Susie 周
  17. 【高级UI】【026】手动为RecyclerView添加橡皮筋拉伸回弹效果
  18. Linux终端和Line discipline图解
  19. 【转自牛客网】C++类职位校招
  20. 喜报携手钉钉构建统一移动报销与沟通协同平台

热门文章

  1. 段里仁:十论智能交通系统在我国的发展与应用
  2. CANoe/CANalyzer中常用CAPL诊断API分类总结与TFS应用示例
  3. Panda-DEA_1.0正式发布!
  4. 施乐5065服务器显示FF,(转)施乐6550/7500/5065彩机部份代码
  5. 编程语言分类与python简介
  6. DMitry --多功能信息收集工具
  7. 普林斯顿微积分读本——第二章 三角学回顾(读书笔记)
  8. 手机室内地磁定位软件_一种基于地磁的智能手机实时定位方法与流程
  9. JAVA 导入excel文件
  10. 从小纸条到大软件:足球科技进化史(一)