全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
1732 1
2020-09-22
单变量分析–数据背后奥秘的关键!
探索性数据分析或EDA是数据处理的阶段,在此阶段中,应认真研究数据并探索无数限制。EDA确实有助于揭示此类数据背后的奥秘,乍一看可能没有任何意义。但是,通过详细的分析,我们可以使用相同的数据来提供奇迹般的结果,从而有助于以出色的准确性推动大规模业务决策。这不仅可以帮助企业集团规避未来可能出现的陷阱,而且还可以帮助他们利用可能在不久的将来出现的最佳方案。
EDA使用三种主要的统计技术进行此探索:
单变量分析
双变量分析
多元分析
顾名思义,单变量表示“一个变量”并一次研究一个变量以帮助我们得出如下结论:
离群值检测
集中点
模式识别
所需的转换
为了理解这些要点,我们将介绍由scikit-learn之类的基本python库提供的iris数据集。
鸢尾花数据集是一个非常简单的数据集,仅由4种规格的鸢尾花组成:萼片的长度和宽度,花瓣的长度和宽度(均以厘米为单位)。该数据集的目的是确定花朵所属的鸢尾属植物的类型。共有三类:Iris Setosa,Iris Versicolour,Iris Virginica。
因此,让我们马上进行挖掘!
1.基于描述的分析
这个阶段的目的是独立地了解每个变量。这有助于识别变量中的不规则性和可能的??模式。Python的内置熊猫库仅需使用一行代码即可帮助极其轻松地执行此任务。
码:
数据= datasets.load_iris()
虹膜数据集采用字典格式,因此需要将其更改为数据框格式,以便可以利用熊猫的资料库。
我们将自变量存储在“ X”中。“数据”将按以下方式提取和转换:
X = data ['data'] #extract
X = pd.DataFrame(X)#转换
在转换为所需格式时,我们只需要运行以下代码即可获取所需信息:
X.describe()#简单的一行即可获取每一列的完整描述
输出:
输出所需代码
计数 是指每列下的记录数。
平均值 给出所有样本合计的平均值。另外,必须注意,均值会受到异常值和偏斜数据的严重影响,我们将很快看到如何借助上述信息检测偏斜数据。
标准 或标准差是深入浅出的数据的“传播”的措施。借助std,我们可以了解变量的值是否紧密地填充在平均值附近或它们是否分布在较宽的范围内。
最小值 和最大值给出所有记录/样本中列的最小值和最大值。  
25%,50% 和75%构成了描述中最有趣的部分。百分位数是指以某种特定方式运行的记录的相应百分比。可以通过以下方式进行解释:   
25%的花的萼片长度等于或小于5.1厘米。
50%的花的萼片宽度等于或小于3.0厘米,依此类推。
50%也被解释为变量的中位数。它表示集中存在于变量中的数据。例如,如果变量的值在1到100的范围内,并且其中位数为80,则意味着很多数据点倾向于更高的值。简而言之,50%或一半的数据点的值大于或等于80。
既然已经证明了均值和中位数的性能,就可以从这些数字的行为中得出结论,即数据是否偏斜。如果差异很大,则表明分布偏斜,如果几乎可以忽略,则表明正态分布。
这些选项可与上述 连续 变量很好地配合使用。但是,对于具有不同值的类别变量,这样的描述很少有意义。例如,分类变量的平均值几乎没有任何值。  
对于这种情况,我们使用另一个名为“ value_counts()”的熊猫操作。这个功能的可用性可以通过我们的目标变量“ y”来证明。y是通过以下方式提取的:
y = data ['target'] #extract
这样做是因为虹膜数据集采用字典格式,并将目标变量存储在与名为“ target”的键相对应的列表中。提取完成后,将数据转换为熊猫系列。由于函数value_counts()仅适用于熊猫系列,因此必须执行此操作。
y = pd.Series(y)#convert
y.value_counts()
应用此函数后,我们得到以下结果:
输出:
2 50
1 50
0 50
dtype:int64
这意味着类别“ 0”,“ 1”和“ 2”具有相等的计数,即50。相等的表示意味着在训练过程中偏差最小。例如,如果数据倾向于具有更多表示一个特定类别“ A”的记录,则使用的训练模型将倾向于了解类别“ A”是最经常出现的,并且倾向于将记录预测为记录“ A” 。当发现不相等的表示形式时,必须遵循以下任一条件:
收集更多数据
产生样本
消除样品
现在,让我们继续使用视觉技术来分析相同的数据,但揭示更多隐藏的模式!
2.基于可视化的分析
尽管描述性分析的信息量很高,但它并未提供有关变量中可能出现的模式的详细信息。通过平均值和中位数之间的差异,我们可能能够找出偏斜数据的存在,但由于这种偏斜,将无法查明确切原因。这是可视化出现的地方,可以帮助我们为变量中可能出现的多种模式制定解决方案。
让我们从观察数据集中的萼片宽度的频率分布开始。
萼片的频率分布
标准:0.435
平均:3.057
中位数(50%):3.000
红色虚线表示中位数,黑色虚线表示平均值。如您所见,该变量的标准偏差最小。同样,平均值和中位数之间的差异也不显着。这意味着数据点集中在中位数,并且分布不偏斜。换句话说,它几乎是高斯分布(或正态分布)。这就是高斯分布的样子:
正态分布生成图
从随机数据生成正态分布
上述分布的数据是通过随机产生的。numpy库的正常功能(用于处理数组和列表的python库之一)。
在应用建模算法之前,始终必须达到高斯分布。这是因为,如已研究的那样,现实生活中最经常出现的分布是高斯曲线。多年来,这导致了算法的设计,使得它们主要迎合这种分布,并事先假定数据将遵循高斯趋势。解决此问题的方法是相应地转换分布。
让我们可视化其他变量并了解分布的含义。
萼片长度:
分布均值图的图像结果
标准:0.828
均值:5.843
中位数:5.80
可以看出,隔片长度的分布范围很广(4.3cm至7.9cm),因此,隔片长度的标准偏差高于隔片宽度的标准偏差。同样,均值和中位数之间几乎没有显着差异。这说明了数据没有偏斜。但是,在这里可视化变得很有用,因为我们可以清楚地看到分布不是完美的高斯分布,因为分布的尾部有足够的数据。在高斯分布中,大约5%的数据存在于拖尾区域。但是,通过这种可视化,我们可以确保数据没有歪斜。
花瓣长度:
花瓣长度图
标准:1.765
平均:3.758
中位数:4.350
这是一个非常有趣的图,因为我们发现分布中存在意外的差距。这可能意味着数据丢失或该功能不适用于该丢失的值。换句话说,鸢尾花的花瓣长度永远不会在2到3范围内!因此,平均值合理地向左倾斜,并且中位数显示了变量的向右集中值,因为大多数数据点都集中在向右的高斯曲线中。  如果移至下一个视觉效果并观察花瓣宽度的图案,您将遇到一个更加有趣的启示。
花瓣宽度:
花瓣宽度图
标准差:0.762
均值:1.122
中位数:1.3
对于“花瓣宽度”,相对于频率分布,与花瓣长度图中相同区域中的大多数值都丢失了。在此,几乎不存在(但不完全不存在)0.5 cm至1.0 cm范围内的值。在同一区域中同时对应于两个不同频率分布的重复性低值表明数据丢失,也证实了丢失值大小的花瓣在自然界中存在但未被记录。
可以通过进一步的数据收集得出该结论,或者可以仅继续使用有限的数据继续工作,因为并非总是可以收集代表给定主题的每个元素的数据。
最后,使用直方图,我们了解以下内容:
数据分配/模式
分布是否倾斜
缺失数据
现在,借助另一个单变量分析工具,我们可以找出我们的数据中是否包含异常或异常值。离群值是不遵循常规模式且具有不可预测行为的数据点。让我们找出如何借助简单的可视化查找异常值!  
我们将使用称为“ 箱形图”的图来识别异常值所在的要素/列。  
虹膜数据集的箱线图 虹膜数据集的箱线图
箱形图是变量的五个重要方面的直观表示,即:
最低要求
下四分位数
中位数
上四分位
最大值
从上图可以看出,每个变量使用三条水平线分为四个部分。每个部分包含大约25%的数据。框围起来的区域是位于中心的数据的50%,水平的绿线代表中位数。如果点超出最大和最小线,则可以识别异常值。
从图中可以看出,sepal_width具有边远点。这些问题可以通过两种方式处理:
丢弃异常值
分别研究异常值
有时离群值是必不可少的信息,尤其是在异常检测是主要关注的情况下。例如,在检测欺诈性信用卡行为期间,检测异常值就很重要。
结论
总体而言,EDA是非常重要的一步,需要大量的创造力和领域知识才能从可用数据中挖掘出最大的模式。请继续关注此空间,以了解有关双变量和多变量分析技术的更多信息。从这里开始它只会变得有趣!

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-9-23 01:01:58
时光永痕 发表于 2020-9-22 20:45
单变量分析–数据背后奥秘的关键!
探索性数据分析或EDA是数据处理的阶段,在此阶段中,应认真研究数据并探 ...

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群