04.16 用EXCEL写算法分析?过程很复杂,结果很感人!

那天把别人大牛写的方法拿过来做了个总结,然后有让小伙伴觉得EXCEL可能是个建模编程的软件,关键是当时我当时还**的回复了下次出个建模分析的教程。

今天我就厚着脸皮尝试一把,胆战心惊的写这篇用EXCEL做的建模分析的。。。。探索。嗯,今天不能称其为教程。各位看官要是略懂一二,碰到老王我写的有任何有误的地方,请轻喷,毕竟我还是要住在你隔壁,小心我把墙砸了啊喂。

好了,言归正传,今天尝试用EXCEL做的建模是一种比较常用的聚类分析算法,叫K均值聚类,所谓聚类呢就是“物以类聚,人以群分”的意思,将相似的物品聚集到一起作为同一类别。比如老王我和楼上老李喜欢打牌,所以会聚集一帮牌友时不时搓个麻将,你喜欢看点动作片,所以活跃在各大动作片论坛。因为我们的类别不同所以你要是问我有哪些动作片明星,我肯定会告诉你,什么苍井空,川滨奈美,堤莎也加,町田梨乃,二阶堂仁美,饭岛爱,饭田夏帆,饭冢友子,芳本叶月,冈崎结由,冈田丽奈,高木萌美,高田礼子,高原流美,宫本真美,宫岛司的,我一个都知道的。

那什么叫做K均值聚类?K均值聚类的过程是啥?这些个问题我就不去详细解释?大家尽可以去搜索(嘘!说得多,错的多,蛤蛤蛤)。

- - - - - 开始一本正经瞎扯- - - - -

这是一个数据建模的过程,所以我们从数据探索开始:

这里我选的数据是手机用户的通话和流量使用量:

一共有100条数据,都是0-1之间,因为我已经做了min-max归一化处理。

我们先来看一下这些数据的分布情况,来个散点图最适合:

数据看起来是有些特点,有一些通话很多但是流量很少,也有一些流量很多但是通话很少,剩余的一些通话和流量都有但是貌似集中为两块。这是通过散点图初步得到的信息。

我们要做的聚类就是将这些数据通过科学的方法聚集成几类,这里所用的科学方法就是这个叫做“K均值聚类”的算法,其中K就是聚类的类别数,根据上面散点图的信息,我们可以尝试将K设为4.

下面就是动态演示聚类过程了:

这里我将聚类的类别标签显示在对应的右边一列,另外在E-F列显示出了4个簇的中心点坐标,这有助于后续的解释分析。

对于聚好的类别,我们同样还是做成散点图来观察:

对于这个图中的4个类别,我们逐一结合业务简单分析一下:

1类中心点(0.09,0.25)表示通话较少,流量一般。这种是普通用户,通话不多,流量也不是特别多那种。比如通话最多的是快递外卖啊,流量不多是因为多数时间在家里;

2类中心点(0.07,0.62)表示通话很少,流量很多。这种是流量型用户,平时消耗最多的是流量,一般是年轻人居多,首选视频语音通话,而且有追剧、看直播等很多消耗流量的地方,比如随便就开始直播吃个饭啊;

3类中心点(0.77,0.03)表示通话很多,流量很少。这种用户值得我们思考啊,这年头谁还不用流量啊!但是偏偏就有些人不需要流量,比如让你猜猜他是谁的,推荐你买股票、买黄金、买房子的。

4类中心点(0.41,0.51)表示通话较多,流量较多。这种商务人士居多,商务人士的电话肯定比普通人高不少,流量这块因为外出等缘故,当然也有可能因为本身套餐流量较多的缘故,所以在流量的消耗上也很多。

以上就是通过EXCEL做的一个较为简陋的手机用户聚类分析。当然由于算法本身的问题,可能面对一些数据不能做好很好的聚类效果,也有可能在聚类过程中由于随机选择初始中心点也不能做到较好的收敛,所以。。。哦不好意思,这些不是这里讨论的问题,也不是我能轻易解决的问题。我就是为了尝试下EXCEL做建模运算,只不过其中心酸大概比较了那些轮子造好的软件才知道。

好了,以上就是今天的内容,轻喷。。。不喷的话难道不能点个赞?

哦?你问我源码?这种东西还是私聊吧!