(資料科學家陳昇瑋正用 R 語言觀察資料)
上一篇〈二十一世紀最性感的職業:Data Scientist〉我們談了資料科學家的工作內容,或許很多人看完後,已經等不及在資料海中一展自己「性感」的魅力。
這篇一樣是由台灣稀有的資料科學家,同時也是中研院資訊科學研究所研究員的陳昇瑋擔任主角,跟大家分享「如何自我訓練成為一位資料科學家」。篤信資料價值的他,可是希望所有學生、各個領域中的從業人士也能相信資料的價值,成為資料科學家呢。
- 資料科學家必備能力:統計、寫程式、領域的知識
從資料科學家的工作內容中,不難理解資料科學家必備的能力有三個,分別是:統計專長、寫程式的能力、該領域的知識。
就陳昇瑋的觀察,資料科學家很難培養,因為工程師通常對統計沒有興趣、統計出身的人又對工程沒提不起勁,因此學校並不會刻意把程式和統計合併到一門課裡,想學多半只能靠自己。雖然學校沒教、同時兼顧這三個能力的人才又不多,不過對於擁有單一或兩個能力的人訓練起來會輕鬆許多,若你對資料有熱情,訓練起來更是不成問題。
目前他收的研究生有來自資訊、電機、數學、統計各種背景的碩士畢業生,成為他的門徒後,看需要什麼就補什麼,並跟著一個又一個的專案從做中學。而陳昇瑋自己大學、碩士、博士都是主修資工、電機,在寫程式能力已經具備後,他在博士班時期自修統計,現在才得以成為資料科學家。
- 資料科學家養成一部曲: 學寫 R 語言
如果想訓練自己成為資料科學家,陳昇瑋勸告,第一步是絕對不能怕寫程式,並從資料分析的兩大主流程式語言 R 或 Python 中選一個學,他首推是專門用來做資料分析的 R。正所謂工欲善其事,必先利其器,學會 R 或 PYTHON 是絕不可抗拒的第一步。
- 資料科學家養成二部曲:大量玩資料,培養對資料的直覺
第二步是開始玩資料,以培養對資料的直覺。陳昇瑋把這個步驟比喻為「像小孩子玩泥土」,玩資料也要玩到像小孩玩泥土那樣地隨心所欲,最後甚至能夠掌握泥土特性。
至於資料哪裡來,他建議從現在眾多的 OPEN DATA 當中,尋找一個有趣的、小的「Toy Data Set」,像是實價登陸、棒球比賽戰績這類跟興趣結合的資料,幾 MB 就夠,並在反覆的觀察、熟悉資料後,試著從資料中建立一個假設,並得出某些現象。
這個步驟在一些人的定義裡,有個專業的名詞叫「探索式的資料分析」(Exploratory data analysis)。
在這個步驟,你或許能從實價登錄資料裡得出房價與地段、樓層數、坪數之間的關係。而陳昇瑋在與 whoscall 的合作中,也是靠著這一步驟觀察出一般電話、詐騙電話、與行銷電話的通話模式,像是一般電話平均通話 75 秒、詐騙電話 26 秒、行銷電話則是 33 秒;此外,鈴響多久後被接起、來電人是否在你的通訊錄裡、來電人本身的發話頻率等等,也都是可以觀察的方向。
- 資料科學家養成三部曲:從蒐集資料到應用,走過一次
在學會統計用的程式語言、大量玩資料培養出對資料的直覺過後,下一步就是實戰。也就是把蒐集資料、整理資料,一直到分析、解決問題等資料科學家工作流程走過一遍。
這個階段你得給你蒐集而來的資料設定一個任務,並從預測(Predict)、分類(Classification)、群集(Clustering)三類應用中選一個來做。前一篇我們談過蒐集資料的難度,但要成為資料科學家,這一樣是你不可避開的關卡,因此你必須從小處開始決定自己要蒐集哪些資料,匯入自己建構的資料架構中,並開始分析、尋找現象,最後解決問題。
陳昇瑋假設一個題目是:「預測《TechOrange》上每篇文章會獲得多少的瀏覽量。」
要做這個題目,首先要從《TechOrange》網站的 HTML 上蒐集標題、作者、分享數、按讚數、內文 …… 資料,或許再拜託《TechOrange》分享近兩個月文章的分享量;接著把資料匯入 R 去觀察、計算出瀏覽量與其他資訊的關係;然後以尚未發表的文章的標題、作者等資訊,去預測其瀏覽量。
聽起來很好玩吧?你甚至可以預測股市、金價的漲跌,而事實上,的確有不少經理人是靠資料分析下單操盤的。
- 那些年,讓陳昇瑋玩到畢業的 140 G 線上遊戲資料
談到玩資料,陳昇瑋自己的博士論文,則是開始於 140G 的線上遊戲資料。
2002 年,也就是 12 年前,陳昇瑋跟遊戲公司宇峻奧汀合作,抱著一台電腦去機房紀錄一款從當時紅到現在的知名線上遊戲《神舟 online》的流量,那時他獲取了 20 個小時共 140GB、13 億個封包的資料。
為什麼是 20 小時?陳昇瑋笑答,因為硬碟滿了,畢竟那個年代硬碟空間沒那麼大。不過這 20 個小時,讓他玩了 4 年,寫了好幾份報告,也讓他順利獲取博士學位,更讓他能大膽的說「全世界網路遊戲的封包,沒有人比我更熟。」
陳昇瑋舉例,他可以從每秒鐘傳送的封包數量看出這個玩家正在走路還是打怪,也可以看出這個玩家是不是使用外掛,還能看出這個遊戲寫得好不好、有沒有妥善運用頻寬以避免掉封包的狀況。
或許剛剛你心臟漏跳了一拍,「原來我用外掛練等會被遊戲公司發現?」沒錯,而且世界第一個抓出外掛的人,就是陳昇瑋!
- 當資料科學家就跟當廚師一樣,沒有親自下廚,食譜看再多也沒用
從陳昇瑋玩資料的故事,不難看出他極其看重整個流程走過一遍這個步驟,「資料分析這份工作除非上手,不然很難產生價值」,他說。而要上手,除了一遍又一遍的訓練,不然不可能有對資料的直覺;更不用說當你成為公司的資料科學家後,你得在完全沒有資料的情況下預先看到資料的價值,決定要蒐集哪些資料。
或許有人會問,這樣做好像太難、太花時間了,能不能看書來培養對資料的直覺呢,像是看 Nate Silver 寫的《精準預測:如何從巨量雜訊中,看出重要的訊息》?陳昇瑋直言,沒有這種東西,看書、學 Machine Learning 跟資料科學家是完全兩回事。
「就跟學做菜一樣,就算你看再多食譜,沒有親自下廚,你永遠拿捏不準鹽巴到底該加多少,火侯該怎麼調配。」他如此比喻著。
- 資料科學家有很多種,文字、圖像、聲音分析各有優勢
不過資料科學家也不是萬能的,雖然他主導整個流程,但每個人都會有自己擅長分析的資料類型,因此如果是很大的資料架構,通常需要有好幾位資料科學家共同合作。
陳昇瑋舉大家熟悉的電子商務為例,如果要找出交易成功的原因,要處理的資料可能包括交易資料、商家資料、買賣前後對話紀錄、商品照片,這裡面要分析的有文字、對話、圖像,有的甚至會要分析聲音。當面對不同類別的資料時,就會需要不同的資料科學家,因為理論上沒有一個資料科學家可以分析所有類別資料,而你也可以從中尋找自己的優勢。
- 儘管資料科學家能創造這麼多價值,但在台灣你還是有可能會失業 ……
在挑起各位對資料科學家這個職位的憧憬後,一件殘酷的事時也必須提醒各位:如果想進入資料科學家一職,你很可能得去國外求職,想選近一點的也可以去中國。
因為台灣目前把資料當作核心競爭力的公司還是太少,如果在阿里巴巴徵才頁面搜尋「數據」兩個字,馬上可以看到一堆相關職位,如高級數據挖掘工程師、數據分析專家、數據倉庫模型架構師、數據科學家等等;但同時間,如果在台灣幾個電子商務網站搜尋,可說是一無所獲。
陳昇瑋跟我們談到最後,只能一面感佩中國投資力道強勁且十分積極,說做就做;另一方面感嘆台灣的公司還是相對保守,只想顧好一直以來的核心競爭力,不覺得自己需要來點破壞式創新,害得他想培養資料科學家,卻又得跟有興趣的人說學成後只能去國外找工作,搞得一點說服力都沒有。
現階段我們除了好好訓練自己成為資料科學家,並把希望寄託在 Gogolook 這種一開始就把資料視為核心競爭力的新創公司身上,再來,就是祈禱那些在產業中具有競爭力的大企業老闆睜開眼睛,別等失去競爭力後才意識到危機降臨。
最後報給所有相信資料價值的你,今年八月,陳昇瑋將夥同一群國內資料分析家舉辦台灣第一屆「資料科學家年會」,邀請各個領域中的資料分析家或資料科學家大談實際工作內容、分析案例,記得密切注意相關資訊。
- 延伸閱讀
Gogolook 怎麼快速累積新台幣 5.29 億的價值?專訪中研院陳昇瑋談「如何培養資料科學家」
為什麼 NAVER 砸 3 億買台灣團隊 Gogolook?《TO》專訪創辦人郭建甫談 Gogolook 的專注與優勢
IBM 首席架構師告訴你如何進入「21 世紀最性感職業」:數據分析科學家
Source: techorange.com