2015年1月10日 星期六

資料分析鍊金術(八)-想像力是你的超能力


圖片來源:https://psychologies.co.uk/self/what-would-your-super-power-be.html
        
        加入技術單位之後,在真正分析資料問題之前,常需要思考處理眼前的技術問題.有時候會天真地認為,只要解決技術問題,資料就已經分析完成.就像當我們披荊斬棘的來到城堡面前,奮力爬上城堡,打倒魔王,救回公主後,才發現要過著幸福快樂的生活,還需要學會如何與公主相處

        當我們處理好一切技術問題後,好不容易爬網抓回資料,透過hadoop儲存大量消費者資料,透過很厲害的分散技術快速讀取資料,然後資料呢?還是需要我們去分析他.分析資料不只是把一堆不同來源的表格合併而已,難道好不容易得到的資料合併一下就交差,未免也太浪費資料吧?
   
        分析資料真的不像挖礦一樣,這邊沒有就換其他地方找,而是可以透過不同的角度,或是稍微轉換一下型態,就可以得到新的想法或發現.

例如以下這個常見的消費者點擊資料(資料是我在pages上亂key的):
id
website
cnt
1
A
2
1
B
1
1
C
3
2
A
5
2
D
6
3
B
4
3
E
7
3
F
400

以及消費者基本資料:
id
age
gender
1
12
F
2
23
M
3
46
F

有點sense就會想把兩個table join起來:
id
age
gender
website
cnt
1
12
F
A
2
1
12
F
B
1
1
12
F
C
3
2
23
M
A
5
2
23
M
D
6
3
46
F
B
4
3
46
F
E
7
3
46
F
F
400

合起來之後你會想做什麼?

  • 資料整理:真實資料太多奇怪的值了,那個cnt=400是怎麼回事? 要不要排除?
  • 老實說光上面這個就會搞超級久了,因為每筆資料奇怪的地方都不一樣.
回到分析上,有這筆資料你可以做什麼分析?
  • 既然有點擊資料,那做個推薦系統行不行?
    • 當然行,那接下來要考慮要用啥推薦系統?ALS?
    • 要用單一推薦法還是混合法?
    • 如果是new user要怎麼處理?平均值還是另外建模?
    • 到底要把哪些東西丟給推薦系統?可能要篩選欄位或是更改一下形狀
    • 除了推薦系統,然後咧?
  • 既然有使用者,那也可以做個分群囉?
    • 資料適合分群嗎?要不要轉換
    • 可能轉成這樣,注意到差在哪嗎?把原本的網站欄位轉換成dummy varible,同時還要把gender換成數字

id
age
gender
A
B
C
D
E
F
1
12
1
2
1
3
0
0
0
2
23
0
5
0
0
0
0
0
3
46
1
0
4
0
0
7
400


    • 實務上還需要做標準化,我這邊懶得重新算
    • 要用啥分群?大部份的人只會用kmeans,要不試試看其他方法?
    • 分群距離?一般人知道歐幾里德距離算很厲害了,其他的距離法?
    • 到底要分幾群???
  • 然後咧? 可不可以做個預測模型?當然也可以
  • 可不可以視覺化,做個互動圖表?
  • 當然還有其他玩資料的方法
        這邊同一筆資料就有三四種以上的玩法,每種玩法又有許多東西可以嘗試討論和考慮的地方,那怎麼知道要用哪些方法或角度來分析?這時候除了對基本的分析方法,演算法有基本認識外,更重要的是對於資料的理解以及想像力

        畢竟資料可不是好好長在哪邊給你分析的,不同的資料適合不同的演算法,就算有現成的套件,很多時候需要將資料轉換後才能放到演算法中。不同演算法吃的欄位,變項屬性也不盡相同,同一筆資料可能單純透過long to wide 或 wide to long來套用不同的分析方式。這都需要對於資料以及演算法的熟悉以及面對資料時的想像力才能正確且神奇的使用。

        資料分析是要分析後才有意義,救公主的過程再艱辛,處不好給你鬧分手偷吃戴綠帽也沒用


沒有留言:

張貼留言