简介
探索性数据分析是一种评估或理解数据的方法,以便得出洞察力或关键特征。EDA可以分为两类:图形分析和非图形分析。
EDA是任何数据科学或机器学习过程中的一个重要组成部分。你必须探索数据,了解变量之间的关系,以及数据的基本结构,以便在此基础上建立一个可靠和有价值的输出。
本教程中的EDA阶段将使用Python编程语言进行。
数据集
在这篇文章中,我们将进行客户流失预测。当客户停止与一家公司做生意时,这被称为客户流失或客户流失。
由于获得一个新客户的成本通常比保持一个现有客户的成本要高,所以了解客户流失对公司的成功至关重要。因此,流失率分析是更好地了解客户的第一步。
为了更深入地掌握我们的数据,我们将深入进行探索性数据分析(EDA)。数据集可在此获得。
导入Python库
首先,我们需要导入分析所需的所有库,即用于处理数据的Pandas , 用于数值计算的Numpy , 用于可视化的Matplotlib和Seaborn 。
.
在Python中加载数据集
现在,将数据集加载到pandas数据框中。
基于结构化的数据探索
这是EDA的第一部分,对数据框架的结构、列和数据类型进行评估。这一步的目标是对数据集有一个大致的了解。
显示前5个观察值
我们得到的输出为。
显示最后5个观察值
输出结果为:显示最后5个观察值
显示变量和观测值的数量
这可以用df.shape来完成,它给出的输出是一个有两个值的元组。第一个值计算数据点的数量,第二个值代表数据集中的特征数量。
在这个数据框架中,有7043行和21列。
显示变量名称和它们的数据类型
计算每个变量的非遗漏值的数量
df.count()计算非空值的数量。它给出了我们的数据集中缺失值的概念。
描述性统计
现在,为了了解更多关于数据集的特征,我们将使用df.describe(),它默认给出数据框中所有数字特征的统计信息。
df.describe()给出了一些基本的统计细节,比如计数、百分位数、平均值、标准差,以及5点总结,包括数字特征的最小值、第一四分位数、第二四分位数、第三四分位数和最大值。
***那么,分类特征呢?
通过提供一个include参数并将其赋值为 "all",我们也可以得到所有分类特征的摘要。
显示数据集的完整摘要
***df.info()***给出了数据框架的摘要,包括数据类型、形状和存储空间。
处理缺失值
缺失值 是数据集中的未知值。为了成功地管理数据,理解缺失值的概念是很重要的。第一步是检测数据集中的缺失值,然后用适当的方法处理它们。
检测缺失值
-
使用error = 'coerce'将用NaN替换所有非数字值。
-
isnull().sum()返回数据集中缺失值的数量。
我们在'Total Charges'列中有11个缺失值。现在,我们将看到不同的方法来处理它们。
缺失值处理
要处理缺失值,我们可以使用以下方法。
-
删除变量
-
剔除观察值
-
平均值归纳或中位数归纳或模式归纳
对于变量 "总费用",只有11个值是缺失的。由于这些数据记录相对于整个数据集来说非常少,我们可以放弃它们。
完成了。让我们检查一下!
使用图表进行分析
数据可视化
让我们把目标变量即流失率可视化。它有两个类别--是或不是。
该图显示了流失者和非流失者之间的数据类别不平衡。为了解决这个问题,重新取样将是一个合适的方法。
****
总费用是每月费用的总和。因此,让我们把它们的关系可视化。
- 这里我们可以看到,总费用和月费是高度相关的。
在这里,我们试图直观地看到与合同有关的流失率。
- 大约75%的月度合同客户选择退出,而一年期合同的客户有13%,两年期合同的客户有3%。
这是对支付方式的可视化。它有四个类别。
- 电子支票的用户最多。
这张图显示了与受抚养人有关的流失率。
- 没有家属的客户更有可能流失。
该图显示了与合作伙伴有关的流失率。
- 没有合作伙伴的客户更有可能流失。
总结
在这篇文章中,我们试图分析客户行为。首先,我们在基本层面上探索了数据集。我们寻找缺失值,并通过删除这些值来处理它们。然后,我们使用Pandas DataFrame对样本数据进行了探索性数据分析,绘制了不同的图表,如计数图、饼图、线图和Histplot。由此,我们得到了一些有用的见解,比如。"签订月度合同的客户流失率最高","总费用和月度费用高度相关",等等。这样,我们对数据集进行EDA探索,从中提取所有可能的见解,这有助于模型的建立,也有助于更好的决策。
然而,这只是对EDA工作方式的基本概述;你可以深入了解,并在更大的数据集上尝试这些阶段。
你可以在LinkedIn上与我联系。