ministep / SQL_DataAnalysis

SQL数据分析
9 stars 0 forks source link

知否知否 Tableau+Python=Surprise!-看点快报 #59

Open kemistep opened 4 years ago

kemistep commented 4 years ago

早在 2016 年,Tableau 就发布了 TabPy,一个可以在 Tableau 工作簿中运行 Python 代码的新 API 。通过在 Tableau 中使用 TabPy ,可以在 Python 中定义计算字段,从而在可视化作品中充分挖掘大量机器学习库的潜力。

这个在 Tableau 中与 Python 的集成应用,为用户提供了强大的解决方案。例如,只需几行 Python 代码就能得到一个线上零售商所售商品的情感分析,以便在 Tableau 中从更多方面探索获得的结果。

如何运用 TabPy 来创建更多数据可视化的新可能?我们将分享如何安装 TabPy如何连接 Tableau Desktop / Server 与 Python应用 **实例 ,** 跟随我们一探究竟吧!

1

如何安装 TabPy

我们将使用 Pythons pip 命令安装 TabPy 。如果你使用的是安装了 Python 3.7 的机器,默认情况下会安装 pip 。

在真实场景中,你可能需要先通过额外几个步骤后才可开始使用 TabPy,详情请参考下面的流程图:

TabPy 安装步骤

在计算机的命令提示符下运行 pip install 命令:

以管理员身份打开命令提示符;

你不需要更改目录,只需运行以下两行代码,每次运行一行:

pip install tabpy-server

pip install tabpy-client

更多 TabPy 安装细节,可参考如何在 Tableau 中用 Python(技术干货,建议收藏)。

运行 TabPy

安装 TabPy 后,在 Windows 资源管理器中找到以下文件夹:

C:\ Users \%USERNAME%\ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages \ tabpy_server

你将看到一个名为 startup.bat 的文件,右键单击并以管理员身份运行:

TabPy 正在运行

应打开命令行窗口并显示以下内容:

2

如何连接到 TabPy

从 Desktop 连接到 TabPy

首先打开 Tableau Desktop: 转到顶部功能区上的 “帮助” - 设置和性能 - 管理外部服务连接。

在弹出窗口中输入服务器名称和 TabPy 安装位置的端口号。本次分享中,TabPy 安装在本地计算机上并使用默认端口 9004:

测试连接时,应该会看到以下消息:

使用工作簿中的 web 页面编写自己的代码。

使用在指导网站上的入门代码或提示,并作出小型改动。

直接从指导网站复制并粘贴解决方案代码。

从 Server 连接到 TabPy

Tableau Server 2018.2 之后的版本:

> tsm 配置集 vizqlserver.extsvc,主机的 IP 地址

> tsm 配置集 vizqlserver.extsvc,端口的端口

Tableau Server 2018.2 之前的版本:

>tabadmin 设置 vizqlserver.extsvc,主机的 IP 地址

>tabadmin 设置 vizqlserver.extsvc,端口的端口

●●●

外部服务 & Tableau Server

将外部服务放在单独的计算机上,连接到 Tableau Server

限制权限 TabPy

只对 Tableau Server 机器开放通信

在启用 Tableau Server 上的外部服务集成之前,请与 IT 团队讨论这些问题。

3

实例分享:Tableau + Python = ?

▶异常值分析:海洋温度

数据:大西洋 11 年的历史海平面温度

实现效果:**确定每年数据中的异常值 **

使用 Tableau 的外部服务时,所有值都通过表计算传递和返回,这意味着视图的构造方式将影响值发送到 TabPy 的方式。

将日期字段拖放到列上,即可获得每年的单独一列:

将表计算设置为 Table(across),这意味着 Tableau 将一次调用中的所有数据发送到服务器,所有这些点都有助于定义为最终定义的最高和最低四分位数一个点是否是异常值。

现在将表计算的计算选项更改为 Pane(across):

现在是对服务器的单独调用,每个数据分区一个,在例子中是每年一次。所以我们现在回答的问题是 “哪些点是数据的每年内的异常值?”,如同 “哪些点是整个数据集的异常值?“

▶聚类分析:新奥尔良 911 电话

数据:新奥尔良 911 事件报告与位置数据

实现效果:**确定事件数发生最高的热点 **

在这个例子中,我们在新奥尔良报告了超过 70,000 起 911 事件,这里将使用聚类算法来查找包含高密度事件的 “热点”。

在 Tableau 的分析窗格中,我们可以将群集胶囊拖放到视图中,如果这样做,会得到以下结果:

Tableau 在数据中找到 4 个自然聚类,但是如果我们看看地图上的显示效果,会发现其不能真正回答关于热点的原始问题。这是因为 K-means 算法将观测值(点)划分为 X 个聚类,每个点属于具有最近均值的聚类。

我们实际想要做的是查看这些点的密度。DBSCAN 是一种基于空间密度的聚类算法,更适合此任务。

▶情绪分析:商店的评论

数据:每个用户 ID 的评论

实现效果:**更 ** 容易地发现负面评论,以便采取行动

假设,我们管理着 6 家不同的商店,并收集了有关每家商店的客户评论。作为职责的一部分,我们必须采取行动反对建设性(AKA 否定)评论并解决客户所遇到的问题。

仅仅列出评论并没有多大帮助,因为阅读 2000 条评论会占用很多时间。我们希望得出评论极性分数,以确定它们是正面还是负面,并迅速对工作方式进行必要的指导。

▶多元回归:收入预测

数据:收入,付费用户,营销支出和折扣率

实现效果:**基于其他因素来预测预期收入 **

我们希望根据优质产品的订购数量,营销支出和平均折扣率等因素预测业务将产生多少收入,更好指向业务分析,获取洞察。

▶二元分类:泰坦尼克号的幸存者

数据:泰坦尼克号乘客的人口统计和生存

实现效果:**根据乘客的年龄、性别和机舱等级来估算他们的存活率 **

着眼于收集有关泰坦尼克号乘客的信息,看看是否能够根据他们的性别,年龄和乘客等级准确预测某位乘客在这个悲惨事件的生存概率。

如下所示,如果乘客属于特定类别,乘客生存的可能性之间显然存在相关性,我们可以根据人口统计数据预测乘客的生存情况。

▶部署模型

通过部署模型,可以将更常用的模型提供给更广泛的受众,并允许最终用户更轻松简单地从 Tableau 直接调用这些用户。这些部署模型将是可以由任何连接到 TabPy Server 的用户调用函数。

4

结语:Tableau + Python

比你想象的更容易实现

民主化数据科学

充分利用 Python 的扩展性和 Tableau 的灵活性

Tableau Online 还无法实现

图片说明:数据科学流程

产品试用 https://kuaibao.qq.com/s/20190111B12O8000?refer=spider