2014年6月7日 星期六

蘋果的Big Data職缺,想進蘋果也要懂資料分析



最近全世界都吹起Big Data風潮,連蘋果(Apple)也一同蠢蠢欲動。最新的蘋果職缺中,今年2014年5月14日,蘋果的廣告部門開了一個高級軟體工程師的職缺。

筆者將職缺需求整理如下,提供相關的產業參考。

  1. 超過五年的軟體工程與資料分析的經驗。
  2. 熟悉的工具須要包含Java、Python、Hadoop、R、SPSS、SAS。
  3. 具有網路廣告的分析經驗。
  4. 懂SQL,也就是過去大家熟悉的關聯式資料庫。
  5. 理論的部分要懂資料探勘(Data mining)、資料匹配(Data matching)、機器學習(Machine learning)、 統計(Statistical techniques)、實驗設計(Experimental design)、最佳化(Optimization)。
  6. 具有大量數據的處理經驗,像是處理單位高達PB(Petabyte)以上的資料量。
  7. 具有解決真實問題的經驗。
  8. 獨立的工作能力。
  9. 關注資料分析的準確率與品質。
以上主要的徵求內容,在台灣算是跨科系才能學到的能力,筆者舉例如下:
  • Java較偏資工系
  • R較偏統計系
  • Python與Hadoop可能偏資管系或資工系
  • SQL的部分偏資工與資管
理論的部分資管跟資工都可以選修到,有些還是必修,但最佳化(Optimization)的課反而在工管系才可能碰到。當然現在有所謂的「資訊科學系」可能前述理論與工具都可能學習到。而個人覺得工具面的部份包含Java、Python、Hadoop、R這些開放原始碼,大部分都還是要靠學生自行學習。

最難的部分是在領域知識,像是蘋果的職缺需求就要網路廣告的分析經驗,對岸有些職缺需要懂金融、商業等領域知識的,這些領域知識在學校反而偏向是商業類科系才可能碰到,譬如筆者在大學修的廣告學、消費者行為,都需要跨修到企管系。

面對於這種職缺需要多年養成的職缺,企業不可能要求求職者百分之百都會以上技能,因為有些求職者即使會以上技能,個性與相處上反而也有問題,只能盡量取人格特質與技能較為平均的人才。i

以筆者的經驗,通常一般行情是很難請到具有上述能力的人才。因此筆者就根據企業所要發展的方向來決定這些能力的比重,像是工作在分析比重較高,就會著重在R與Python的能力,且具有商業分析概念,且具備「溝通」能力的人才,因為他一般的工作就是協助進行資料分析,並產製BI報表或平台的能力。而R跟Python本身就能完成這些事情,所以工作反而是在溝通與呈現,以及應用統計、資料探勘、機器學習等理論在實務上。

至於比較強調資料儲存與資料流通的,技術要求就會著重SQL、NoSQL上,因為這類人才就類似早期的資料庫管理師,強調在資料庫的配置,資料庫的管理,他的工作比較偏重資料庫、基礎設施、資訊安全,同時這個角色對於伺服器這些硬體設備也要有一定的了解。

最後,比較著重系統建置的,就會希望具有PHP、RoR、Python、C#與資料庫的能力。這個角色能夠提供前端與後端的系統建置,像是具有做過ERP、PLM這類大型系統的建置經驗,他們通常具備一些技能組合,像是PHP+MySQL、C#+MSSQL、RoR+PostgreSQL等等,他們負責將資料分析人員產生的雛型(Prototype)進行實踐。

這樣的分工組合就可以變成分析的人才專注在分析與商業應用探討,並做出雛形系統,資料庫人員專注協助資料庫管理與資訊安全,系統建置則專注將分析結果實施到企業系統上。

最後還要搭配專案經理或產品經理的角色,該角色具備領域知識與管理技能,如此一來就是一個理想的資料科學團隊雛型。

參考:
資料科學團訓班
資料爬理析 Python 實戰班2

2014年5月27日 星期二

10位國際頂尖資料探勘大師


近年來巨量資料(Big Data)的風行,讓沈寂20多年的資料探勘(Data Mining)技術又再度熱絡起來,並且延燒到企業中,像是前幾天甫落幕的活動,華碩與亞太資料探勘及知識發掘會議(Pacific-Asia Conference on Knowledge Discovery and Data Mining,簡稱PAKDD)共同舉辦的國際性大數據探勘競賽,就嘗試將為期5年的維修紀錄作為比賽的原始資料,要求參賽者推測出各元件每月報修數量的預測模型。
排名
學者
引用次數
1
Trevor Hastie
93283
2
Jiawei Han
88940
3
Jeffrey Ullman
88621
4
Rakesh Agrawal
80673
5
Jinyan Li
79323
6
John Canny
56691
7
Jeongkyu Lee
55065
8
Philip S. Yu
54020
9
Vipin Kumar
53489
10
Christos Faloutsos
46079


而每個領域都有所屬的專家,因此這邊筆者整理了國際頂尖10位的資料探勘專家,該排名依據是由Google Scholar中的文章引用次數(Cited),通常引用次數越高,也代表該名學者的學術聲望越高。

接下來讓我們一同向大師學習,依據排名這10位大師分別是Trevor Hastie、Jeffrey Ullman、Jinyan Li、Jeongkyu Lee、Vipin Kumar、Jiawei Han、Rakesh Agrawal、John Canny、Philip S. Yu、Christos Faloutsos,以下表格包含排序與引用次數。

Trevor Hastie與Jeffrey Ullman分別是史丹佛大學(Stanford University)的統計與電腦科學教授。其中Trevor Hastie教授以R語言作為主要工具,所撰寫的The Elements of Statistical Learning一書,就被引用高達一萬九千次,另一位教授Jeffrey Ullman則是知名的計算機概論書籍Compilers Principles Techniques and Tools與Introduction to Automata Theory, Languages, and Computation的作者。接著Jiawei Han為伊利諾大學的電腦科學教授,這位教授大家應該就不陌生,因為JiaweiHan教授的書Data mining: concepts and techniques堪稱資料探勘界的經典書籍,該本書引用次數高達兩萬多,是超過前面兩位教授的。關於他的介紹,請大家直接參閱下面的報導:


接著是Rakesh Agrawal,為印度的數據挖掘之父,該名學者為微軟研究中心的研究員,曾在IBM 研究中心發表名為Fast algorithms for mining association rules與Mining Association Rules between Sets of Items in Large Databases引用次數破萬次,使他位居於第四名。接著Jinyan Li為悉尼科技大學(University of Technology, Sydney)的教授,專長偏生物領域,發表多篇生物相關的資料探勘研究。

John Canny為加州大學柏克萊分校(University of California, Berkeley)的教授則為知名人工智慧的書籍Artificial intelligence: a modern approach作者,引用次數也高達兩萬多次。而Jeongkyu Lee為橋港大學(University of Bridgeport)的教授,跟Jinyan Li相同皆以多篇資料探勘生物應用研究,擁有較高的引用次數。

跟Jiawei Han同校並且也名列榜上的教授還有Philip S. Yu,而這兩位教授一個位於香檳分校,另一位於芝加哥分校,都是知名的資料探勘專家。Philip S. Yu教授以多篇資料探勘的理論研究為居第八,該學者的研究幾乎每篇都呈現破百的引用次數,像是Data mining: an overview from a database perspective、An effective hash-based algorithm for mining association rules、A framework for clustering evolving data streams、Top 10 algorithms in data mining等都是知名的文章。

接著是Vipin Kumar,他為明尼蘇達大學(University of Minnesota)的電腦科學教授,也曾與Philip S. Yu等人發表過Top 10 algorithms in data mining的文章,同時也是知名資料探勘書籍Introduction to Data Mining的作者,該書籍與Data mining: concepts and techniques都是台灣資料探勘課程的參考書籍。

最後一位Christos Faloutsos則是卡內基美隆大學(Carnegie Mellon University)的教授,該教授可以說是Graph mining的大師級人物,多篇Graph mining的研究,包含Graphs over time: densification laws, shrinking diameters and possible explanations、Graph evolution: Densification and shrinking diameters都是源於該學者。

當然依照不同的角度,排名也就不同,其他排名在後的知名學者其實也不少,像是西門菲莎大學(Simon Fraser University)的Jian Pei其實也是Data mining: concepts and techniques的作者之一,明尼蘇達大學(University of Minnesota)的George Karypis教授就是知名推薦系統演算法Item-based collaborative filtering recommendation algorithms的作者。另外紐西蘭懷卡托大學(University of Waikato)的Mark Hall與Eibe Frank 兩位教授則是知名資料探勘與機器學習軟體Weka的作者。而加利福尼亞大學歐文分校(University of California Irvine)的教授Padhraic Smyth則為提出資料庫知識發現(Knowledge-Discovery in Databases)流程的作者之一。

最後身為台灣人,台灣專家也要整理出來,依照Google Scholar的文章引用次數(Cited),名列前面的台灣專家還有台大網媒所的Chun-Wei Lin、Chih-Jen Lin兩位教授,中研院的Ming-Syan Chen教授,三位都位居前30名中,所以台灣其實不簡單,小小一個國家就有三位專家在排名上。

從上面的資料可以發現,資料探勘領域專家多屬亞洲人居多,像是排名10大的就有4位亞洲人,Jiawei Han教授為上海人,Jinyan Li教授雖未說是哪裡人,但學士與碩士學位都是在中國拿的,因此可以推斷是亞洲人,Jeongkyu Lee教授則是韓國人,Philip S. Yu則是台灣出生,學士是在台大電機工程系拿的。所以在國內資料探勘專家其實不少喔!

下回筆者再來介紹機器學習的大師。


本文同步刊載於Data Science Program 資料科學計畫

2014年2月28日 星期五

13個必學的R軟體指令

整理列出常用的指令

GitHub網址:
https://github.com/rippleblue/Blog_R_code/blob/master/Useful%20functions.R


計算物件的長度
length(object)

計算物件維度
dim(object)

檢視物件架構
str(object)

檢視物件格式,有向量、矩陣、字元等
class(object)

檢視物件的名稱
names(object)

建立向量
c(object,object...)

以行的方式合併物件
cbind(object,object...)

以列的方式合併物件
rbind(object,object...)

印出物件
object

檢視物件最前面的資料
head(object)
head(object,10) #可檢視前10筆

檢視物件最後面的資料
tail(object)

列出環境目前有的物件
ls()

刪除單一物件或全部物件
rm(object)
rm(list = ls())

2014年1月31日 星期五

用巨量資料看春運:百度遷徙


每年春運一直是對岸逢年過節的熱門話題,而今年1月26日對岸百度首次以適地性服務 (Location Based Services簡稱LBS)技術,取得網民的移動資料,並整合百度地圖,以「百度遷徙」的主題,報導整個春運的狀況。

而本次也是對岸首次運用巨量資料(Big data)的概念來報導春運的運輸全貌,藉此我們也可以看到大數據在整個運輸政策、文化交流上,都有重要的發展意義。


首先我們可以從百度遷徙看到幾個功能「月份」、「時間」、「地點」、「遷入熱市」、「遷出熱市」、「最熱線路」,是整個查詢網站的主要功能。月份可以查詢1月16日起到整個春節時間,地點則可用文字搜尋城市,例如搜尋”上海”,即可了解上海的熱門遷入與遷出城市。

上面每個點代表一個城市,金黃色的線則表示動向,而右邊有1~10名的排序,方便我們觀察遷入與遷出的比例。以上海來說,1月29日除夕前一天早上10點,遷入的熱門省份為「江蘇」、「浙江」、「安徽」、「廣東」、「山東」、「江西」、「福建」、「河北」、「四川」、「湖北」。而遷出的熱門省份,也就是從上海移動到的省份為「江蘇」、「浙江」、「安徽」、「江西」、「湖北」、「廣東」、「山東」、「河南」、「臺灣」、「福建」。從上面的排名可以發現有趣的現象,遷入與遷出的省份前三名都不變,後面開始就有不一樣的事情發生,像是遷出有了臺灣,於是我們可以再點臺灣去看熱門的遷入遷出省份。


可從上圖發現,從各個省份要回家排名前六名的有「上海」、「香港」、「江蘇」、「北京」、「福建」、「江西」,這數據是否可以顯示「臺灣」與「上海」交流比「臺灣」與「北京」更活絡,從1月29日除夕前一天早上10點來講,這背後的意涵大家就可以自然衍生了。


另外一個角度是從台灣遷入過去的省份,如上圖排名前六包含「上海」、「香港」、「江蘇」、「北京」、「福建」、「江西」,從這裡是否也能觀察到旅遊業這塊的市場呢?

接著我們回到最首頁,可以看「遷入熱市」、「遷出熱市」、「最熱線路」,也可以觀察到許多某個時間點,對岸的人流動向。


像是遷入排名前三名為「北京」、「重慶」、「武漢」。


遷出排名前三名為「北京」、「上海」、「廣州」。


最熱門的線路為「成都到北京」、「北京到成都」、「上海到滁洲」,從上圖也可以觀察到對岸省份交流比較活絡的是「北京」與「成都」,遷入成都1,000人當中有249人來自北京,從成都遷出的1,000人,有329人來自北京。


還有幾個是對岸新聞報導上的一些資訊,供大家參考:
  • 1月9日鐵路訂票「12306網站」和手機端的總訪問量達84億次,相當於每個中國人都通過電腦或手機訪問了該網站6次多。
  • 1400萬人次使用支付寶搶票。
  • 北京流出的人口就集中在保定、邯鄲、石家莊、張家口、天津。
  • 截止目前為止中國手機網民達5億人口。

最後簡單做個結論,筆者從這個平台看到幾件事情:
  • 通常20%已經是大家都知道的事情,透過巨量資料我們反而可觀察到80%人流動向,也就是長尾理論的概念。
  • 兩岸旅遊業可透過這張圖了解市場,像是較具發展潛力的旅遊省份。
  • 兩岸運輸業透過這張圖了解運輸動脈,像是台灣過年間較愛飛的省份。
  • 可觀察到兩岸交流較為熱絡的城市,甚至是對岸在省份間較為熱絡的城市。
  • 商人也可以觀察哪個城市交流最為活絡。
  • 用大數據結合LBS的服務來看觀察運輸全貌。
  • 巨量資料帶來新聞傳播領域的一種新的概念,像是資料新聞學,透過資料來強化新聞報導內容。
當然整個平台還是有些資料視覺化設計上的小缺點,這邊筆者也把它記錄下來,以便日後碰到相關的案子可以查詢。

一些想法與建議:
  • 沒辦法查詢一天或某一個時段(如:下午六點到八點)的遷入與遷出比例。
  • 無法以時間序列的概念觀察到每個省份的流量。
  • 本平台PC採用Flash製作,瀏覽速度不夠流暢。
  • 本平台行動載具版本採靜態的方式呈現,無法做細部查詢





參考資料:
  1. 大數據裏看春運:實時地圖上的春運全景
  2. 百度遷徙顯示北京榆林張家口來包旅客多
  3. 百度遷徙地圖看大數據 網友大讚接地氣!
  4. 百度遷徙:透過大數據看春運

2014年1月9日 星期四

關於開房數據事件的啟示

最近資安事件頻傳,不只台灣遠通電收,在對岸最近也頻繁發生數據外洩的問題。
本篇筆者以對岸最近發生的「開房數據」為例,來分享從不同角度觀察得到的一些啟示。

開房數據事件的原由來自浙江慧達驛站,這一家專門協助飯店做IT系統的廠商,在102年10月份被發現該公司所開發的Wi-Fi認證伺服器中的數據庫遭外洩。而事實上中國的安全漏洞監測平台鳥雲網其實在102年8月已經發現此漏洞,並且通知慧達驛站,但已經來不及。

該事件的禍源在於,使用者進入酒店之後,使用酒店的Wi-Fi必須採用實名制進行提交認證,而該Wi-Fi認證伺服器需連到慧達驛站進行認證,因此有兩個漏洞造成數據外洩:

  1. 認證過程採用明文傳輸,使駭客有機可趁。
  2. 資料庫未做好安全措施,使駭客得以進行備份整個資料庫。

該事件發生後,駭客先將資料庫非法販售之後,102年10月駭客再將資料庫上網惡意散佈,造成數據庫在一個月內被下載22萬次,平均一天被下載1千7百次,損失慘重。

而除了前述兩大漏洞問題之外,筆者也認為還有下列問題:
  1. 資料庫的權限未做修改(還在使用資料庫預設權限)
  2. 資訊架構未做好妥善規劃(如:防火牆、網路)
  3. 資料庫傳輸未做好處理(如:重要資料需加密傳輸)
  4. 資料紀錄為做好規劃(如:資料依據加密等級分門別類置放)
所以最終造成兩千萬筆數據「裸奔」的悲劇。

受害的飯店名單如下:

包含多家酒店比如漢庭、如家、7天連鎖酒店、南苑e家、格林豪泰連鎖酒店、布丁酒店、杭州維景國際大酒店等。

以下為筆者所歸納與分享的一些觀察

首先我們可以看到近年來對岸數據裸奔事件也相當的頻繁,

【2010年】
「360」服務器事件,上千萬筆用戶資料於Google上被裸奔
【2011年】
開發者社區「CSDN」、同期包含天涯社區、京東商城、噹噹網、支付寶、新浪愛問遭攻擊、支付寶員工自行洩露,造成600萬~7000萬用戶資料被裸奔
【2012年】
「中國人壽」資料庫洩露,造成80萬筆投保數據被裸奔
【2013年】
酒店開房數據洩漏、腾讯QQ群資料庫洩漏、
高達2000萬(1.7G)筆~12億(90G)筆資料被裸奔

這幾年事件中可以看到數據洩漏的網站皆是電子商務網站居多,更甚者是支付寶的數據是由內部員工傳出,筆者不禁聯想,未來是否也會發生資料戰爭(Data of War)?!這值得警惕。

接著從「數據庫營銷」的角度來看,這次事件的發生,打開了許多數據庫的市場,從前也許只是玩玩Excel,但由於這次的數據較為龐大,Excel頂多開啟1百萬多筆,網路上開始有許多熱心人士發表開數據庫的打開方式,以及SQL的語法,更甚至有人教如何分析這些數據,從百度搜尋即可得知,如下圖所示:


                                    (圖)網路搜尋畫面

因此讓筆者聯想到整個數據庫營銷的流程,如下圖所示:


從行銷的角度來看就是「體驗行銷」,就像近年來的觀光工廠常常可以吃到、喝到特產,或是玩到特產的製作過程,這樣的體驗可以提升消費者的買氣。從數據庫來看也是,當消費者發現這資料很特殊但卻打不開,進而尋求解決方式時,他們就在體驗數據庫大小改變的流程,從一百萬筆到兩千萬筆,應用誘因進而創造數據庫市場。

接著從「資訊安全」的角度來看,我們可以發現未來的數據庫的管理,必須由網管人員與數據庫人員,甚至是數據科學家並肩作戰。幾點分享如下:

  1. 內網與外網的運用  (網管負責)
  2. 資訊服務架構 (網管負責)
  3. 數據流?(數據科學家負責)
  4. 數據庫權限?(數據庫人員負責)
  5. 數據庫安全設置?(數據庫人員負責)
但就筆者的了解,事實上除了資訊產業公司之外,一般傳統產業公司並不注意這些分工,也其實不重視資訊部門,在資源相對較少的情況下,進而導致許多資訊安全事件發生,因此從這些事件,大家必須重新省思資訊安全的重要性。

接著從「社會問題角度」來看這件事情,前面提到該數據庫被非法販售,筆者從網路訊息得知一筆為9角,換算後駭客利用該數據庫非法所得達2百萬人民幣。而駭客將數據庫賣到沒有價值之後轉而散佈,造成數據庫散播後,這些數據庫中的用戶飽受紛擾,如:
  1. 不明來歷的推銷廣告
  2. 不明來歷的短信、電話、傳真
  3. 微博、微信詐騙
尤其上海的數據在事件的數據庫牽涉最多,因此損失最為慘重。


最後從「法律角度」來看本問題,前面提到上海人損失最為慘重,所以事件發生後,有一名在上海從事10年資訊安全工作的白領王金龍像法院提出了訴訟,成為全國該事件的受害者中訴訟維權的第一人,王金龍向酒店、慧達驛站索賠20萬元。但由於對岸在洩漏個人資訊這塊的法律還是屬空白狀態,因此官司是否能打贏還是未知。

有對岸律師事務所指出,《刑法修正案(七)》刑法第253條雖然界定了具體的犯罪事實,但不含近年興起的網站發布者,且法條中規定需「情節嚴重」因此在洩漏定罪上難以界定,這也反映出對岸在個人資料的保護上有待改進。

好,前面從這麼多的角度看這件事情,大家應該很想知道該事件接下來的發展吧,因此筆者把事件條列如下:

2013年4月
  • A駭客入侵教育局取得學籍數據,大陸網警花了好幾個月仍查無頭緒
2013年10月
  • 多家酒店的開房記錄被從網絡上曝光,引起社會高度關注。
2013年11月
  • 網警大隊發現洩露開房數據的人與A駭客有密切聯繫。
2014年1月5日
  • 民警於四川涼山州將罪犯逮捕
  • 警方在駭客電腦中發現30億筆個人數據
    該事件在短短三個月內就破案,看來對岸對於該事件關注相當高。

最後筆者下個結論:

第一點

「數據就像兩面刃,用的好加分,用不好零分」雖然大數據能增加各家公司競爭力已經是事實,但面對大數據時代的潮流,大公司更要重視數據的「安全」,除了挹注資源給資訊部門,更要重視資訊人才的聘用與培養。

而新創公司更要注意數據安全,因為一旦類似事件發生,損失難以估計。

但千萬別因為擔心發生這些事情而因噎廢食,再也不碰大數據,這樣想法是錯誤的。因為我們知道企業內部進行數據開放,可增加跨部門間溝通與決策者管理的效率。而企業外部有效的數據開放也可以增加商業交流與企業競爭力(如:淘寶)。因此好好的保護資料才是上上道。

第二點

數據的開放可以打通任督二脈,促進血液循環,這幾次事件的發生讓對岸數據庫基礎知識有了提升,因為大家為了想了解數據庫內容,而開始學習使用SQL。接著對岸也開始對個資有了保護的意識,因為這次洩漏的資料實在過於詳細,且上海數據為最大宗,因此建立個資保護的相關法條對岸勢在必行。最後在資訊安全的部分,對岸各公司也相對開始提升相關資訊安全設備,以避免類似問題重蹈覆轍。

「人抓到了,數據回不來了」這是從該事件中筆者獲得的最大心得,由於數據可以被複製散佈分享,因此只要散佈出去,就可以被全世界的人任意使用,就會長期保留在網路上,難以收拾。希望從開房數據的案例中,我們能以此為借鏡,開始做好資料安全(Data security)的事情,避免造成無法收拾的悲劇。


參考資料:

  1. 網安出槌 陸20家酒店個資外洩
  2. 2000万开房数据泄露获法院受理 沪每17人中1人遭泄密
  3. 开房数据泄露案告破:人抓了,数据回不来了
  4. 法院受理开房数据泄露第一案
  5. 360泄密事件
  6. 2011年中國網站用戶信息泄露事件
  7. 中國人壽曝客戶信息泄露門
  8. 腾讯群关系数据泄漏 据QQ号可秒查用户姓名年龄
  9. 個資看透透 徐旭東變「全民公敵」?
  10. 遠通電收:非蓄意「牽拖」駭客
  11. 資料開放與個人隱私

2014年1月6日 星期一