在2016年的美國,資料科學家已經被冠以“最佳工作”的頭銜,資料科學家的定義以及成為一名出色資料科學家所需的技能一直處於不斷的變化之中。科技和商業需求方面的進步驅使著資料科學家隨著行業的不斷變化而不停的進化。在這片文章中,我們將會近距離的看一看在2016年當中,作為一名資料科學家應該扮演何種角色。
Dave Holtz寫道,小小的“資料科學家”這樣的崗位頭銜,經常被充當一個空白頭銜來用,其作用就是說明資料科學家這樣的崗位所涉及到一系列工作,其實與其他工作有著天壤之別的差異。他把其中的原因歸咎於資料科學領域仍然處於嬰兒期並且人們對資料科學家的定義也並不是如此明確。採用了這樣一個屬於跨學科領域的包羅永珍的頭銜,資料科學家的工作就是從海量的資料當中以各種形式提取出人們所需要的知識或者是對於事物的洞察力。
大資料時代的年齡取決於我們自身,而且此刻它就停留在我們面前。現在我們收集到的資料量比以往任何時期都要龐大,而且伴隨著時間的流逝,從資料中提取有價值的資訊將會變得越來越錯綜複雜,並且需要更高超的技術。大資料經濟背後的邏輯正在以難以想象和預測的方式影響著我們每個人的生活。我們日常生活中造就的每一個電子資訊化的行為所產生的資料,最後都將會被用於資料統計,我們也可以藉此洞察產業的發展。
作為消費者經濟的參與者,當我們與任何一個網站或者電子化服務有所接觸的時候,我們每個人都會被當成資料探勘的物件,而且資料科學家就在那裡使用電腦科學、統計分析學以及錯綜複雜的商業知識相結合的方式對我們提供的資料進行收集、清洗、分析以及預測。
下面這張圖為我們展示了一名資料科學家所需要具備的技能組合。我們可以發現,和典型的大資料開發者或者商業分析專員相比,他的職責是多種技能和經驗的有效組合。
圖1:資料科學家的技能組合
What sets aside a data scientistfrom other, seemingly similar, data jobs?
是什麼讓資料科學家有別於他人,是看起來比較類似的資料工作嗎?
Rivera和Haverson提示我們說,以前的資料專家總是把工作的精力集中到資料的演示和遷移,而資料科學家更趨向於從數學角度出發,主要精力在於從過去和目前的資料中鑑別出各種模式,並從中得到啟發。如果從字面意思進行理解的話,“科學”表示通過系統性的學習而得到的知識;“資料”則意味著定性或定量變數的資訊庫——因此,從字面上看,一名資料科學家可以被定義為一個對組織和資訊的屬性進行系統性研究的人士。
儘管統計學家和其他研究資料分析的人士扮演著至關重要的角色,但是資料科學家的角色,就像Anjul Bhambari先生描述的那樣,一部分是分析師,一部分是藝術家,並且必定會為傳統資料的分析和使用方式帶來全新的變革。
The growing demand for datascientists
社會對資料科學家的需求與日俱增
商務人際網路——LinkedIn的成功,就是一個資料科學家通過資料為商業智慧帶去好處和利益的鮮活案例。當一家企業主要依靠他擁有的三億八千萬使用者之間互聯的資料轉換來盈利時,LinkedIn正在利用這些專業人才的好奇心來探尋大資料當中的新大陸。
LinkedIn和其他類似Facebook以及Google這樣的知識產業正在利用資料科學家的角色將體量龐大且抽象的資料進行結構化建設,從資料值和變數之間的系統性關聯當中界定其自身所蘊含的機密。
最近,由KPMG發起的一份調查報告顯示,99%的被調查物件認為大資料分析對他們下一年的戰略規劃有著舉足輕重的作用。等到了2020年,企業發展過程中每天產生的資料量將會超過240艾位元組,到了那個時候,企業會發現,對於可以從龐大資料庫中提取有價值資訊的資料科學家的需求,將會比以前更重要。然而,一篇由Travis Wright撰寫的文章說,對於資料科學家的需求將會遠遠超過目前社會能夠提供的水平,並且單單在美國的那些公司就需要僱傭14萬至19萬名資料科學家,前提是這些公司會繼續跟隨資料經濟帶來的效益。
但是出乎我們意料的是,資料科學家的平均工資卻存在著很多的矛盾,然而,我們清楚的是,該職位的平均工資確實會隨著對資料科學家需求的增長迎來更高的工資待遇。如果僱主期待候選人可以擁有資料探勘演算法經驗;能夠完全使用像R和Python這樣的語言開展工作;在大型資料庫(類似SQL)方面有工作經驗;可以執行Java應用;可以執行NoSQL資料庫——並且候選人還可以和非專業技術人員交流以上所有工作方面的事宜,那麼想得到約為12萬美金的年薪看起來並非如此遙遠的事情。
The role of a Data Scientist
資料科學家的作用
儘管一名資料科學家的職能超越很多傳統的資料分析師的職務,其中也有很多顯而易見的區別。
一名資料分析師或建築師能夠從龐大的資料庫當中提取資訊。然而他們卻被SQL查詢和用於切割資料庫的軟體分析包所限制。通過使用機器學習的高階知識和程式設計/工程,資料科學家可以按照他們自己的意願運算元據從而揭露出更深層次的發現。他們卻不會因這些程式而受到約束。
典型的資料分析專員的做法就是回顧過去產生的資料以及所發生的事件,但是一名資料科學家的做法必須超越於此並著眼於未來。通過使用高階統計方式和複雜的資料建模,資料科學家必須發現其中的模式,還得對未來做出預測。
The skills required of a DataScientist
資料科學家需要具備的技能
成功的資料分析依賴於資料的清理、整合以及轉換——關鍵的是,這需要所有資料科學家必須擁有所有技能的整合能力。如果將你自己的科學背景與計算和分析技巧相結合的話,完全可以讓自己更上一層樓。
下面的圖片2向我們展示了典型的資料科學學科所涉及到的主要領域。
但還是讓我們更深入的挖掘一下,成為一名資料科學家所需具備的實際技能吧。Data Floq公司的CEO,Mark van Rijmenam先生向我們推薦說,資料科學家應該具備以下的技能:統計、數學和倫理,當然也得包括相當高的預測建模經驗,以便於為了找出正確的問題和相應正確的答案而構建出必要的演算法。
儘管一位資料科學家可能執行的技能和不同的崗位職能很多,但來自LinkedIn的Ferris Jumah又進一步為我們整潔地歸納出所需的技能。
一名資料科學家必須:
●用數學的思維方式看待資料。瞭解一些像機器學習、資料探勘、資料分析以及統計方面的知識非常重要。一名資料科學家需要從數學的角度對資料進行詮釋和演示。
●使用通用語言進行資料的獲取、開採以及建模。掌握統計程式語言也很重要。類似R,Python或者 MATLAB這樣的語言,還有SQL這樣的資料庫查詢語言也是當下最受歡迎且比較搶手的語言。資料提取、研究和假設測試是資料科學實踐的核心。
●培養強大的電腦科學和軟體工程背景。這個要求資料科學家培養包括Java、C++或者演算法和Hadoop方面的知識。這些技能可以用來建設資料系統。
圖2:資料科學所關注的領域
Tools of a data scientist
資料科學家用到的工具
與典型的程式設計師不同的的是,程式設計師使用標準化的工具,而資料科學家趨向於使用大量的總是不斷改進的工具。這是因為資料科學家的世界正在快速的進化,很多新的工具還不夠成熟和完善。下面我們來列舉一些所必要的工具:
資料分析工具:
這裡所指的工具實際上僅僅是資料科學家使用的用於資料提取和分析的程式語言。較為典型的工具就是Python、R和 SQL。
資料倉儲工具:
資料科學可以選擇擁有自己的資料庫,他們可以在這裡進行資料的提取與分析。MySQL就是一款最受歡迎的處理體量較為合理的資料庫的軟體。當話題轉到大資料領域時,他們通常會使用Hive或者Redshift這樣的程式。也許你會吃驚的問,使用CSV檔案的資料科學家還會支撐多久。
資料視覺化工具:
我們經常提到的最普通的資料視覺化工具是D3.js和Tableau。對於D3.js而言,如果你能想象出資料視覺化的樣子,那麼你就可以利用這個軟體達到你想要的結果。目前Tableau是最受歡迎的資料視覺化軟體,它可以使來自於數百條輸入的編譯資料輕而易舉的轉換為清晰可見的視覺化效果。
機器學習工具:
機器學習領域內的剛出現的工具也許每天正處於不斷變化之中。廣泛使用的工具也許就非 Scikit-learn莫屬了,該工具利用Python進行機器學習。之後當然還有SparkMLlib,這是Apache為自己的Spark 和Hadoop使用的機器學習資料館。