歡迎光臨
每天分享高質量文章

【智慧】如何成為資料科學家:權威指南


筆者邀請您,先思考:

1 如何成為資料科學家?

資料科學教育家Jose Portilla提供了關於成為資料科學家的權威性指南,其中包括從獲取特定技能到尋找第一份工作,再到掌握面試機會的各種資源。

你好!我是Jose Portilla,Udemy的講師,有超過25萬名學生註冊了各種各樣的課程,包括Python的資料科學和機器學習、R程式設計的資料科學、Python的大資料等等。

幾乎每天都有學生問我這個問題:

我應該怎樣做才能成為一名資料科學家?

在這篇文章中,我將盡我最大的努力來幫助回答這個問題,並指出可以幫助你找到答案的資源,也希望這篇文章可以可以快速連線到我的學生。

我最近還在寫一本關於資料科學家採訪的書!看看這裡。

現在繼續這篇文章!我將這些步驟分解成一些關鍵的主題,並討論了每個主題的有用細節。

旅程

“獲得成功的秘訣就是開始。” – 馬克吐溫

如果您有興趣成為資料科學家,最好的建議是立即開始為您的旅程做準備!花時間瞭解核心概念不僅對面試非常有用,而且還可以幫助您確定您是否真正對這一領域感興趣。

在開始成為資料科學家的道路之前,重要的是你要對自己誠實地說明為什麼要這樣做。您可能應該問自己一些問題:

  • 你喜歡統計和程式設計嗎? (至少你到目前為止學到了什麼?)

  • 您是否喜歡在一個需要不斷學習新技術的領域工作?

  • 您是否有興趣成為資料科學家,即使它只是支付平均工資?

  • 你還可以使用其他職稱(例如資料分析師,業務分析師等)嗎?

問自己這些問題並對自己誠實。如果您回答是,那麼您即將成為資料科學家!

成為資料科學家的道路很可能會花費你一些時間,具體取決於您以前的經驗和網路。利用這兩者可以幫助您更快地完成資料科學家的角色,但要隨時準備好學習!現在讓我們開始討論一些更切實的主題!

數學

“不要擔心你在數學方面的困難。 我可以向你保證,我的生活還會更大。“ – 愛因斯坦

如果你想進入資料科學,你應該熟悉的關於數學的主要話題是機率,統計和線性代數。隨著您對統計學習(機器學習)等其他主題的瞭解越來越多,這些核心數學基礎將成為您繼續學習的基礎。讓我們簡要介紹一下,併為您提供一些可供學習的資源!

機率 – 衡量事件發生的可能性。許多資料科學都是基於嘗試測量事件的可能性,從點選廣告的機率到裝配線上零件失敗的可能性。

對於這個經典主題,我建議讀一本書,例如Sheldon Ross的《A First Course in Probability》或 E.T. Jaynes的《Probability Theory》。由於這些是教科書,如果你直接從亞馬遜購買新產品,它們可能相當昂貴,所以我建議在網上或pdf版本檢視舊版本以節省一些錢!

如果您更喜歡透過影片格式學習,您還可以檢視可汗學院關於機率的影片系列。您還可以檢視麻省理工學院關於機率和統計學的OpenCourseWare講座。只需簡單搜尋,即可在Youtube上輕鬆找到。

統計學 – 一旦掌握了機率理論,就可以繼續學習統計學,這是數學的一般分支,用於分析和解釋資料。充分瞭解統計中使用的技術需要您理解機率和機率符號!

再說一次,我更像是一個教科書的人,幸運的是有兩本很棒的線上教科書完全免費供你參考:

  • http://www.statsoft.com/Textbook

  • http://onlinestatbook.com/2/index.html

如果你更喜歡老式的教科書,我喜歡David Freedman的《Statistics》。我建議使用本書作為您的主要基礎,然後檢視此處列出的其他資源,以深入瞭解其他主題(如ANOVA)。

對於實踐問題,我非常喜歡使用Shaum的提綱系列(你可以在這個系列中找到機率和統計學的書籍)。

如果您更喜歡影片,請檢視Brandon Holtz關於Youtube統計資料的精彩系列!

線性代數 – 是數學的分支,涵蓋了向量空間和這些空間之間的線性對映的研究。它在機器學習中大量使用,如果你真的想要理解這些演演算法是如何工作的,你需要建立對線性代數的基本理解。

我推薦檢視Strang的《Linear Algebra and Its Applications》,這是一本很棒的教科書,也可以在MIT線性代數課程中使用,你可以透過OpenCourseWare訪問!有了這兩個資源,您應該能夠線上性代數中建立堅實的基礎。

根據您的位置和工作流程,您可能不需要深入研究線性代數的一些更複雜的細節,一旦您更熟悉程式設計,您會發現某些庫傾向於處理大量的線性代數任務。但瞭解這些演演算法的工作原理仍然很重要!

程式設計

“透過程式碼行測量程式設計進度就像按重量衡量飛機製造進度一樣。” – 比爾蓋茨

資料科學界主要採用R和Python作為程式設計的主要語言。 其他語言如Julia和Matlab也被使用,但R和Python是迄今為止在這個領域最受歡迎的語言。

在本節中,我將描述程式設計和資料科學的一些主要基本主題,然後指出用於R和Python的主要庫!

開發環境

這個主題非常依賴於您的個人偏好,我將簡要介紹一些使用R和Python進行資料科學開發環境(IDE)的更流行的選項。

Python – 由於Python是一種通用程式語言,因此可以使用許多選項!您可以使用純文字編輯器,如Sublime Text或Atom,然後根據自己的喜好進行自定義,我個人將此方法用於大型專案。另一個流行的python IDE是來自JetBrains的PyCharm,它提供了一個免費的社群版本,為大多數使用者提供了大量功能。我最喜歡的Python環境必須是Jupyter筆記本,以前稱為iPython筆記本,這個筆記本環境使用單元格來分解程式碼並提供即時輸出,因此您可以輕鬆地與程式碼和視覺化進行互動!儘管其他語言一直在改進,但Python是迄今為止所有這些中最好的支援! Jupyter筆記本在資料科學和機器學習領域非常受歡迎。我將它用於我所有的Python課程,大多數學生都非常喜歡它。雖然可能不是需要部署的大型專案的最佳解決方案,但它對於學習環境來說非常棒。

至於在您的計算機上安裝Python,您可以隨時使用官方原始碼 – python.org,但我通常建議使用Anacondadistribution,它將包含我將在本節中討論的許多軟體包!

R – RStudio可能是R最受歡迎的開發環境。它背後有一個很棒的社群,它的基本完整版本是完全免費的。它可以很好地顯示視覺化,為您提供了許多自定義體驗的選項。這幾乎是我用R去做的事情! Jupyter筆記本也支援R核心,雖然我已經使用它們,但我發現與Jupyter Notebook的Python功能相比缺乏經驗。

資料分析

Python – 對於資料分析,兩個庫是Python的主要工具:NumPy和Pandas。 NumPy是一個數字科學計算軟體包,它是Python Data Science生態系統中幾乎所有其他Python軟體包的基礎。 Pandas是一個直接由NumPy構建的資料分析庫,旨在模仿許多R的內建功能,例如DataFrames!您可以將其視為Excel的超級版本,它允許您快速清理和分析資料。如果您成為使用Python的資料科學家,熊貓將很快成為您的主要工具之一!這是我最喜歡的Python庫!我還建議檢視SciPy以獲取PyData系統中庫的詳細資訊和連結。

R – 在大多數情況下,R已經內建了許多資料分析功能,例如Dataframes!但是R社群也建立了許多有用的軟體包來幫助以更有效的方式處理資料!這些軟體包被稱為“tidyverse”,它是一組有用的資料科學軟體包,所有這些軟體包都設計有類似的資料處理理念,這意味著它們可以很好地協同工作。這些軟體包包括用於資料操作的dplyr,用於清理資料的tidyr,用於讀取資料的readr,以及用於改善R的一些內建功能的包,如purr和tibble。學習tidyverse包是使用R的資料科學家必須的! ggplot2也是tidyverse的一部分,但是用於資料視覺化,所以讓我們接下來跳到那個主題吧!

資料視覺化

Python – Python視覺化的“祖父”是matplotlib。建立Matplotlib是為了提供Python的視覺化API,讓人聯想到MatLab中使用的樣式。如果您之前使用過MatLab進行視覺化,那麼過渡將會非常自然。但是,由於其龐大的功能庫,matplotlib建立了許多其他視覺化庫,以簡化操作或提供更具體的功能!

Seaborn是一個很棒的統計繪相簿,可以很好地處理pandas並使用matplotlib編寫。它只需幾行程式碼即可建立漂亮的圖形。
Pandas還具有內建的matplotlib繪圖功能!

Plotly和Bokeh可用於使用Python建立互動式圖。我建議兩者兼顧,看看你喜歡哪一個!

R – 到目前為止,最流行的R繪相簿是ggplot2。它的設計哲學及其基於圖層的API使其易於使用,並允許您基本上製作您能想到的任何主要圖表!同樣很棒的是可以輕鬆使用Plotly,允許您透過使用ggplotly快速將ggplot2圖轉換為互動式視覺化!

機器學習

Python – SciKit-learn是最流行的Python機器學習庫,內建演演算法和模型用於分類,回歸,聚類,降維,模型選擇和預處理。如果您對構建統計推斷模型更感興趣(例如線上性回歸後分析p值),您應該檢視statsmodels,它也是處理時間序列資料的絕佳選擇!對於深度學習,請檢視TensorFlow,PyTorch或Keras。由於其簡化的API,我建議Keras適合初學者。對於深度學習主題,您應該始終參考官方檔案,因為這是一個變化非常快的領域!

R – 初學者資料科學家R的一個問題是它在機器學習方面有很多選擇。每個主要演演算法都可以有自己獨立的包,每個包都有不同的關註點。當您開始時,我建議首先使用caret包,它為分類和回歸任務提供了一個很好的介面。一旦你轉向無監督學習技術,如聚類,最好的辦法是快速谷歌搜尋,看看哪些軟體包最適合你打算使用的技術,你甚至會發現R已經有了一些內建的基本演演算法,例如kmeans聚類。

在哪裡學習這些庫和技能?

我全面教授這些主題,您可以使用以下連結檢視課程95%的折扣。

我的Python資料科學和機器學習訓練營:

基於Python的資料科學和機器學習訓練營
瞭解如何使用NumPy,Pandas,Seaborn,Matplotlib,Plotly,Scikit-Learn,機器學習,Tensorflow等等!

我的R資料科學,視覺化和機器學習課程:

基於R的資料科學與機器學習訓練營

學習如何將R程式語言用於資料科學和機器學習以及資料視覺化!

現在我們已經瞭解了程式設計主題的一般背景,讓我們討論實際找到資料科學工作的途徑!

社群

“旅途中的好夥伴讓路看起來更短。” – Izaak Walton

尋找資料科學家職位可能需要一段時間,最好開始構建您的網路!
開始構建網路的最佳方法之一是參加涉及資料科學的聚會!但是你不需要嚴格限制於資料科學,你應該參加與資料科學相關的任何主題的聚會,比如Python聚會,視覺化聚會等。

會議是連線資料科學家的另一種很好的方式,而許多會議可能會非常昂貴,會議通常會在展會期間舉辦招聘會。如果您只打算參加職業展覽會,您通常可以獲得折扣甚至是免費的會議通行證。會議還經常舉辦研討會,讓您學習新技能!

您還應該開始檢視線上社群和資源,像O’Reilly資料訂閱,Kaggle和KDnuggets這樣的資源可以幫助您瞭解資料科學社群正在發生的事情。播客是另一種開始學習資料科學社群的好方法。我建議檢視Talking Machines,Partially Derivatives和O’Reilly Data Show。

求職和麵試

“如果我們有資料,讓我們看看資料。 如果我們所有人都有意見,那就讓我們去吧。“ – James L. Barksdale

所以你已經學會了你的技能,網路化,現在已經準備好開始作為資料科學家工作了!

求職

第一步是開始尋找新工作,其中很多都會根據您的個人情況和標的而有所不同,所以我會儘量保持一般的建議。

同時開始搜尋和練習技能的最佳方法之一是參與Kaggle挑戰併發布有關您的試驗的部落格。一些Kaggle挑戰甚至可以直接把面試作為獎品的一部分!即使沒有獎品,它在真實資料集上的寶貴經驗!請註意,Kaggle還擁有自己的資料科學家工作板。

透過UpWork等網站進行自由職業,為開源專案做貢獻,以及回答有關StackOverflow的問題,這是讓招聘人員瞭解您的存在的另一個好方法。

您還需要確保您的簡歷,LinkedIn和Github都已更新,以反映您的新技能和專案。

對於一般的求職利用類似Indeed或DataJobs網站,嘗試網站如Triplebyte直接給你一系列的技術訪談,可以快速透過很多公司的初次面試階段。您還可以使用AngelList Job board和HackerNews Job Board檢視工作板。

面試

無論好壞,許多公司仍然依賴涉及資料結構和演演算法的經典面試問題。要準備這些問題,您應該檢視主題,如陣列,圖表,遞迴,連結串列,堆疊等…您應該參考書籍或課程,並經歷許多練習問題!我有關於這些主題的課程,您可以透過檢視我的熱門github儲存庫免費檢視一些材料,其中包含許多帶有練習題和解決方案的jupyter筆記本!

基於Python的演演算法,資料結構和麵試。

您還可以檢視leetcode上的練習題串列

問題 – LeetCode

提高您的編碼技能並快速找到工作。這是擴充套件知識並做好準備的最佳場所……(leetcode.com)

對於更具體的資料科學問題,您需要熟悉各種主題,例如機率問題,R或Python程式設計問題,SQL查詢以及可能的大資料管理(Spark等主題)。您還應該熟悉建模和選擇引數背後的原因,例如L1和L2正則化之間的差異。

您在閱讀中有什麼想法,請留言。
原文連結:
https://www.kdnuggets.com/2017/08/become-data-scientist-definitive-guide.html

版權宣告:作者保留權利,嚴禁修改,轉載請註明原文連結。

資料人網是資料人學習、交流和分享的平臺http://shujuren.org 。專註於從資料中學習到有用知識。
平臺的理念:人人投稿,知識共享;人人分析,洞見驅動;智慧聚合,普惠人人。
您在資料人網平臺,可以1)學習資料知識;2)建立資料部落格;3)認識資料朋友;4)尋找資料工作;5)找到其它與資料相關的乾貨。
我們努力堅持做原創,聚合和分享優質的省時的資料知識!
我們都是資料人,資料是有價值的,堅定不移地實現從資料到商業價值的轉換!

點選閱讀原文,瞭解更多知識。

公眾號推薦:

鏈達君,專註於分享區塊鏈內容。

艾鴿英語,專註於英語口語教育。

贊(0)

分享創造快樂