EDA一般包括哪些步骤?

  统计/机器学习 描述性统计 开放问题    浏览次数:5599        分享
0

拿到数据集之后,一般第一件就是做EDA,请问大家一般自己做EDA都包括哪些步骤?

大家都用了什么样的方法?

 

robertt   2018-09-29 14:57



   3个回答 
8

我一般是这样

第一步

看数据整体信息:有多少行,有多少特征,其中有多少特征是数值的,多少是分类的


对于监督式学习

第二步

看y的分布:如果是回归,看看均值、方差,画画直方图;如果是分类,看看各类的比例,是否平衡

第三步

看特征(x):看看各个特征的含义是什么,每个特征的分布情况如何,有没有missing,有没有outlier,看看有没有信息冗余(两个特征几乎一样)

第四步

看y与x的关系:y和每一个特征的相关系数;如果分类,可以做一元逻辑回归;对于分类变量,可以看看每个分类下y的均值


对于聚类问题,就忽略第二步和第四步

SofaSofa数据科学社区DS面试题库 DS面经

木子周   2018-10-22 23:17

4

接着 @木子周 的步骤写一些我自己的经验和方法:

第三步,还可以看一下有没有单一变量或者接近单一变量的特征,然后删掉这种特征;

第四步,如果是分类模型的话,还可以看一看数据集中每个特征对应不同y值的分布是否相似,如果非常相似的话,根据这种特征可能无法很好的区分y值,也可以考虑删掉;

然后还可以看一下每个特征在训练集和测试集中的分布,如果分布差异很大,很有可能导致在训练集上得到的模型无法很好的预测测试集中的样例,这样的干扰特征应该也要删掉;

最后可以用一些基于树的不同模型,初步跑一些baseline,然后得到特征重要性,对一些重要性高的特征再做一些特征工程。


SofaSofa数据科学社区DS面试题库 DS面经

nlceyes   2018-10-23 15:01

有个问题,第四步中,比如一个x与y的相关性非常高95%,分布自然非常相似,那为什么删除x,为什么不能很好的区分y?另外,是不是只要特征的测试集处于训练集的分布中就ok了,不一定非得同分布吧? - shilongcn   2019-03-14 14:38
第一个问题,如果相关性很高的话自然不需要删除,说明这是一个很好的特征,但是对应不同y的分布很相似的话,则说明其与y的相关性应该不高,不具有辨识性,比如说对于一个判断性别的模型,身高这个特征在男和女中的分布不同,通常男性比女性高一些,那这个特征可以保留,如果类似出生年月这种特征,在男女中的分布应该非常相似,对最后的分类没有一点贡献,应该删掉。第二个问题,我觉得大部分情况还是需要同分布,当然这个要具体情况分析,举一个比较极端的例子,比如说你用基于树的模型来分类,A特征在训练集的分布是1,2,3,4,5,分裂点选了>2(+)和<=2(-),但是A在测试集中只有1,2,那你这个模型会将测试集全部判断为负例,但是根据你的经验或者其他知识,测试集中存在相当多的正例,那这种情况下就要删掉这种特征了。 - nlceyes   2019-03-18 15:20
谢谢你的回答。第一个问题:身高的分布是高斯混和分布,两个正态分布之和还是正态分布,出生年月日也是正态分布,这两个特征的两个正态分布怎么跟性别这个二分类去看分布相似性?第二个问题:如果模型分裂点的选择导致测试集失误率增高的话,我觉得这是模型的方差过大,过拟合了,需要增加数据量,或者降低模型复杂度。你怎么看呢? - shilongcn   2019-03-20 14:49
1

数据探索:数据对象和属性类型 

基本统计数据描述的典型度量:数据可视化方法,各种数据相似性,相异性的方法。


认识数据:

标称属性:标称属性的值是一些符号或事物的名称。每个值代表某种类别、编码、或状态。 

二元属性:是一种标称属性;0或1 

序列属性:其可能的值之间具有有意义的序或秩评定,但相继值之间的差是未知的。 

数值属性:可度量的定量。区间标度,比率标度。


数据的统计描述

中心趋势度量:均值、中位数、众数、中列数(最大最小值的均值) 

数据的散布:极差、四分位数等 

图形化显示:分位数图、直方图、散点图—–>数据可视化


度量数据的相似性和相异性

数据矩阵:对象-属性结构 用 ( n * p )形式的矩阵来表示n个对象,每个对象p个属性。 

相异性矩阵:对象-对象结构 存放两两对象的邻近度 n * n 

欧几里得距离、曼哈顿距离:满足非负性、同一性、对称性、三角不等式 

闵可夫斯基距离:h–>∞时的上确界距离 

余弦相似性:相当于向量的cos


数据质量分析

脏数据:缺失值、异常值、不一致的值、重复数据及含有特殊符号(如#¥*)的值。


缺失值分析

因为无法获取或遗漏等原因造成某属性值不存在,会导致在建模时丢失有用信息,空值数据也会使建模过程造成不可靠的输出。 

通过使用简单的统计分析,可以得到含有缺失值的属性的个数,以及每个属性的未缺失数、缺失数与缺失率。缺失值处理分为删除、对可能的值插补和不处理


异常值分析

重视异常值,分析其产生的原因,常常会成为发现问题进而改进决策的契机。 

1. 简单统计量分析:最大值最小值判断,是否超出合理范围。 

2. 3σ原则:异常值被定义为一组测定值中与平均值的偏差超过3倍标准差的值。距离平均值3σ之外的值概率为P(|x-u|>3σ)<=0.003 时属于极个别的小概率事件。 

3. 箱形图分析:此时异常值被定义为不在此范围 [Ql-1.5IQR ~ Qu+1.5IQR]的值。 

1. Ql为下四分位数:表示全部观察值中有四分之一的数据取值比它小; 

2. Qu为上四分位数,表示全部观察值中有四分之一的数据取值比它大; 

3. IQR称为四分位数间距,是上四分位数Qu和下四分卫数Ql之差,之间包含了全部观察值的一半。 

4. 四分位数具有一定的鲁棒性:25%的数据可以变得任意远而不会很大的扰动四分位数,所以异常值不能对这个标准施加影响。箱形图识别异常值的结果比较客观。识别异常值有优越性 

4. 一致性分析:不一致数据的产生主要发生在数据集成过程中,这可能由于被挖掘数据是来自于从不同的数据源、对于重复存放的数据未能进行一致性更新造成的。


数据特征分析

分布分析

分布分析揭示数据分布特征和分布类型。绘制频率分布表、绘制频率分布直方图、绘制茎叶图进行直观分析;对于定性分类数据,可用饼图和条形图直观的显示分布情况。


统计量分析

集中趋势度量:均值、中位数、众数

离中趋势度量:极差、标准差、变异系数、四分位数间距


相关性分析

散点图、散点图矩阵、计算相关系数


其他分析

周期性分析


参考文献

SofaSofa数据科学社区DS面试题库 DS面经

桐桐酱   2019-03-14 11:26



  相关讨论

如何向没有统计知识背景的人解释“什么是标准差”?

为什么样本方差是除以n-1

估计标准差的标准差?

Median Absolute Deviation的定义是什么?

统计里的IQR是什么意思?

统计学中的自变量和因变量分别是什么意思?

标准误和标准差有什么区别?

为什么说中位数比平均数更稳健?

python里计算百分位数

python里怎么计算两个向量的余弦相似?

  随便看看

为什么梯度的反方向是函数下降最快的方向?

二维numpy.array转为一维的numpy.array或者list

sklearn分类模型中预测结果怎么调整概率的阈值

kNN算法有哪些缺点?

怎么理解推荐系统中的NDCG?