7個祕訣,帶你由數據分析師成長爲數據科學家

全文共4047字,預計學習時長8分鐘html

通往數據科學之路 (Aleksandr Barsukov發佈於 Unsplash)python

數據科學的熱浪席捲大多數行業,如《哈佛商業評論》所述,數據科學家已成爲21世紀最性感的工做。程序員

雖然市場對經驗豐富的數據科學家的需求愈來愈大,但對這份工做的描述大都很模糊。此外,不少招聘經理對數據科學和數據分析或數據工程的定義都很寬泛。行業標準的缺少讓許多想要轉行至數據科學的專業人士十分困擾。web

瞭解有關人工智能和機器學習的信息很是關鍵,可是沒有任何指導,人們很難知道該從哪裏下手。算法

本文的做者是Zoopla的一名數據科學家,他將詳細分享本身從分析師到數據科學的職業生涯中學到的經驗。編程

分享就是關心!( https://imgur.com/gallery/oJSx1YR)微信


打好紮實的數學基礎cookie

大多數機器學習算法都是創建在多變量微積分、線性代數和非線性代數的基礎上的。熟練的數據科學家可以從數學層面改變計算機程序,從而真正推進模型性能提升。掌握數學技能很重要,尤爲是統計學和線性代數。具有學習和理解機器學習技術的能力是成爲一名數據科學家的必要條件。不管讀的是心理學、數學、博士仍是在線課程都不重要,學會數學就好。網絡

目前有不少數據科學家擁有博士學位,但這並非鐵律。機器學習

祕訣1:關注自身的能力而非背景

做爲一名數據科學家,常常要將困難、開放、定義模糊的問題一步步分解。這是讀碩士的3到6年間不斷培養的技能。但這種技能也能夠從工做中鍛鍊。

教機器前先自學

數據分析師報告、總結並解釋過去和如今的信息,覺得業務服務。這與數據科學家大相徑庭。數據科學家負責總結數據,從而預測將來或做出決策。他們的核心任務是訓練、測試和優化機器學習算法,所以技能也集中在機器學習建模上。

初學者能夠在各媒體平臺上瀏覽博客文章,找到能夠指導解決特定問題的方法。如下是一些有用的文章:

· 模式識別與機器學習——Bishop(被稱爲機器學習聖經)

傳送門:https://cds.cern.ch/record/998831/files/9780387310732_TOC.pdf

· 機器學習課程——Hal Daumé III

傳送門../../../Documents/WeChat Files/Tristaphy/FileStorage/File/2019-07/機器學習課程

· 神經網絡與深度學習——Michael Nielsen

傳送門:http://neuralnetworksanddeeplearning.com/

理論和繁雜的方程式有時會讓人不知所措,但不該該是讓人離開這個領域的緣由。你能夠邊閱讀邊寫代碼。例如,試着從頭構建一個單層感知器(一種最簡單的一種神經網絡)來徹底理解書中讀到的內容。

學習三連:讀書、上課、寫代碼

祕訣2:應用所學的科學方法

網上也有許多課程在理論和實踐上各有偏重,涵蓋了機器學習的基本原理。推薦一些實用的課程:

· Coursera 機器學習課程由該領域的領軍人物Andrew Ng講授,涵蓋一些基礎知識。用Python而不是Octave/Matlab來作做業會更好,由於若是有很強的Python技能,會在就業市場上處於更有利的位置。

傳送門:https://www.coursera.org/learn/machine-learning

· Fast.ai課程由機器學習名人傑裏米·霍華德(Jeremy Howard)和雷切爾·托馬斯(Rachel Thomas)博士建立。課程以啓發式教學爲理念,更側重實際應用。

傳送門:https://www.fast.ai/

面向程序員的機器學習入門:http://course18.fast.ai/ml

面向程序員的實用深度學習:http://course.fast.ai/

面向程序員的前沿深度學習:http://course18.fast.ai/part2.html

· 斯坦福大學(Stanford university)分享了一系列人工智能課程材料。好比:

cs224n用於視覺識別的卷積神經網絡:http://web.stanford.edu/class/cs224n

cs231n用於深度學習的天然語言處理:http://cs231n.stanford.edu/

這些課程的目標既不是記住公式和推導,也不是逐頁閱讀書和講稿。學習的目標應該是掌握大多數模型和算法以不一樣方式處理的基本概念。好比,神經網絡中的drop-out層、消失梯度、信號/噪聲關係。得到將問題與基本原理聯繫起來的能力,將使你成爲一名優秀的應用數據科學家,而這正是許多僱主想要的。

科學研究

祕訣3:爲業務設置和問題選擇正確方法

數據科學家的真正技能是,知道手頭的業務問題須要什麼樣的技術和機器學習方法。

這個領域過去的十年裏蓬勃發展。做爲一名數據科學專業人士,不斷學習新知識是成功的必要條件。強烈建議閱讀已發表的學術論文,還有不一樣科技公司和該領域關鍵人物的機器學習/人工智能方面的博客。須要解決沒有提供即時方案的抽象問題時,所學會派上用場。經過研究現有狀況找到正確的解決方案,工做就完成了80%。

安德烈·卡帕西(Andrej Karpathy)在斯坦福大學cs231n課程上說得很好,「不要逞英雄」。商業世界指望人們快速交付(失敗),所以,若是可能的話,不要從新發明輪子,而應該站在巨人的肩膀上。

「若是說我看得更遠,那是由於我站在巨人的肩膀上」——艾薩克·牛頓(1775)

(https://me.me/i/3487477)


提升編程技能

數據分析師用數據來幫助企業作出明智決策。他們精通SQL、Excel和Tableau或Power BI等可視化工具。而數據科學家須要構建強大的模型來推斷和解決大規模業務問題,所以須要提高編程技能。學習編程永遠不會太晚。

Python正成爲世界上最流行的編程語言,並擁有無數通過良好測試且不斷更新的數據科學庫。因此大多數數據科學團隊都在尋找會Python的人。因此,若是不懂Python,那就報名參加網絡課程學習一些基礎知識。不要忽略PEP8之類的格式指南,耐心學習,由於多實踐纔會有指望的成果。此外,學習如何使用Jupyter對加快工做流程和數據/模型探索十分關鍵。

祕訣4:一直持續不斷練習,讓編程技能更快更好更強

會編程有魔法

參加黑客馬拉松、kaggle競賽、進行我的編碼項目都是提升編程技能的方式。從分析中找到並把握住數據科學機會有助於在當前工做中得到經驗。學習預測和異常檢測的算法也有助於推進從數據分析師發展爲數據科學家。本文做者在這個行業的第一個數據科學項目是設計自動完成某電商網站搜索查詢的算法。這個項目的靈感就來自他還在作初級分析師時報告的關於搜索和購物車的一些有趣的分析。

掌握軟件工程技能

若是想讓本身的模型有生產的可能,軟件工程技能很是必要。出於方法和法律緣由,培養一種旨在經過自動化重現項目和結果的編碼態度相當重要。在擁有成熟數據科學文化的公司中,有的人建立原型,有的人編寫生產代碼,還有的人負責部署。實際上,不管公司規模大小,都不太可能得到全部須要的支持,僅僅知道統計數據不足以交付數據科學項目。

數據科學家程序列表

祕訣5:儘早將本身的項目步驟自動化

所以,初級數據科學願望清單多是這樣的:

· 可重現數據管道(如在spark和python中):是否有必須重現之前作過的分析的經歷?建立邏輯數據流(如原始(不可變數據)->中間(正在進行的工做)->處理(最終特性))和使用Makefile將節省本身和同事的時間。我和個人團隊都是cookiecutter的忠實粉絲,它提供了像這樣的邏輯項目結構。

· 培訓和評分的端到端自動化:模型大多數時候是鮮活的有機體,須要新的預測,而且數據可能會發生變化,因此要再訓練、評分和完善。而後必須將模型參數、祕密和隨機種子放入配置文件中,將DS項目分解爲不一樣的元素並應用modularity。如建立可在訓練和評分時使用的共享特性庫。

· 單位測試範圍:人人都想要無憂無慮的睡眠和不受打擾的假期。因此爲了確保穩健性,爲項目編寫測試是很重要的。

· 構建API提供預測:爲了表達想法和模型須要證實概念,這時一般須要REST API。若是不想使用Python以外的其餘語言,那麼可使用帶有Swagger UI的Flask和Flasgger。Swagger對於記錄並可視化基於REST的網絡服務很是有用。

· ECS部署或生產環境的數據科學解決方案的容器化:Docker能夠隔離項目及其依賴項,在環境之間移動模型,而且每次以徹底相同的方式運行代碼以達到100%的可重現性。這將有助於與DevOps和工程師的協做,這樣他們就能使用打包好的容器做爲黑盒,無需瞭解數據科學。

將科學翻譯成領域內語言

經過在數據中尋找代理或者讓它成爲機器學習中的潛在因素,研究數據的主題專家能夠克服如業務失蹤或定義KPI等障礙。數據科學一般會形成業務中斷,所以須要說服高層領導以得到適當的支持和資源。

有人說,讓業務中的全部利益相關者都能理解算法是一種藝術。於是須要不斷學習如何闡釋創建的算法,並向他人展現其重要性。正如畢馬威(KPMG)現任數據科學與工程主管麗貝卡•波普(Rebecca Pope)在「硅谷女性圓桌會議」(Women of Silicon Roundabout)上強調的,「永遠記住,你(而非你的代碼)是有影響力的。人們不買算法,他們相信你和你的能力。」所以,要關注並花時間培養將數學轉換成垂直行業的視覺敘事的能力。

祕訣6:用垂直行業術語來溝通工做

沒人懂我……一名數據科學家正在解釋深度學習

(https://memegenerator.net/img/instances/63241330.jpg)


正是成長的時機

從事新興職業雖然艱難,但更使人興奮。找到一個有助於成長的團隊,擁有像海綿同樣的頭腦,將會加速通往成功的旅程。理想狀況下,你的上級會理解你的平常工做和想要達到的目標。否則也可從團隊或公司以外尋找所需的額外指導,如求助大學校友或教授,或者網上友好的數據科學家。聚會和會議也可能頗有啓發性,有助於找到良師益友。

祕訣7:記住,沒有教科書或課程比導師更重要

請用考利昂老頭子的聲音念

綜上所述,要想在數據科學領域開始職業生涯,應該關注的技能包括統計學、多變量微積分和線性代數、機器學習、編程技能、軟件工程和可視化技能。

數據科學維恩圖 繪製:Steven Geringer Raleigh, NC.

留言 點贊 關注

咱們一塊兒分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 「讀芯術」

(添加小編微信:dxsxbb,加入讀者圈,一塊兒討論最新鮮的人工智能科技哦~)

相關文章
相關標籤/搜索