探索性数据分析
探索性数据分析
什么是探索性数据分析
从广义上讲,探索性数据分析主要包括数据的预处理和数据的探索性分析。
其中数据的预处理是指对数据进行清洗、转化、重组和筛选。
数据的探索性分析则包括基本的五数总括、数据分布等。
简单的相关分析和方差分析等,也都属于数据的探索性分析的范畴。
数据的收集是整个数据分析项目的原点,没有收集来的数据,什么数据分析技术都是纸上谈兵。
在真实生活中收集的数据,往往是不能直接用来进行高级数据分析的,其中会包含很多残缺值和错误值
数据预处理就是要将原始数据中的残缺值和错误值——剔除,只留下有意义的数据!
简单的探索性数据分析主要用于研究数据的分布结构。研究一个数据变量的极大值、极小值、中位数各是什么,数据呈正态分布还是偏态分布是十分重要的。
回归分析就要求分析变量具有正态分布的特征!!
总的来说,数据的收集、预处理和简单分析考验数据分析师的细心、耐性和观察力。
如何收集数据
探索性数据分析展开的重要一步就是数据源的获取。
如何收集有效数据?答案就是网络爬虫——沿着网页的超链接内容逐步抓取数据分析师所需要用到的数据。
爬虫通过模拟浏览器对网页进行访问,并对感兴趣的文本标签位置进行对应解析操作,在这中间还会涉及一些模拟登录、验证码等技术的使用,将解析得到的结果返回,便是数据分析师需要的数据。这就是一个完整的爬虫过程。
数据预处理技术
数据挖掘或数据分析的一般流程是:确定目标→获取数据源→数据探索→数据预处理→挖掘分析建模→模型效果评价。
在机器学习/模式识别领域有句话很经典:“Garbage in,Garbage out.。”顾名思义,这句话的意思就是说,如果你的数据本身就是有问题的(数据特征非常不规律,缺失值很多,特征和结果联系不紧密等),那么无论什么模型都没办法化腐朽为神奇,得到一个让分析人员满意的结果。
数据预处理步骤:数据预处理技术的第一步,要衡量数据本身的质量——如收集来的数据是否完整、各类属性特征齐全与否等。接下来,就要对数据本身进行一些探索,通过使用Excel可视化工具、R中的ggplot2、Python中的Matplotlib、Seaborn等一系列可视化工具,对数据结构进行直观展示(分位数图、散点图等)。与此同时,也可以分析特征或者数据之间的相似/相异性,认识数据的数值、序列等本质属性,并用均值、中位数、众数等基本统计指标将数据刻画出来。
组织数据集方法:对特征进行检查,将非结构化数据转换为结构化数据;基于现有数据引入或构建新的特征;对多个小数据进行合并和去重;从大数据集中抽样出一些中小型数据集等。
数据清洗是数据预处理中最关键的一步,也是前处理阶段中应用复杂算法最多的地方,它的主要作用是填充空缺值、平滑噪点并识别显著离群点(outlier)进行后序处理。
数据规约——它是数据预处理技术中用于降低数据量、提取核心信息的方法,主要体现在3个方面:(1)属性(特征)维度的规约。即删除不相关/不重要的属性来减少数据量,通常的方法是子集选择和树形合并,即通过决策树归纳、前向选择、向后删除等完成集合筛选。(2)数据压缩。小波变换是数据压缩领域的典型算法,对于有稀疏、倾斜等情况出现的数据集,基于小波变换的有损压缩方法往往可以得到很好的结果。除了小波变换,主成分分析方法(PCA)将原有的多维特征根据重要性排序,只提取重点关注的特征,它和它的扩展算法在实际中应用非常广泛。(3)数值规约。数值规约的概念就比较广了,小到将整型数据属性类型从long变为int,大到使用对数线性模型等方法将数据划分为多维空间并进行相应规约。它们都属于数值规约的部分。

浙公网安备 33010602011771号