04.16 用EXCEL寫算法分析?過程很複雜,結果很感人!

那天把別人大牛寫的方法拿過來做了個總結,然後有讓小夥伴覺得EXCEL可能是個建模編程的軟件,關鍵是當時我當時還**的回覆了下次出個建模分析的教程。

用EXCEL寫算法分析?過程很複雜,結果很感人!

今天我就厚著臉皮嘗試一把,膽戰心驚的寫這篇用EXCEL做的建模分析的。。。。探索。嗯,今天不能稱其為教程。各位看官要是略懂一二,碰到老王我寫的有任何有誤的地方,請輕噴,畢竟我還是要住在你隔壁,小心我把牆砸了啊喂。

好了,言歸正傳,今天嘗試用EXCEL做的建模是一種比較常用的聚類分析算法,叫K均值聚類,所謂聚類呢就是“物以類聚,人以群分”的意思,將相似的物品聚集到一起作為同一類別。比如老王我和樓上老李喜歡打牌,所以會聚集一幫牌友時不時搓個麻將,你喜歡看點動作片,所以活躍在各大動作片論壇。因為我們的類別不同所以你要是問我有哪些動作片明星,我肯定會告訴你,什麼蒼井空,川濱奈美,堤莎也加,町田梨乃,二階堂仁美,飯島愛,飯田夏帆,飯冢友子,芳本葉月,岡崎結由,岡田麗奈,高木萌美,高田禮子,高原流美,宮本真美,宮島司的,我一個都知道的。


那什麼叫做K均值聚類?K均值聚類的過程是啥?這些個問題我就不去詳細解釋?大家儘可以去搜索(噓!說得多,錯的多,蛤蛤蛤)。

- - - - - 開始一本正經瞎扯- - - - -

這是一個數據建模的過程,所以我們從數據探索開始:

用EXCEL寫算法分析?過程很複雜,結果很感人!

這裡我選的數據是手機用戶的通話和流量使用量:

一共有100條數據,都是0-1之間,因為我已經做了min-max歸一化處理。

我們先來看一下這些數據的分佈情況,來個散點圖最適合:

用EXCEL寫算法分析?過程很複雜,結果很感人!

數據看起來是有些特點,有一些通話很多但是流量很少,也有一些流量很多但是通話很少,剩餘的一些通話和流量都有但是貌似集中為兩塊。這是通過散點圖初步得到的信息。

我們要做的聚類就是將這些數據通過科學的方法聚集成幾類,這裡所用的科學方法就是這個叫做“K均值聚類”的算法,其中K就是聚類的類別數,根據上面散點圖的信息,我們可以嘗試將K設為4.

下面就是動態演示聚類過程了:

用EXCEL寫算法分析?過程很複雜,結果很感人!

這裡我將聚類的類別標籤顯示在對應的右邊一列,另外在E-F列顯示出了4個簇的中心點座標,這有助於後續的解釋分析。

對於聚好的類別,我們同樣還是做成散點圖來觀察:

用EXCEL寫算法分析?過程很複雜,結果很感人!

對於這個圖中的4個類別,我們逐一結合業務簡單分析一下:

1類中心點(0.09,0.25)表示通話較少,流量一般。這種是普通用戶,通話不多,流量也不是特別多那種。比如通話最多的是快遞外賣啊,流量不多是因為多數時間在家裡;

2類中心點(0.07,0.62)表示通話很少,流量很多。這種是流量型用戶,平時消耗最多的是流量,一般是年輕人居多,首選視頻語音通話,而且有追劇、看直播等很多消耗流量的地方,比如隨便就開始直播吃個飯啊;

3類中心點(0.77,0.03)表示通話很多,流量很少。這種用戶值得我們思考啊,這年頭誰還不用流量啊!但是偏偏就有些人不需要流量,比如讓你猜猜他是誰的,推薦你買股票、買黃金、買房子的。

4類中心點(0.41,0.51)表示通話較多,流量較多。這種商務人士居多,商務人士的電話肯定比普通人高不少,流量這塊因為外出等緣故,當然也有可能因為本身套餐流量較多的緣故,所以在流量的消耗上也很多。

以上就是通過EXCEL做的一個較為簡陋的手機用戶聚類分析。當然由於算法本身的問題,可能面對一些數據不能做好很好的聚類效果,也有可能在聚類過程中由於隨機選擇初始中心點也不能做到較好的收斂,所以。。。哦不好意思,這些不是這裡討論的問題,也不是我能輕易解決的問題。我就是為了嘗試下EXCEL做建模運算,只不過其中心酸大概比較了那些輪子造好的軟件才知道。

好了,以上就是今天的內容,輕噴。。。不噴的話難道不能點個贊?

哦?你問我源碼?這種東西還是私聊吧!


分享到:


相關文章: