Python中国社区  »  Python

优阅达“优资讯” | 知否知否 Tableau + Python = Surprise!

优阅达大数据生态 • 1 周前 • 14 次点击  

关注我们 关注Tableau



早在 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 还无法实现


图片说明:数据科学流程



由于文章篇幅限制,以上实例的具体步骤并未全部列出。想要深入探索的数据粉,可微信联系小优(dkmxiaoyou)索取相关资料。





欢迎报名 Tableau Workshop


下周,我们将在 深圳、广州、北京 举办 Tableau Workshop。欢迎数据粉们按需参加!快快扫描以下二维码报名吧!


1.17 深圳 进阶

1.18 广州 进阶

1.17 北京 进阶


【温馨提示】

为避免错报场次,建议您点击放大二维码图片之后

再长按识别报名



产品试用

点击下方阅读原文可免费试用最新版本 Tableau

参与讨论

你可加入中国(含港澳)  Tableau 微信讨论群,随时随地向数据专家咨询、与更多数据粉讨论与分享。请扫描下方二维码,添加微信群小助手(暗号:入群),它会很快让您进入群讨论!

Hi,我是 Tableau 微信群小助手!

朋友分享
点击右上角“分享文章到朋友圈”

点击右上角“发送给朋友”


 优阅达 大数据生态 


优阅达 致力于构建大数据生态环境,为大中华地区的跨国企业和本土企业提供商业智能、数据整合、大数据平台等综合性解决方案。综合集团、金融、房地产、零售、互联网、医药、电信、金融、高科技等行业众多客户已经从这些服务中直接改善其营业收入和利润增长。



点击阅读原文免费试用 Tableau !


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/mIIzESDrIS
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/27742
 
14 次点击  
分享到微博