一份資料科學家必備的技能清單(附資源)
來源:雲棲社群
本文共3300字,建議閱讀9分鐘。
為你列出關於資料科學職業應該具備的技能清單,包含技術技能與非技術技能,相關的讀者可以按照該清單逐步完善自己。
大資料時代,什麼職業比較吃香?答案可以從今年的校招薪資列表上知道——演算法工程師、人工智慧研究員、資料分析等職位。其實這幾個職位有一定的交集,那就是需要處理大量的資料,尤其是作為一名資料科學家,主要的工作在處理資料和分析資料上面,也有部分工作與演算法工程師和人工智慧研究員相重疊,其所佔的優勢在於對資料更加敏感。那麼作為一名資料科學家,應該具備的技能有哪些呢?本文將一窺究竟。
點選“閱讀原文”獲取文中學習資源相應連結。
一、學歷
資料科學家一般都具有高學歷——88%的資料科學家至少是碩士學位,46%的資料科學家是博士學位,這表明想要成為一名資料科學家需要非常好的教育背景(知識瞭解深入)。常見的專業是電腦科學、社會科學、物理科學和統計學。最常見的研究領域是數學和統計(32%),其次是電腦科學(19%)和工程應用(16%)。在攻讀上述學位中學習到的專業知識都將為您提供處理和分析大資料所需的技能。
在取得學位後就可以高枕無憂了嗎?答案是否定的,現在是終生學習的時代。事實上,大多數資料科學家在擁有碩士學位或博士學位後,還不斷通過線上訓練以學習如何使用Hadoop或大資料查詢等特殊技能。
二、R程式語言
對於資料科學家而言,R語言通常是首選程式語言。R語言是專門為資料科學需求而設計的,可以使用R語言來解決在資料科學中遇到的任何問題。事實上,43%的資料科學家正在使用R語言來解決統計問題。
但是學習R語言時有一個障礙,那就是如果你已經掌握了一門其它程式語言,那學起來是很痛苦的。儘管如此,網際網路上有很多R語言學習資源,例如Simplilearn的資料科學訓練和R程式語言。
技術類技能:電腦科學
三、Python程式設計
Python語言近來很火,隨著人工智慧以及深度學習的發展,Python已經超越Java語言成為程式設計中最常用的語言。Python也是在資料科學中常見的編碼語言,據調查,40%的受訪者使用Python作為其主要程式語言。
由於Python的多功能性,可以將其用於所有涉及資料科學過程的步驟。比如,Python可以採用各種格式的資料,並且可以輕鬆地將SQL表匯入到程式碼中。此外,還允許建立資料集。
四、Hadoop平臺
CrowdFlower對3490 名領英上註冊的資料科學家進行了一次調查,發現49%的資料科學家將Apache Hadoop列為第二項重要技能。
作為一名資料科學家,可能會遇到擁有的資料量超出了系統的記憶體,或者需要將資料傳送到不同的伺服器的問題,這些問題都可以通過Hadoop解決——使用Hadoop對資料進行分散式處理。此外,還可以使用Hadoop進行資料探勘、資料過濾、資料取樣和彙總。
五、SQL資料庫/程式設計
儘管NoSQL和Hadoop已經成為資料科學的一個重要組成部分,但有些人仍然可以在SQL中編寫和執行復雜的查詢。SQL(結構化查詢語言)是一種程式語言,可以執行諸如新增、刪除和從資料庫提取資料等操作,還可以執行分析功能並轉換資料庫結構。
作為一名資料科學家,需要精通SQL。這是因為SQL專門設計用於訪問、通訊和處理資料。當使用它來查詢資料庫時,它會提供見解。此外,由於其簡潔的命令,可以節省時間並減少執行困難查詢時所需的程式設計量。
六、Apache Spark
Apache Spark正成為全球最受歡迎的大資料技術。它類似於Hadoop,是一個大資料計算框架。唯一的區別是Spark比Hadoop更快。這是因為Hadoop需要讀取和寫入磁碟,而Spark將其計算快取在記憶體中,這類似於機械硬碟與SSD的區別。
Apache Spark專為資料科學而設計,能更快地運行復雜的演算法。當處理大量資料時,它有助於傳播資料處理,從而節省時間。此外,還能處理複雜的非結構化資料集。
Apache Spark的優勢在於其速度,利用該平臺使得開展資料科學專案變得非常容易。藉助Apache Spark,可以執行從資料採集到分散式計算的分析。
七、機器學習和人工智慧
許多資料科學家並沒有精通機器學習領域相關知識和技術,比如神經網路、強化學習、對抗學習等。如果想從資料科學家中脫穎而出的話,需要了解機器學習技術,如監督學習、決策樹、邏輯迴歸等,這些技術將幫助你解決基於已有的資料和結果來預測不同資料科學問題。
資料科學需要在機器學習的不同領域應用技能,Kaggle在其調查中發現,一小部分資料專業人員掌握了高階機器學習技能,如監督學習、無監督學習、時間序列、自然語言處理、異常檢測、計算機視覺、推薦引擎、生存分析、強化學習和對抗學習等。
八、資料視覺化
大資料時代,資料很多很亂,有些原始資料需要翻譯成易於理解的格式。人們自然而然地以圖表的形式展示資料所要表達的意思,“一張圖片勝過千言萬語”。
作為一名資料科學家,必須能夠藉助資料視覺化工具(如ggplot、d3.js和Matplottlib以及Tableau)來視覺化資料,這些工具能將專案的複雜結果轉換為易於理解的格式。
資料視覺化為組織提供了直接處理資料的機會,可以迅速掌握見解,幫助他們抓住新的商業機會並保持領先地位。
九、非結構化資料
資料科學家能夠處理非結構化資料至關重要,非結構化資料是不適合定義為資料庫的形式,比如視訊、部落格文章、客戶評論、社交媒體文章、視訊檔案、音訊等,對這些型別的資料進行排序很困難。
由於非結構化資料的複雜性,大多數人將非結構化資料稱為“黑暗分析(dark analytics)”。使用非結構化資料有助於揭示對決策制定有用的見解。作為資料科學家,必須有能力理解和操縱非結構化資料。
以下是非技術類技能
十、好奇心
我沒有特殊的才能,我只是充滿了好奇心——愛因斯坦。
好奇心可以被定義為渴望獲得更多的知識,作為一名資料科學家,需要能夠提出有關資料的問題,因為資料科學家將大約80%的時間用於發現和準備資料。由於資料科學領域是一個發展非常迅速的領域,必須學習更多知識以保持不落伍。
通過線上閱讀內容並閱讀關於資料科學趨勢的相關書籍來定期更新知識,不要被網際網路上的大量資料所淹沒,必須能夠知道如何理解這一切。好奇心是作為資料科學家取得成功所需的技能之一。例如,第一次看到收集到的資料時,不知道這些資料有什麼意義。但好奇心將幫助你篩選資料以找到答案和更多見解。這就像兩個人相親一樣,只有當你對另一方感到好奇時,才會深入的瞭解下去。
十一、商業頭腦
要成為一名資料科學家,需要對所從事的行業有深入的瞭解,並瞭解公司正在努力解決的業務問題。在資料科學方面,除了找出業務應該利用其資料的新方式之外,能夠辨別哪些問題對於解決業務問題至關重要。
為了做到這一點,必須瞭解要解決的問題會如何影響業務,這就是為什麼需要了解企業的運作方式,以便能夠朝正確的方向努力。
十二、溝通能力
一些公司正在尋找具有很好溝通能力的資料科學家,他們能夠清晰流利地將技術發現傳遞給非技術團隊的人員,比如市場營銷部門或銷售部門。資料科學家除了理解非技術同事的需求以便適當地調整資料外,還必須做出相關的決定。
除了說同一種語言外,還需要使用資料以講故事的方式交流。作為一名資料科學家,必須知道如何建立一個圍繞資料的故事情節,以方便任何人都能理解。例如,呈現資料表格不如以故事形式分享這些資料的見解。講故事可以幫助你將你的發現與僱主正確溝通。
溝通時,請注意分析資料的結果,大多數企業主並不想知道你分析的具體內容,而是對如何積極影響其業務感興趣。學會專注於提供價值並通過溝通建立持久的關係。
十三、團隊合作
資料科學家不可能單打獨鬥,而是不得不與公司高管合作制定策略、與產品經理和設計師合作創造更好的產品、與營銷人員一起推出更好的轉換活動、與客戶端和伺服器軟體開發人員共同建立資料管道並改善工作流程。資料科學家必須與組織中的每個人一起工作,包括客戶。
從本質上講,資料科學家將與團隊成員合作開發用例,以瞭解解決問題所需的業務目標和資料。需要知道解決用例的正確方法、解決問題所需的資料以及如何將結果呈現為所涉及的每個人都可以輕鬆理解的內容。
資源
Advance Degree:更多的資料科學計劃正在湧現,以滿足當前的需求,大多數是數學、統計學和電腦科學課程;
MOOCs:Coursera、Udacity和codeacademy等公開課網站是不錯的起點;
Certifications:KDnuggets編制的一份清單列表;
Bootcamps:有關如何將這種方法與學位課程或MOOC進行比較的更多資訊,請檢視Datascope Analytics的資料科學家的部落格;
Kaggle:Kaggle是舉辦資料科學競賽的平臺,可以在上面練手提升自己的技能,並解決實際的業務問題;
LinkedIn群組:加入相關群組,並與資料科學社群的其他成員進行交流;
Data Science Central和KDnuggets:Data Science Central和KDnuggets是保持資料科學行業趨勢最前沿的優秀資源;
Burtch工作研究(資料科學家的薪水):如果想了解更多有關當前資料科學家的薪水和人口統計資訊,請務必下載資料科學家薪水調查。
點選“閱讀原文”獲取文中學習資源相應連結。
原文標題:9 Must-have skills you need to become a Data Scientist, updated
點選“閱讀原文”獲取資源連結~