对开始一个新的实践工作感到为难?探索数据分析为你打好坚实基础
直觉
当你决定去看一部你没听说过的电影时,你会对许多问题感到困惑,比如电影演员和剧组成员是谁?当然你也可以在各种软件上观看电影预告片,以此来了解观众对这部电影的评价。
无论你在观看电影前做什么准备措施,都是在做数据科学家称之为“探索性数据分析”的行为。
探索性数据分析指的是对数据进行初始调查以发现模式、发现异常、测试假设和借助于汇总统计和图形表示来检查假设的关键过程。
要做好一个实践首先要理解数据并尝试从中收集尽可能多的信息。
EDA使用样本数据集解释:
为了更好地理解概念和技术,本文将以UCI机器学习知识库中提供的白酒品质数据集变体为例,并试图从EDA数据集中获得尽可能多的信息。
首先,导入必要的库(例如pandas,numpy,matplotlib和seaborn)并加载了数据集。
在给定的数据集中原始数据由分隔符分隔“; ”。
为了更仔细的查看数据,需要pandas库的“.head()”函数的帮助,它返回了数据集的前五个观察值。类似地,“.tail()”返回了数据集的最后五个观察值。
通过“.shape”找出了数据集中行和列的总数。
数据集包括4898个观察值和12个特征。
其中一个是因变量,其余是自变量 ——物理化学特征。
了解列及其相应的数据类型以及查找它们是否包含空值也是一种可行的做法。
数据只有浮点和整数值。
没有可变列具有空值/缺失值。
Pandas中的describe()函数在获得各种汇总统计信息时非常方便。该函数返回数据的计数、平均值、标准差、最小值、最大值以及数据的分位数。
在这里可以注意到,平均值小于每个列的中值,在索引栏中用50%(第五十百分位数)表示。
预测因子“残糖”,“游离二氧化硫”,“总二氧化硫”的75%瓦和最大值之间存在显着差异。
因此,观察1和2表明在我们的数据集中存在极端值/异常值。
通过查看因变量,几个关键的信息如下:
目标变量/因变量在本质上是离散的和分类的。
“质量”的评分范围从1到10,其中1为差,10为最佳。
1、2和10质量评分不是由任何观察结果给出的。得分都在3到9之间。
这表明每个质量得分的投票计数以降序排列。
“质量”主要集中在第5、6、7类。
仅对第3和9类进行了少量观察。
数据科学充满了难以言明的魅力,参与得越多,了解的越多,你就越难以停止对它的深入探索。现在让我们用美丽的图表来研究数据。Python有一个可视化库Seaborn,它建立在matplotlib之上。它提供了非常有吸引力的统计图表,用以执行单变量和多变量分析。
要使用线性回归进行建模,必须删除相关变量以改进模型。使用pandas“.corr()”函数可以找到相关性,并可以使用seaborn中的热图来使相关矩阵可视化。
深色阴影表示正相关,浅色阴影表示负相关。
如果你设置了annot = True,那么你将会得到grid-cells中要素相互关联的值。
在特征选择过程中移除相关变量是一种很好的做法。
由此可以推断“密度”与“残糖”有很强的正相关,而与“酒精”有很强的负相关。
“游离二氧化硫”和“柠檬酸”与“质量”几乎没有相关性。
由于相关性为零,我们可以推断出这两个预测因子之间没有线性关系。但是,如果将线性回归模型应用于数据集,那么这些特性是可以被删除的。
箱形图(或盒须图)显示了定量数据的分布,以便于比较变量。该框显示数据集的四分位数,而晶须延伸显示剩余的分布。
箱形图(a.k.a.盒和晶须图)是基于五个数字总结来显示数据分布的标准化方式:
最小值
第一四分位数
中位数
第三四分位数
最大值
在最简单的箱形图中,中心矩形跨越第一个四分位数到第三个四分位数(四分位间距或IQR)。
矩形内的一段显示中位数和“须”,在框的上方和下方显示最小值和最大值的位置。
异常值为3×IQR或高于第三四分位数或3×IQR或低于第一四分位数。
在数据集中,除了“酒精”以外,所有其他特征列都显示异常值。
现在要检查变量的线性度,绘制分布图并查找要素的偏态。核密度估计(kde)是绘制分布形状的一个非常实用的工具。
“pH”栏似乎是正态分布的。
剩下的所有自变量都是右偏/正斜偏的。
最后,总结所有探索性数据分析是充满一种哲学和艺术的方法,你可以在早期的数据中发现每一个细微差别。