当前位置: 首页 > 科技观察

这5种数据可视化方式是数据科学家标配!

时间:2023-03-18 19:28:03 科技观察

这5种数据可视化方法是数据科学家的标配!    数据可视化是数据科学家工作的重要组成部分。在项目的早期阶段,您通常会进行探索性数据分析(EDA)以深入了解数据。创建可视化效果确实有助于使事情更清晰易懂,尤其是对于大型高维数据集。在您的项目结束时,能够以清晰、简洁和引人注目的方式展示您的最终结果非常重要,因为您的听众通常是能够理解它的非技术客户。Matplotlib是一个流行的Python库,可用于轻松创建数据可视化。然而,每次执行新项目时,设置数据、参数、图表和绘图都会变得乏味。在这篇博文中,我们将查看5个数据可视化,并使用Python的Matplotlib为它们编写一些快速简单的函数。与此同时,这里有一张很棒的图表,可以帮助您为工作选择合适的可视化效果!?为给定情况选择合适的数据可视化技术的图表散点图非常适合显示两个变量之间的关系,因为您可以直接看到数据的原始分布。您还可以通过对组进行颜色编码来轻松查看不同数据组的关系,如下图所示。想可视化三个变量之间的关系?没问题!只需使用另一个参数(例如点大小)对第三个变量进行编码,如下面的第二个图所示。    带颜色分组的散点图  现在让我们看一下代码。我们先导入Matplotlib的pyplot,别名为“plt”。要创建新图,我们调用plt.subplots()。将x轴和y轴数据传递给函数,然后将这些数据传递给ax.scatter()以绘制散点图。我们还可以设置点大小、点颜色和alpha透明度。您甚至可以将Y轴设置为对数刻度。然后专门为该图设置标题和轴标签。这是一个易于使用的函数,可以创建端到端的散点图!  LinePlots如果你能清楚地看到一个变量与另一个变量非常不同,即它们具有高协方差,那么最好使用线图。我们看下图来说明。我们可以清楚地看到,所有专业的百分比随时间变化很大。用散点图绘制这些图会非常混乱,很难真正理解和查看发生了什么。线图非常适合这种情况,因为它们基本上为我们提供了两个变量(百分比和时间)协方差的快速总结。同样,我们也可以使用颜色编码进行分组。    折线图示例这是折线图的代码。这与上面的散点非常相似。一些变量只有微小的变化。  直方图直方图对于查看(或实际发现)数据点的分布非常有用。查看下面的直方图,我们在其中绘制了频率与智商直方图。我们可以清楚地看到中心和中位数的集中,也可以看出它服从高斯分布。例如,使用条形(而不是散点)可以清楚地显示每个bin的频率之间的相对差异。使用分箱(离散化)确实帮助我们看到“更大的图景”,因为我们使用所有数据点而没有离散分箱,会在可视化中产生大量噪音,让人很难看清正在发生的事情。直方图示例Matplotlib中的直方图代码如下所示。有两个参数需要注意。首先,n_bins参数控制。想象一下,我们想要比较数据中两个变量的分布。有人可能认为您必须制作两个单独的直方图并将它们并排比较。然而,实际上有一个更好的方法:我们可以叠加不同透明度的直方图。看看下面的图表。均匀分布的透明度设置为0.5,以便我们可以看到它背后的内容。这允许用户直接查看同一图表上的两个分布。  在覆盖直方图的代码中需要设置一些东西。首先,我们设置水平范围以适应两个变量分布。基于这个范围和想要的bin数量,我们实际上可以计算出每个bin的宽度。***,我们在同一张图上绘制了两个直方图,其中一个更透明。  当您尝试可视化具有很少(可能<10)类别的分类数据时,条形图最有效。如果我们有太多类别,图中的条形图会非常混乱且难以理解。它们非常适合分类数据,因为您可以根据条形的大小(即大小)轻松查看类别之间的差异,并且类别很容易分段和颜色编码。我们将查看三种不同类型的直方图:周期性、分组和堆叠。看看下面的代码。  条形图常规条形图在下面的第一个图表中。在barplot()函数中,x_data表示x轴上的符号,y_data表示y轴上的柱高。误差条是额外的线条,显示以每个可以绘制的条为中心的标准偏差。分组条形图允许我们比较多个分类变量。看看下面的第二个条形图。我们比较的第一个变量是分数如何随组(组G1、G2等)变化。我们还将性别本身与颜色代码进行比较。查看代码,y_data_list变量现在实际上是一个列表列表,其中每个子列表代表一个不同的组。然后我们遍历每个组并为每个组的x轴上的每个刻度绘制条形图;每个组都用颜色编码。堆叠条形图非常适合可视化不同变量的分类组成。在下面的堆积条形图中,我们比较了日常服务器负载。使用颜色编码的堆栈,我们可以很容易地看到和了解哪台服务器每天工作效率最高,每天的负载是多少,并将其与其他服务器进行比较。此代码遵循与分组条形图相同的样式。我们遍历每个组,除了这次我们在旧组之上而不是在它们旁边绘制新组。▲RegularBar▲GroupedBar StackedBar   BoxPlot我们之前看过直方图,它非常适合可视化变量的分布。但是,如果我们需要更多信息怎么办?也许我们想更清楚地看到标准偏差?也许中位数与均值相差很大,所以我们有很多异常值?如果有这样的偏差,很多值都在一个地方怎么办?这就是箱线图的用武之地。箱线图为我们提供了上述所有信息。实线框的底部和顶部始终是第一和第三四分位数(即数据的25%和75%),而框内的条带始终是第二四分位数(中位数)。盒须图(即末端带有条形的虚线)从方框延伸以显示数据的范围。由于箱线图是为每个组绘制的,变量,它们很容易设置。x_data是组/变量的列表。Matplotlib函数boxplot()为y_data的每一列或每个向量的序列y_data生成一个箱线图;因此x_data中的每个值对应于y_data中的列/向量。我们所要做的就是设定情节的美感。  Box示例结论有5个使用Matplotlib的快速简单的数据可视化。将事物抽象成函数总是会让你的代码更易于阅读和使用!希望本文对您有所帮助!