#Python#探索性数据分析——用Python表达EDA的一种快速方法


机器学习的讨论通常围绕算法及其性能:如何提高模型准确性或降低其误差率 , 擅长特征工程或微调超参数 。 但是 , 首先要有一个概念:探索性数据分析或EDA 。
在建立机器学习模型之前 , 就已经有了EDA
这是数据科学的核心方面 , 有时会被忽视 。 要做任何事情的第一步都应该是首先了解您的数据:了解它 , 熟悉它 。 随着您增加数据量 , 此概念变得更加重要
展示数据集在本文中 , 我使用世界银行的经济数据集 , 描述了一些全球关键因素 , 例如GDP , 人口数量 , 地域面积等 。
首先 , 我们需要导入我们需要的库:
import pandas as pdimport numpy as npimport seaborn as snsimport xlrd Pandas , Numpy和Seaborn是EDA练习中的基础需要 。 由于我们使用Excel文件作为数据源 , 因此在这里我们需要安装xlrd库
现在 , 我们导入数据集并查看:
df = pd.read_excel('data.xlsx')df.head()
#Python#探索性数据分析——用Python表达EDA的一种快速方法
本文插图
生成描述性统计信息:
df.describe()
#Python#探索性数据分析——用Python表达EDA的一种快速方法
本文插图
查看数据集结构的快速方法:
df.shape#(215, 10) 检查变量类型:
df.dtypes
#Python#探索性数据分析——用Python表达EDA的一种快速方法
本文插图
它们都是浮点数 , 但国家名称(字符串)除外 。
显示摘要信息:
df.info()
#Python#探索性数据分析——用Python表达EDA的一种快速方法
本文插图
在这里 , 我们看到有些变量具有空值 。
缺失值缺失值可能是由多种原因引起的 , 例如数据输入错误或记录不完整 。 这是非常普遍的现象 , 会对从数据得出的结论产生重大影响 。
【#Python#探索性数据分析——用Python表达EDA的一种快速方法】上面我们已经看到 , 该示例中的数据集缺少几个值 , 但让我们看看如何测试任何数据集 。
print(df.isnull().values.any())#True 接下来 , 我们需要检查它们的数量:
print(df.isnull().sum().sum())#122 现在 , 让我们再检查一下这些缺失值的摘要信息:
print(df.isnull().sum())
#Python#探索性数据分析——用Python表达EDA的一种快速方法
本文插图
这是.info()函数的另一面 。 处理缺失值有不同的策略 , 而且没有通用的方法 。
我们查看新的数据集:
在这里我们将删除缺失的值 , 并生成新的值 。
df1 = df.copy()df1.dropna(inplace=True)df1.info()
#Python#探索性数据分析——用Python表达EDA的一种快速方法
本文插图
这里我们还剩余188条记录 , 没有空值 。
可视化数据集我们使用Seaborn可视化新数据集:
sns.pairplot(df1)
#Python#探索性数据分析——用Python表达EDA的一种快速方法
本文插图
这样可以快速识别变量之间的异常值 , 聚类和明显的相关性 。
我们再结合变量“gdp”和“population”
sns.scatterplot(x='gdp.cap', y='population', data=http://news.hoteastday.com/a/df1, hue='population')
#Python#探索性数据分析——用Python表达EDA的一种快速方法