iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
3
AI & Data

AI無法一步登天,讓我們先從專有名詞定義開始。系列 第 10

資料分析(Data Analysis) -2.分群(分類)

簡單說明一下不同的分析方法,讓初心者明白其中差別。
再次重申,本系列文著重在名詞解釋,故以下不會細談實作。

會員分群做舉例。

1. 分類分析(Classification):

已經主觀決定出分類,例如決定好將會員分成三類:低消費群、中消費群、高消費群。依照消費金額,主觀地將所有會員分進去這三類,主觀地決定哪兩個金額門檻,可以把會員分成三群,例如平均每月消費999元以下者為低消費群、1000~9999元中消費群,10000元以上高消費群。

重點在於四個字:人為主觀。三類是人決定的、金額門檻也是人決定的。

2. 群集分析(Clustering):

這項分析可謂博大精深,【群集分析(Clustering)】是一個統稱,實則背後有著各種不同的演算法,也各有優缺點,機器學習的發展就是由此展開的。在此,小馬只有辦法簡述,實無法盡述。

【群集分析(Clustering)】也是在做分群,其中K-mean演算法,是最為人熟知且常用的演算法,透過不同演算法的分析技巧和特性,分析人員在演算法下,可以找出較適合的分類數量(分幾群),可能不是如上分成三類,而是分A~E五類,甚至到了最後,分析人員會對於到底要分A~E五類還是A~F六類而猶豫不決。
但不論分成多少類(多少群),【群集分析(Clustering)】的演算法會直接把所有樣本分進不同的類別(群集)裡,等於是演算法會將分好的會員直接計算出數據,例如A類的會員平均消費金額多少、B類的...等等以此類推,進而去描述不同群會員的相貌。

重點在於四個字:系統客觀。不管是分類或是計算而得的門檻,都不是由人去決定的,而是透過演算法的技術去訂定,人能決定的,只在於選擇哪種演算法,和當演算法跑出幾個很相近的(最佳)分類結果時,要選擇哪一個分類。

【分類分析(Classification)】是分析者做出人為主觀的分類(人主動決定結果)
【群集分析(Clustering)】是演算法做出系統客觀的分類(人被動接受結果)

實際操作上,針對不同目標,也不會只有一種分類,例如上述是依照消費金額去區分,應很容易想像,我們還能依照不同的消費屬性做分群。以會員分群為例,最常聽到的就是RFM:

最近一次消費(Recency)
消費頻率(Frequency)
消費金額(Monetary)

甚至,不同商品類別擁有各自的RFM,因為商品生命週期不同,例如衛生紙兩三個月要買一次、手機兩三年才換一次;不同計算的交易區間(要算一年?兩年?三年?)也會有不同的RFM。

也因此,在談CRM(客戶關係管理, Customer Relationship Management)的時候,RFM是最常見的分析元素,也是最常見的資料採礦目標。至於取得採礦完的資料,要使用【分類分析(Classification)】還是【群集分析(Clustering)】,就得看該產業的特性和文化了。

在我極少部分的經驗裡面,【分類】兩個字指的是【分類分析(Classification)】、【分群】兩個字指的是【群集分析(Clustering)】,但由於這不同的兩個字詞彙並非專有名詞,甚至它很難讓人在第一時間理解上述的區分。

要怎麼跟一個客戶說這句話:
「我們在講的是分群,不是分類。」
這還不被人覺得在咬文嚼字嘛!

因此,這兩個字,並非小馬著重的「釐清專有名詞定義」的重點,分類即分群、分群即分類,無須多加區別。



數據分析 番外篇2

專業與否

「經過我們團隊使用群集分析、cluster的演算法技術,我們將會員分成,消費一千元以下的是低消費群、一千到一萬元是中消費群、一萬元以上是高消費群。」

如果你能一眼看出上面這句話的問題所在,那你真是一個不折不扣的...呃...同行!或是有認真看完我上面文章的讀者(衷心感謝!)。

首先cluster算出來的門檻,哪這麼剛好是如此漂亮的整數,如果真的剛好整數,還兩個以上的門檻是整數,真的可以去買樂透了,沒有那麼巧的;其次是...雖然看似吹毛求疵,但這很關鍵...剛好一千元和剛好一萬元的人,是哪群呢?我們在談這些數值,絕對不會有重疊(overlapping)的狀況,只要自認夠專業的,對這種細節肯定會留心。

話雖如此,在實際的執行面,通常是【群集分析(Clustering)】先、【分類分析(Classification)】後。

先透過【群集分析(Clustering)】找到適合的分群數,並且觀察分群數的門檻落點,舉例cluster下來看似分成四群最佳,而四群的每月平均值分別是:755、3288、8960、20133,再觀察這四群的人數。等於是已經有一個進行【分類分析(Classification)】的參考依據,於是就能決定:「好!分成四群,區間大概就抓:1999以下、2000~5999、6000~14999、15000以上。」

實際執行

談到這一定會有人想問:「幹嘛不直接用cluster完的數據和門檻就好?要自己再分類過?」

大概有三個原因:

  1. 無法證明強度:沒有證據可以證明,cluster切出來的原始效果會比重分類的效果還要好(實際上已相去不遠)。畢竟數據一直在變,下個月重新做cluster,它又會跑出不一樣的分群切法。
  1. 執行面的困難:如果要完全按照cluster的切法,等於每跑一次cluster,就得重新訂定一次會員達標門檻,實際執行不可能朝令夕改呀!例如八月公布「近三個月消費滿15000是白金會員」、九月公布「近三個月消費滿18000是白金會員」、十月公布「近三個月消費滿20000是白金會員」,裝肖喂!你這客訴電話還不被消費者打爆嗎?
  1. 老闆們看不懂:對於高階主管,不可能在他面前解釋統計學的、更不可能在會議上「彷彿要教導他統計學」。

對話只會變成這樣:

老闆:「為什麼你的白金會員門檻是13277?幹嘛不抓個一萬五或一萬三?」
小馬:「這是我們運用分群分析做出來的最佳結果。」
老闆:「分群分析我知道啊,大數據嘛!那你們怎麼做?」
小馬:「我們是用K-mean去跑的。」
老闆:「那是怎麼跑的?怎麼跑出一個這麼不符合人性的數字呢?」
小馬:「它是用算距離的概念...」
老闆:「什麼距離!你現在薪資和你期望薪資的距離嗎?

大概是這樣~
好啦為了避免小馬文章po完未來找不到工作,必須平反一下。
/images/emoticon/emoticon16.gif

老闆其實講得沒錯,是因為,「抓整數當門檻」已經是一個根深蒂固不可改變的思考,因為能實際執行操作才是最重要的。背後可以有各種演算法去支持,但無論如何到了最後,仍必須透過人工的方式調成整數。老闆想法蠻單純的,也很容易理解,就是整數這件事不能變,但又必須用到最新流行的各種統計學的方式做出來,而且會認為我們作分析的當然要知道這兩個重點,怎會不知變通,拿著原始的統計值想來訂定門檻?所以生氣囉!

也因此,變通之下,就是前面說的先【群集分析(Clustering)】、再【分類分析(Classification)】。已經是業界普遍進行的模式了。

這更讓我深刻體會這句話:盡信書,不如無書。


上一篇
資料分析(Data Analysis) -1.定義
下一篇
資料分析(Data Analysis) -3.迴歸
系列文
AI無法一步登天,讓我們先從專有名詞定義開始。31

2 則留言

0
杜岳華
iT邦新手 5 級 ‧ 2018-10-10 23:15:18

各種人類的慣性思維真是罪惡阿!

不過我不會在老闆面前談統計跟機器學習,我就只會直接跟他講結果。但是老闆又特愛問原理跟演算邏輯,超想叫他去念 CS 的...

真的,不只是老闆,一般員工使用也都會有這種慣性。
舉例我前公司使用IBM cognos作為主要BIS,於是使用者幾乎慣稱BIS這三個字,可能到他們離職前都不曉得,【BIS只是個BI工具的統稱】,Tableau也是BIS、power BI也是BIS......。
這導致現象是每當廠商來,聽到大家講BIS,還以為在講BI階段做的事,一直到後來才搞懂,原來大家是在談Cognos上面的某些功能。這現象我也是蠻搖頭的。(也算我要來談專有名詞定義的動機之一啦~哈哈...)

把計蓋砸在......

自己的桌子上
(微笑

0
tkunlin
iT邦新手 5 級 ‧ 2021-02-05 14:14:57

我喜歡看番外篇 /images/emoticon/emoticon01.gif

我要留言

立即登入留言