Python 探索数据分布

Python 探索数据分布

在处理任何数据科学或机器学习用例时,数据的分布为我们提供了有关数据的有用信息。数据分布是指数据的可用性和当前状态,特定部分的信息,数据中的异常值以及与数据相关的中心趋势。

为了探索数据分布,有一些常用的图形方法可以在处理数据时发挥积极的作用。在本文中,让我们来探索这些方法。

了解数据更多信息:图形方式

直方图和KDE密度图

直方图是最常用和常见的用于数据探索的图形方法之一。在直方图中,使用矩形条表示特定变量或类别的频率,或者是区间。当数据可以存在不同的桶中时,支持分组(bin)。

让我们通过以下房价数据集的代码示例来了解直方图。

数据集链接 – https://drive.google.com/file/d/1XbyBcw6OfE_w3ZeqPM1s_6jT8XeTCeOT/view?usp=sharing

以下代码有助于我们更有效地理解直方图。在这个代码示例中,我们使用房价数据集来绘制SalePrice vs Frequency的频率或直方图图表。右侧的图表是SalePrice vs Frequency Distribution的KDE图表。密度图是直方图的概率密度函数。

import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

df = pd.read_csv("/content/house_price_data.csv")

figure, ax = plt.subplots(1, 2, sharex=True, figsize=(12, 6))
ax[0]= sns.histplot(data=df, x="SalePrice",ax=ax[0])
ax[0].set_ylabel("Frequency")
ax[0].set_xlabel("SalePrice")
ax[0].set_title("Frequency(Histogram)")

ax[1]= sns.distplot(df.SalePrice, kde = True,ax=ax[1])
ax[1].set_ylabel("Density")
ax[1].set_xlabel("SalePrice")
ax[1].set_title("Frequency(Histogram)")

输出

Python 探索数据分布

在下面的代码示例中,我们使用了不同类别的分箱。我们使用企鹅数据集来绘制嘴峰深度与计数之间的关系。在这里,嘴峰深度被分成不同的区间,并且在x轴上绘制,y轴上表示计数或频率。

# Using bins on penguins' dataset – seaborn

import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

data_pen = sns.load_dataset("penguins")
sns.histplot(data=data_pen, x="bill_depth_mm", bins=15)

输出

Python 探索数据分布

箱线图

箱线图也被称为盒须图。箱线图表示数据的百分位数。整个数据被分为不同的百分位数,其中主要的分位数是第25、50和75个百分位数。第50个百分位数代表中位数。箱线图显示了位于第25和75个百分位数之间的数据,这被称为四分位距(IQR)。

Python 探索数据分布

让我们通过以下房价数据集的代码示例来理解箱线图。

import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

df = pd.read_csv("/content/house_price_data.csv")
subset = pd.concat([df['SalePrice'], df['OverallQual']])
figure = sns.boxplot(x='OverallQual', y="SalePrice", data=df)

输出

Python 探索数据分布

小提琴图

它看起来类似于箱线图,但图中还显示了变量的概率分布。它用于比较观察变量的概率分布。

让我们通过以下房价数据集的代码示例来了解小提琴图。

import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

df = pd.read_csv("/content/house_price_data.csv")
subset = pd.concat([df['SalePrice'], df['MSSubClass']])
figure = sns.violinplot(x='MSSubClass', y="SalePrice", data=df)

输出

Python 探索数据分布

结论

箱线图、密度图和小提琴图是探索数据分布最流行和常用的方法。它们被机器学习工程师和数据科学家广泛使用,并且具有可靠性和高度可信性。这些图表让我们对数据和数据分布有所了解。此外,还可以从图表中确定偏斜度、稀疏性等基本信息。像箱线图和小提琴图这样的图表也可以指示异常值点。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程