本文概述
探索性数据分析是任何数据科学项目的基础。在继续进行模型创建和使用任何机器学习算法训练数据集之前, 必须对数据集进行探索以大致了解其中的内容。
考虑著名的超市数据集。数据是美国超市的数据, 其中包含有关产品, 销售, 利润等的信息, 你可以使用这些信息来确定该虚拟公司中需要改进的关键领域。第一步将是导入数据集并进行探索。你可以从此处下载数据。
适用于EDA的Python
让我们使用Python导入数据集并进行探索。如果你想了解有关如何在Python中查看和清理数据的更多信息, 请参加srcmini的Python清理数据课程。
import pandas as pd
import numpy as np
superstore_data = pd.read_excel('Sample-Superstore .xls', header = 3)
superstore_data.head()
数据框显示了包含不同属性的数据集的前五行。我们还可以查看是否缺少任何值以及不同的列:
superstore_data.info()
上面的信息显示没有空值, 共有9994条记录。可视化也是EDA的重要组成部分, 因为它提供了更好的视角。我们可以在”销售”和”利润”之间创建一个散点图, 但是如果有办法进一步修改现有的散点图以提供更多信息怎么办?可视化信息的一种方法是通过象限图。在接下来的几节中, 让我们更多地了解它, 并创建我们自己的一个。
象限分析图
如果你是数据科学生态系统的一部分, 那么你一定已经听说过Gartner的魔力象限(MQ)。这些MQ是一系列报告, 其中包含对多家技术公司的市场研究和分析。实际上, 它们是该领域中最令人期待和期待已久的报告之一。这是2019年分析和商业智能平台魔力象限, 表明Tableau和PowerBI处于领先地位。
象限图在技术上是一种散点图, 分为四个相等的部分或象限, 因此得名。象限分析图有助于在单独的象限中表示数据, 从而可以轻松地基于某些特征来定位哪些数据点相似, 哪些数据点不相似。
在Tableau中创建象限图
Tableau是当今行业中广泛使用的出色数据分析和可视化工具。 Tableau的易用性来自它具有拖放界面的事实。结果, 创建大量图变得非常容易和直观, 而象限图就是其中之一。
先决条件
本教程假定你对Tableau, 其属性以及如何使用它进行分析有所了解。如果你是一个完整的初学者, 建议你阅读以下文章, 它是对Tableau的出色介绍:
使用Tableau进行数据可视化
Tableau环境
在本教程中, 我们将使用Tableau Public, 这是Tableau的绝对免费产品。从官方网站下载Tableau Public版本。请按照安装说明进行操作, 并且如果在单击Tableau图标时出现以下屏幕, 则可以执行。
连接到数据源
我们将使用之前所述的相同的Superstore数据集。如果你尚未下载数据集, 可以在这里找到。
- 从计算机将数据导入Tableau工作区。
- 在”工作表”选项卡下, 将显示三张工作表, 即”订单”, “人员”和”退货”。但是, 我们将仅关注订单数据。双击”订单表”, 它会像电子表格一样打开。
- 我们观察到前三行数据看起来有些不同, 并且不是所需的格式。我们将使用”数据解释器”(也位于”工作表”选项卡下)来纠正此问题。通过单击它, 可以得到格式正确的表格。
创建散点图
假设我们想了解折扣与超市的利润之间的关系, 以及哪些产品比其他产品更有利可图。第一步是在折现率和利润率之间创建一个简单的散点图。利润率比单独的利润字段具有更好的含义, 并且由于原始数据库中不存在该字段, 因此我们将创建一个。
-
打开一个新的工作表, 并使用下面提到的公式创建一个新的计算字段, 称为利润率。
sum([利润])/ sum([销售])
- 将”折扣”拖动到”列”, 将”利润率”拖动到”行”。最后, 将”子类别”拖到”颜色架子”上。将折扣的度量从总和转换为平均值。你会得到一个散点图, 该散点图由不同的产品着色。
创建参数
现在我们有了一个基本的散点图, 是时候创建两个参数, 它们将作为计算象限的基础。在我们的情况下, 我们将创建一个折扣参数和一个利润比率参数, 这两个参数将分别从”折扣”和”利润比率”字段中得出。
折扣参数
单击”折扣”字段>”创建”>”参数”, 然后填写值, 如下图所示。将”当前值”设置为所选数据的点(在本示例中为0.2)。
利润率参数
使用”利润率”字段执行与上述相同的步骤。
现在在工作表中可以看到一个名为”参数”的新标题, 其中显示了两个我们计算出的参数。
添加参考线
Tableau中的参考线只是图形中代表参考点的垂直或水平线。例如, 在”销售”图表上绘制的参考线可以轻松区分高销售点和低销售点。我们将创建两条参考线, 每条参考线一条。
- 右键单击”利润率”轴(y), 然后选择”添加参考线”。
- 将参考线值设置为利润率参数。
- 将其他字段保留为其默认值, 然后单击”确定”。
- 右键单击平均折扣轴(x), 然后选择添加参考线。
- 将参考线值设置为平均折扣参数。
- 将其他字段保留为其默认值, 然后单击”确定”。
为每个象限分配颜色
现在我们有四个象限, 但是每个象限中的数据点都是随机着色的, 这无法帮助我们直观地看到哪个数据点位于哪个象限中。我们可以编写一个简单的计算方法, 根据其象限即右上, 左上, 右下或左下为数据点分配颜色。
单击分析>创建计算字段, 然后将该字段命名为象限颜色。
输入如下所述的公式:
IF AVG([Discount]) >= [Discount Parameter]
AND [Profit Ratio] > [Profit Ratio Parameter] THEN 'UPPER RIGHT'
ELSEIF AVG([Discount]) < [Discount Parameter]
AND [Profit Ratio] > [Profit Ratio Parameter] THEN 'UPPER LEFT'
ELSEIF AVG([Discount]) >[Discount Parameter]
AND [Profit Ratio] < [Profit Ratio Parameter] THEN 'BOTTOM RIGHT'
ELSE 'BOTTOM LEFT'
END
当前数据点已由子类别着色。但是, 我们想用它们各自的象限为它们着色。只需将”子类别”字段拖到”详细信息”卡上, 然后将”象限颜色”字段拖到该颜色上即可。现在, 所有数据点立即相对于它们所处的象限进行着色。将”形状”更改为圆形以获得实心圆形, 并相应地调整大小和工具提示首选项。
因此, 这里有一家美国超市的折扣率和利润率的象限分析。从图中可以明显看出, 位于右下角的产品是获利最少的产品, 而位于左上角的产品则是获利最高的产品。
创建动态象限图
上图中的象限是固定的, 只有在更改链接的参考线的值后才能更改。如果我们想尝试不同的阈值以查看产品如何实时更改其象限怎么办?这实际上是可能的, 并且被称为动态象限图, 并且是通过操作来实现的。
动作
动作是Tableau中的一项功能, 可让我们向数据添加交互性。借助此功能, 我们可以通过选择, 单击或悬停它们来与可视化进行交互。操作可以在可视化文件中执行以下任务:
现在, 我们通过以下步骤设置工作表操作:
- 转到工作表>操作, 然后添加更改参数操作。这是因为我们要创建一个操作来相应地更改参数。
- 接下来, 我们将操作命名为”更新折扣参数”, 然后选择相应的”目标参数”和”值”, 在这种情况下分别为”折扣参数”和” AVG(折扣)”。
- 同样, 创建另一个操作, 称为”更新利润率参数”。
现在, 当你单击数据点时, 它便成为象限的中心。因此, 你现在得到的是一个动态的象限图, 你可以轻松地看到更改”利润率”和”折扣”的值如何改变象限中产品的位置。
总结
在本文中, 我们学习了如何将散点图转换为交互式象限图。通常, 对数据进行总体概述有助于了解使用象限图时对象的相似性和不相似性。从这里开始, 你可以使用R或Python进行常规数据分析, 以进一步进行未来几个月的销售预测, 并分析数据以识别数据集中的重要特征, 从而真正推动销售。