本文投稿自公众号:数据分析成长手册
通常在拿到一份数据进行相关的模型训练之前,我们需要进行数据清洗以便得到干净的数据。进一步需要找到与问题有关的特征信息,并把这些特征转换成特征矩阵的数值,这也就是机器学习实践中的重要步骤之一,特征工程。本系列文章将从数据特征的分布分析、对比分析、统计分析、贡献度分析(帕累托分析)、和特征的相关性分析来识别数据集整体上的一些重要性质。
本文目录
01 特征分布分析
02 特征对比分析
03 特征统计分析
04 特征贡献度分析
05 特征相关性分析
01
分布分析
理论介绍:分布分析是用来解释数据的分布类型和分布特征,显示其分布情况。所以可以对一开始拿到数据可以首先进行初步的分布分析。分布分析主要分成两种:①对定量的数据进行分布分析②对定性的数据进行分布分析。
Python分析结果:
比如现在你爬取到某地区的二手房信息数据,针对这一批数据的房价你要做一次定量分布分析,以及对不同房子的朝向做一个定性的分布分析,以便初步的了解房子的一些特征分布。
1.首先利用pandas读取数据并取前五条数据得到如下信息。
2.求参考总价的分组区间并在原始数据中添加一个新的字段“参考总价分组区间”。
3.计算每段参考总价的区间的频数、频率并绘制直方图。
02
对比分析
理论介绍:对比分析是指把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小、水平的高低、速度的快慢,以及各种关系是否协调。特别适用于指标间的横纵向比较、时间序列的比较分析。在对比分析中,选择合适的对比标准是十分关键的步骤,选择合适,才能做出客观的评价,选择不合适,评价可能得出错误的结论。
对比分析主要分为以下两种形式:
Python分析结果:
绝对数比较案例:比如现在有某公司的A、B产品某月销量数据,这里我们可以对A、B产品的销量做绝对数对比。
相对数比较案例:
03
统计分析
理论介绍:对一组数据用统计指标定量的分析数据,一般从集中趋势和离中趋势两个方面来衡量数据。
Python结果分析:
对某一组数据分析其集中趋势结果:
对某一组数据分析其离中趋势结果:
你要比较A、B数据的分散程度,可求得其分位差和其他指标。你可以绘制箱型图对比。
04
帕累托分析
理论介绍:帕累托分析又叫贡献度分析,原理是20/80定律,即80%的利润常常来自于20%的产品。一般来说投入产出,努力和报酬之间并不是绝对的线性关系,总有一些关键因素起着至关重要的作用,而帕累托分析就是找到影响事务的关键因素,分清主次。
Python代码结果分析:
例如现在你有一份餐厅的不同菜品的盈利数据,你想找到哪些菜对该菜厅的盈利贡献最大。可按照如下步骤来实现贡献度分析:
05
相关性分析
理论介绍:相关性分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法。例如,人的身高和体重之间;空气中的相对湿度与降雨量之间的相关关系都是相关分析研究的问题。相关分析与回归分析之间的区别:回归分析侧重于研究随机变量间的依赖关系,以便用一个变量去预测另一个变量;相关分析侧重于发现随机变量间的种种相关特性。可用相关系数r来衡量两个特征之间的相关性。
相关系数r的解读:
关于相关系数的计算有三种:
注意点:皮尔逊相关系数的计算是数据分布为正太分布,所以计算之前要先进行正态性检验。对于不服从正太分布变量的关联性可用斯皮尔曼相关系数来计算,也叫等级相关系数。
Python结果分析:
2. 利用pandas里面集成好的相关系数计算方法。
总结:本文对数据特征的一些常用分析方法进行了系统介绍,并利用Python里面的科学计算库Numpy、Pandas、Scipy、Matplotlib实现了每一种分析方法的分析结果,并且将结果图形化显示出来。