上一篇关于tableau调用python的文章包含基本的原理、环境配置以及简单的调用实现,本文章是tableau调用python脚本的第二篇,与之前的基础篇相比有所升级,用无监督学习的kmeans聚类。
酷酷的章鱼哥:tableau调用python脚本(纯干货)zhuanlan.zhihu.com![v2-1fba61a68d0650fcfd4c7753440e4b65_180x120.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=7b0bb4c3-3f2f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-1fba61a68d0650fcfd4c7753440e4b65_180x120.jpg)
本篇文章不再讲环境配置及基础原理,如需了解,请移步之前文章。
如果是拿来主义,请下翻拷贝源代码
一、Kmeans介绍
初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个 簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值或者蔟心的距离不再变化。
![v2-028f1979bd0070cd380f346d6560e83a_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=7b0bb4c3-3f2f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-028f1979bd0070cd380f346d6560e83a_b.jpg)
优点:
- 原理比较简单,实现也是很容易,收敛速度快。
- 聚类效果较优。
- 算法的可解释度比较强。
- 主要需要调参的参数仅仅是簇数k。
缺点:
- 簇数目k需要事先给定,但非常难以选定
- 初始值中心点选择的不好,可能无法得到有效的聚类结果
- 对噪音和离群点敏感,会影响中心点的位置
- 不适合于发现非球状簇
二、数据准备
数据来自上一篇文章,已提供下载,kmeans的应用也在该文章中
酷酷的章鱼哥:用户生命周期Kmeans聚类并绘制雷达图zhuanlan.zhihu.com![v2-ec4b27b594c70e0ae96cd9f7228417e2_180x120.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=7b0bb4c3-3f2f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-ec4b27b594c70e0ae96cd9f7228417e2_180x120.jpg)
三、tableau中脚本的编写
![v2-9f922bfdc66524be252de6dfae3ccde0_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=7b0bb4c3-3f2f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-9f922bfdc66524be252de6dfae3ccde0_b.jpg)
python中的脚本只要符合python语法,写起来随心所欲
print 函数打印的内容会在tabpy server 控制台中显示
为了方便大家复用,脚本copy如下:
import
四、结果展示
![v2-626eebb20212f5edaa0a49b86e01850c_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=7b0bb4c3-3f2f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-626eebb20212f5edaa0a49b86e01850c_b.jpg)
![v2-05df9055cd4210133671ccd41e3627b8_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=7b0bb4c3-3f2f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-05df9055cd4210133671ccd41e3627b8_b.jpg)
后面会分享服务器部署有监督的机器学习算法,并用tableau可视化,在第一篇文章中讲过服务器上部署方法,感兴趣的小伙伴们可以自己先试试