探索性数据分析是任何数据科学项目的基石。在使用任何机器学习算法进行建模和训练之前,务必先对数据集进行探索,从而对其内容有一个整体认识。
以著名的 Superstore(超级商店)数据集为例。该数据来自一家位于美国的超级商店,包含有关产品、销售、利润等信息,您可以据此识别这家虚构公司中的关键改进领域。第一步是导入并探索数据集。您可以从此处 下载数据。
用于 EDA 的 Python
让我们使用 Python 导入并探索该数据集。若想进一步学习如何在 Python 中查看和清洗数据,请参加 DataCamp 的《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 工作区。
在 Sheets 选项卡下,可见三张表:Orders、People 和 Returns。但我们只关注 Orders 数据。双击 Orders 表,它会像电子表格一样打开。
我们发现前 3 行数据看起来有些不同,格式不符合预期。可使用 Sheets 选项卡下的 Data Interpreter 进行修正。点击后,即可得到格式良好的表。
创建散点图
假设我们想查看折扣(Discount)与商店利润(Profit)之间的关系,以及哪些产品更具盈利性。第一步是在 Discount 与 Profit Ratio(利润率)之间创建一个简单散点图。Profit Ratio 比仅使用 Profit 字段更具参考意义;由于原始数据库中没有该字段,我们需要自行创建。
将 Discount 拖到 Columns,将 Profit Ratio 拖到 Rows。最后,将 Sub Category 拖到颜色(Colors)槽。将 Discount 的度量从 Sum 改为 Average。您将得到一张按不同产品着色的散点图。
创建参数
有了基础散点图,现在需要创建两个参数,作为计算象限的依据。在本例中,我们将分别从 Discount 和 Profit Ratio 字段派生出 Discount Parameter 和 Profit Ratio Parameter。
Discount Parameter
单击 Discount 字段 > Create > Parameter ,并按下图填写。将当前值设置为您选择的数据点 (此示例为 0.2)。
Profit Ratio Parameter
对 Profit Ratio 字段执行相同步骤。
此时在工作表中会出现一个名为 Parameters 的新标题,我们的两个参数都在其中显示。
添加参考线
Tableau 中的参考线就是图表中的一条垂直或水平线,用作参考点。例如,在销售图中绘制参考线,可以轻松区分高低销售点。我们将分别为两个坐标轴创建参考线。
右键单击 Profit Ratio 轴(y),选择 Add Reference Line 。
将参考线的 Value 设置为 Profit Ratio 参数。
其余选项保持默认,点击 OK 。
右键单击 Avg Discount 轴(x),选择 Add Reference Line 。
将参考线的 Value 设置为 Avg Discount 参数。
其余选项保持默认,点击 OK 。
为每个象限指定颜色
现在我们已有四个象限,但每个象限中的数据点颜色是随机的,这不利于判断数据点落在哪个象限。我们可以编写一个简单的计算,根据所处象限为数据点指定颜色,即右上(UPPER RIGHT)、左上(UPPER LEFT)、右下(BOTTOM RIGHT)或左下(BOTTOM LEFT)。
点击 Analysis > Create calculated field ,将字段命名为 Quadrant Color 。
输入如下公式:
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技术支持
技术支持
目前数据点是按子类别(Sub-category)着色,但我们希望按各自象限着色。只需将 Sub-Category 字段拖到 Detail 卡片,将 Quadrant Color 字段拖到颜色(Color)。数据点会立即根据其所在象限着色。将 Shape 改为圆形以获得实心圆,并根据需要调整大小和提示信息(tooltip)。
至此,我们完成了对一家美国超级商店的 Discount 与 Profit Ratio 的象限分析。从图中可以清楚看到,位于 Bottom Right 的产品盈利性最低,而位于 Upper Left 的产品最具盈利性。
创建动态象限图
上述图中的象限是固定的,只有在更改相关参考线的数值时才会变化。如果我们想尝试不同阈值,实时查看产品如何变换象限,该怎么办?这是可行的,被称为动态象限图,可通过 Actions 实现。
Actions
Actions 是 Tableau 中让数据具备交互性的功能。借助该功能,我们可以通过选择、点击或悬停来与可视化交互。Actions 在可视化中可以执行以下任务:
现在按照以下步骤设置一个工作表操作:
进入 Worksheet>Actions 并添加 Change Parameter 操作。因为我们希望创建一个可根据需要更改参数的操作。
接着,将该操作命名为 Update Discount Parameter,并选择相应的 Target Parameter 和 Value,在本例中分别为 Discount Parameter 和 AVG(Discount)。
同样,再创建一个名为 Update Profit Ratio Parameter 的操作。
现在,当您点击某个数据点时,它将成为象限的中心。于是您就获得了一个动态象限图,您可以轻松观察更改 Profit Ratio 与 Discount 的数值后,产品在象限中的位置如何变化。
结论
本文讲解了如何将散点图转换为交互式象限图。使用象限图通常有助于从整体上把握数据,理解对象之间的相似与差异。接下来,您可以在 R 或 Python 中开展常规数据分析,进一步对未来数月进行销售预测,并分析数据以识别真正推动销售的数据集关键特征。
探索性数据分析是任何数据科学项目的基石。在使用任何机器学习算法进行建模和训练之前,务必先对数据集进行探索,从而对其内容有一个整体认识。
以著名的 Superstore(超级商店)数据集为例。该数据来自一家位于美国的超级商店,包含有关产品、销售、利润等信息,您可以据此识别这家虚构公司中的关键改进领域。第一步是导入并探索数据集。您可以从此处下载数据。
用于 EDA 的 Python
让我们使用 Python 导入并探索该数据集。若想进一步学习如何在 Python 中查看和清洗数据,请参加 DataCamp 的《Python 数据清洗》课程。
该数据框显示了包含不同属性的前五行数据。我们还可以查看是否存在缺失值以及有哪些列:
上述信息表明没有空值,共有 9994 条记录。可视化同样是 EDA 的重要部分,因为它能提供更直观的视角。我们可以创建销售额与利润之间的散点图,但如果能进一步改造现有散点图,让其提供更多信息会怎样?其中一种可视化方式就是象限图。接下来我们将进一步了解它,并亲手创建一个。
象限分析图
如果您身处数据科学生态圈,一定听说过Gartner 魔力象限(MQ)。这些 MQ 是一系列报告,包含对多家科技公司的市场研究与分析。事实上,它们是该领域最受期待的报告之一。这里是用于分析和商业智能平台的2019 年魔力象限,其中显示 Tableau 和 PowerBI 处于领先地位。
从技术上讲,象限图是被分成四个相等部分(象限)的散点图,因此得名。象限分析图可以将数据分布到不同象限,便于基于某些特征快速定位哪些数据点相似、哪些不相似。
在 Tableau 中创建象限图
Tableau 是一款广泛应用于业界的数据分析与可视化工具。Tableau 易用性的关键在于其拖放式界面。因此,创建各式各样的图表非常直观,其中就包括象限图。
先决条件
本教程假定您对 Tableau、其属性以及如何用于分析已有一定了解。若您是完全新手,建议先阅读下文这篇文章,它是极佳的 Tableau 入门材料:
使用 Tableau 进行数据可视化
Tableau 环境
本教程将使用 Tableau Public,这是 Tableau 的一款完全免费的产品。请从官方网站下载 Tableau Public 版本。按指引安装,若点击 Tableau 图标后出现如下界面,即表示可以开始了。
连接数据源
我们将继续使用前文提到的 Superstore 数据集。若您尚未下载数据集,可在此处获取。
Orders表,它会像电子表格一样打开。创建散点图
假设我们想查看折扣(Discount)与商店利润(Profit)之间的关系,以及哪些产品更具盈利性。第一步是在 Discount 与 Profit Ratio(利润率)之间创建一个简单散点图。
Profit Ratio比仅使用 Profit 字段更具参考意义;由于原始数据库中没有该字段,我们需要自行创建。新建一个工作表,并使用下列公式创建名为
Profit Ratio的计算字段。Discount拖到 Columns,将Profit Ratio拖到 Rows。最后,将Sub Category拖到颜色(Colors)槽。将 Discount 的度量从 Sum 改为 Average。您将得到一张按不同产品着色的散点图。创建参数
有了基础散点图,现在需要创建两个参数,作为计算象限的依据。在本例中,我们将分别从 Discount 和 Profit Ratio 字段派生出
Discount Parameter和Profit Ratio Parameter。Discount Parameter
单击 Discount 字段 > Create > Parameter,并按下图填写。将当前值设置为您选择的数据点(此示例为 0.2)。
Profit Ratio Parameter
对 Profit Ratio 字段执行相同步骤。
此时在工作表中会出现一个名为 Parameters 的新标题,我们的两个参数都在其中显示。
添加参考线
Tableau 中的参考线就是图表中的一条垂直或水平线,用作参考点。例如,在销售图中绘制参考线,可以轻松区分高低销售点。我们将分别为两个坐标轴创建参考线。
Profit Ratio 轴(y),选择 Add Reference Line。Profit Ratio参数。Avg Discount轴(x),选择 Add Reference Line。Avg Discount参数。为每个象限指定颜色
现在我们已有四个象限,但每个象限中的数据点颜色是随机的,这不利于判断数据点落在哪个象限。我们可以编写一个简单的计算,根据所处象限为数据点指定颜色,即右上(UPPER RIGHT)、左上(UPPER LEFT)、右下(BOTTOM RIGHT)或左下(BOTTOM LEFT)。
输入如下公式:
目前数据点是按子类别(Sub-category)着色,但我们希望按各自象限着色。只需将
Sub-Category字段拖到 Detail 卡片,将Quadrant Color字段拖到颜色(Color)。数据点会立即根据其所在象限着色。将Shape改为圆形以获得实心圆,并根据需要调整大小和提示信息(tooltip)。至此,我们完成了对一家美国超级商店的 Discount 与 Profit Ratio 的象限分析。从图中可以清楚看到,位于
Bottom Right的产品盈利性最低,而位于Upper Left的产品最具盈利性。创建动态象限图
上述图中的象限是固定的,只有在更改相关参考线的数值时才会变化。如果我们想尝试不同阈值,实时查看产品如何变换象限,该怎么办?这是可行的,被称为动态象限图,可通过
Actions实现。Actions
Actions 是 Tableau 中让数据具备交互性的功能。借助该功能,我们可以通过选择、点击或悬停来与可视化交互。Actions 在可视化中可以执行以下任务:
现在按照以下步骤设置一个工作表操作:
Change Parameter操作。因为我们希望创建一个可根据需要更改参数的操作。Update Discount Parameter,并选择相应的Target Parameter和Value,在本例中分别为Discount Parameter和AVG(Discount)。Update Profit Ratio Parameter的操作。现在,当您点击某个数据点时,它将成为象限的中心。于是您就获得了一个动态象限图,您可以轻松观察更改 Profit Ratio 与 Discount 的数值后,产品在象限中的位置如何变化。
结论
本文讲解了如何将散点图转换为交互式象限图。使用象限图通常有助于从整体上把握数据,理解对象之间的相似与差异。接下来,您可以在 R 或 Python 中开展常规数据分析,进一步对未来数月进行销售预测,并分析数据以识别真正推动销售的数据集关键特征。