要想成為數據科學家,你將面臨一個艱巨的挑戰。不僅要掌握機器學習等技術,還要學會商業分析。但是,回報也是豐厚的。此外,你還會解決許多有趣的問題,可以掌握新的、有影響力的技術。
本文分享了63個免費的數據科學學習資源,這些資源專門為初學者而準備。
目錄如下:
1. 基本的技能
1.1 程序設計和數據交換
1.2 統計和概率
2. 技術技能
2.1 數據收集
2.2 SQL
2.3 數據可視化
2.4 應用機器學習
3. 商業技能
3.1 溝通
3.2 創意與創新
3.3 業務運作與策略
3.4 業務分析
4. 輔助技能
4.1 自然語言處理(NLP)
4.2 推薦系統
4.3 時間序列分析
5. 實踐
一些工作可能還需要其他技能,例如:深度學習、大數據、優化、異常檢測、圖形和網絡模型、定量金融、研究領導、項目管理、產品設計、軟體工程、空間數據分析等。
本文只介紹行業中最常見的技能。
1. 基本的技能
基礎技能構成了真正理解的基礎,反過來還能讓你發現新的解決方案,建立更精確的模型,做出更好的決定。
1.1 程序設計和數據交換
首先,您需要了解至少一種腳本語言,足以支持使用數據集、原型模型,並執行分析。
強烈建議在Python或R之間選擇,因為它們都是開源的(免費的),被廣泛採用,並且由活動社區支持。它們都有自己的長處,但建議一開始就選一個。
Python在軟體初創企業、大型科技公司和adTech中更為常見。因為是一種通用程式語言,所以Python往往更靈活。對深度學習和數據處理也有好處。
R / RStudio在研究、金融和分析方面很受歡迎。R語言是一種統計程式語言,它為計量經濟學、統計學和機器學習提供了成熟的庫。
如果你還在猶豫,建議從Python開始,因為它更適合初學者。
Python資源:
《Learn Python the Hard Way》(在線書籍):推薦給那些想要用Python編程完成課程的初學者。
連結:https://learnpythonthehardway.org/book/
LearnPython.org(交互式教程):為那些只需要快速獲取Python語法的人提供的簡短的交互式教程。
連結:http://www.learnpython.org/
《How to Think Like a Computer Scientist》(交互式書籍):交互式的「CS 101」課程,用Python講授,真正專注於解決問題。
連結:http://interactivepython.org/runestone/static/thinkcspy/index.html
PythonChallenge.com(在線難題):有33個級別的有趣的題,你可以用Python編程來解決。
連結:http://www.pythonchallenge.com/
如何學習數據科學的Python,自學方式:詳細地介紹了一些資源。
連結:https://elitedatascience.com/learn-python-for-data-science
R / RStudio資源:
《R for Data Science》(在線書籍):推薦給那些想要完整的數據科學課程的初學者。
連結:http://r4ds.had.co.nz/introduction.html
Swirl (交互式R包):非常酷的R包,你可以直接從RStudio(用於運行R語言的最常見的接口)中安裝和學習語言。
連結:http://swirlstats.com/
用R語言介紹數據科學(視頻系列):幫助那些通過觀察別人而學得更好的人進階。
連結:https://www.youtube.com/watch?v=32o0DnuRjfg&list=PLTJTBoU5HOCRrTs3cJK-PbHM39cwCU0PF&index=1
1.2 統計和概率
強大的統計基礎可以幫助你全面理解機器學習、條件概率、A / B測試以及許多其他核心技能。它還能幫助你「像數據科學家一樣思考」,其中包括發現視覺偏差,有效地迭代預測模型,以及如何從數據中獲取真知灼見。
此外,學習常見的概率分布(特別是高斯、二項、均勻、指數、泊松分布)對於實現許多實際應用程式非常重要,例如,multi-armed bandits、市場籃子分析和異常檢測程序。
統計和概率(可汗學院):可汗學院統計和概率的實際介紹。建議加速學習。
連結:https://www.khanacademy.org/math/statistics-probability
哈佛統計110:概率(視頻系列):哈佛大學概率論。建議更深入地掌握。
連結:https://www.youtube.com/watch?v=KbB0FjPg0mw
程式設計師的概率和統計 (PDF):對那些有編程背景的人來說是非常好的資源。引用:「這本書的主題是,如果你知道如何編程,你就可以使用這種技能來輔助理解概率和統計。」
連結:http://greenteapress.com/thinkstats/thinkstats.pdf
基礎統計的速成課程(PDF):簡短的PDF,涵蓋了對關鍵主題的快速回顧。這個複習表對每個概念都有簡單的直觀解釋。
連結:http://cbmm.mit.edu/sites/default/files/documents/probability_handout.pdf
如何學習數據科學的統計,自學方式:這份指南更詳細地介紹了一些資源。
連結:https://elitedatascience.com/learn-statistics-for-data-science
2. 技術技能
數據科學要把原始數據轉換成洞見、預測、軟體等。因此,你需要遊刃有餘地處理數據。
核心技術技能包括:收集、清理、管理和可視化數據,以及使用機器學習的強大助力。
2.1 數據收集
一切都取決於你的數據的質量和數量。就像化學家需要正確的化學物質一樣,你也需要相關的數據。
收集數據有四種常用方法:
1.內部數據。這是公司通過業務,或通過與其他提供商的夥伴關係來收集的專有數據。這通常是最相關的數據。
2.在線搜索。需要一個有標籤的800萬個視頻的數據集嗎?這裡有一份資源。說真的,你會對在那裡發現的東西感到驚訝。在線數據集允許你在投入精力到專有數據之前,進行原型設計。
連結:https://research.google.com/youtube8m/
3.API。API允許你以編程方式(合法的方式)訪問其他公司收集的數據集。你可以從Twitter獲取天氣數據或財務數據。
4.Web抓取。Web爬行和抓取是一個強大的工具,你必須負責任地使用。它開啟了一個全新的世界,但一定要尊重服務條款。
API資源:
Python 請求快速啟動指南(教程):如何使用requests庫來請求來自API的數據。
連結:http://docs.python-requests.org/en/master/user/quickstart/
R httr Quickstart指南(教程):如何使用httr庫請求API的數據。
連結:https://cran.r-project.org/web/packages/httr/vignettes/quickstart.html
Web抓取資源:
R rvest(教程):rvest庫的基本web抓取。
連結:https://rpubs.com/Radcliffe/superbowl
Python Web抓取庫:對Python Web抓取風景的概述。
連結:https://elitedatascience.com/python-web-scraping-libraries
2.2. SQL
SQL是資料庫管理和查詢的通用語言,你應該能夠編寫複雜的查詢。學習SQL還可以更好地理解關係數據(即「表」格式中的數據),這將提高任何語言的數據分析技能。
可汗學院的SQL簡介(課程):涵蓋每個重要的SQL主題的全面的視頻系列。
連結:https://www.khanacademy.org/computing/computer-programming/sql
sqlcourse.com (交互式教程):快速速成課或用於複習。
連結:http://www.sqlcourse.com/
SQL基礎(課程):涵蓋SQL基礎的課程,包括一些測驗。
連結:https://www.sololearn.com/Course/SQL/
2.3 數據可視化
數據可視化對於探索性分析和交流見解非常重要,如果沒有這個主題,就沒有任何數據科學的資源是完整的。原始數據可能很難解釋,因此你需要研究一些趨勢、分布和圖表。
Python中的數據可視化(視頻系列):使用Python中的matplotlib庫的教程。
連結:https://www.youtube.com/watch?v=q7Bo_J8x_dw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF
R的數據可視化(視頻系列):使用ggplot庫的教程。
連結:https://www.youtube.com/watch?v=HeqHMM4ziXA&list=PLDWCGvw0A7lU_2Il8sMwI6_ZFV7EnuyVq&index=1
Python的Seaborn教程:適合初學者的Python的Seaborn庫教程。
連結:http://elitedatascience.com/python-seaborn-tutorial
2.4 應用機器學習
機器學習是一個廣泛的、包含許多子任務的術語。簡單地說,就是教計算機如何從數據中學習模式和模型。
機器學習是一個強大的工具集,它是這份資源中最重要的技能。
《An Introduction to Statistical Learning in R》:一本比較經典的教科書。
連結:http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Sixth%20Printing.pdf
如何學習機器學習,自學方式:適合初學者了解的機器學習簡略的概述。
連結:http://elitedatascience.com/learn-machine-learning
現代機器學習算法:優點和缺點。
連結:http://elitedatascience.com/machine-learning-algorithms
3. 商業技能
在數據科學課程中,商業技能和軟技能有時被忽視,但它們是極其重要的,僱主們也會留意這方面。
數據科學從來沒有在真空中進行。你需要預見商業需求,創造性地思考解決方案,並清晰地表達你的見解。
隨著機器學習庫的成熟和算法的易於使用,企業開始重視既能與數據打交道,又能與人合作的人。這部分的數據科學資源將幫助你脫穎而出。
3.1 溝通
如果一棵樹倒在森林裡,但沒有人聽見,它真的發出聲音了嗎?如果只會分析數據,不會解釋結果,那數據真的很重要嗎?
有效的溝通技巧普遍存在,但數據科學家還面臨與人討論高新技術或數學話題的挑戰。在數據科學家面試時,你經常被要求「向外行人解釋技術概念」或「描述以前從事的項目」。僱主希望尋找談話清晰、簡潔和組織語言能力強的人。
你曾經看過的最好的數據(TED Talk):這是一個標誌性的TED談話,附帶有趣的數據展示。
連結:https://www.ted.com/talks/hans_rosling_shows_the_best_stats_you_ve_ever_seen
快速思考,聰明對話(視頻):這是史丹福大學商學院的一個研討會,解決焦慮和自顧自說話的問題。這不僅有助於你的職場交際,還可以讓你在面試中脫穎而出。
連結:https://www.youtube.com/watch?v=HAnw168huqA
改善溝通的7個技巧(視頻):簡單、實用的技巧,如何有效地溝通每一天。
連結:https://www.youtube.com/watch?v=mPRUNGGORDo
《How to Win Friends and Influence People》(PDF)(免費Audiobook版本):這是一本書,建議任何人都可以讀。雖然一些言論有點過時,但人際關係的教誨是永恆的。
連結:http://images.kw.com/docs/2/1/2/212345/1285134779158_htwfaip.pdf
向朋友教授技術概念 :這將幫助你鞏固對概念的理解,同時獲得有價值的溝通實踐。嘗試解釋一個有趣的機器學習算法,包括其優點、缺點和適當的用例。
描述你已完成的項目:這將有助於你將數據科學的許多碎片工作組織成系統的敘述。
3.2 創意與創新
數據科學家需要建立新產品,進行複雜的分析,並發明有價值的數據使用方法。
其實數據科學家很少解決重複性的問題。即使你可以將相同的方法應用於相似的數據集,在功能工程、補充數據和業務影響方面也要有創意。
當你獲得更多經驗時,自然會成為一名更好的創意思維者,以下資源可以幫助你快速開啟解決問題和創新技巧的能力。
機器情報和數據產品(視頻):數據產品和數據科學的未來展望。
連結:https://www.youtube.com/watch?v=SxxqaC5hf04
機器情報景觀(圖表):風險資本家對機器情報應用景觀的看法。
連結:http://www.shivonzilis.com/
創新藝術(TED Talk):由Guy Kawasaki創作的偉大的TED演講。
連結:https://www.youtube.com/watch?v=Mtjatz9r-Vc
創意思維的七個步驟(TED Talk):從一個藝術家和企業家的角度看創造性思維技巧。
連結:https://www.youtube.com/watch?v=MRD-4Tz60KE
為解決問題的後續工作(TED Talk):西洋棋大師莫裡斯·阿什利如何看到殘局和後續工作。
連結:https://www.youtube.com/watch?v=v34NqCbAA1c
3.3 業務運作與策略
這是一個問題,你應該每天問自己:「有什麼方法可以改善這個業務?」在一天結束時,公司不會僱用你來分析數據,他們僱用你幫助他們成長,或變得更有利可圖。這意味著你應該了解數據如何幫助做出更好的決策,並構建更好的產品。
數據驅動決策(視頻):如何實現業務目標,從中提取可測試的假設,然後設計實驗進行評估。
連結:https://www.youtube.com/watch?v=trbOW1TDOao
DJ Patil如何實現數字驅動,構建優質產品(視頻):DJ Patil擔任美國首席數據科學家之前的課程。
連結:https://www.youtube.com/watch?v=54t7bSXniAs
大數據,Hal Varian的計算經濟學新技巧(PDF): Google首席經濟學家Hal Varian
對數據分析的技術和方法學觀點進行了很好的概述。
連結:http://people.ischool.berkeley.edu/~hal/Papers/2013/ml.pdf
數據如何轉變成業務(TED Talk):企業戰略與技術之間的關係的深入討論。解釋為什麼兩大經營策略理論由於大數據的興起而失效。
連結:https://www.ted.com/talks/philip_evans_how_data_will_transform_business
Victor Cheng的案例採訪研討會(視頻系列):有些僱主在面試期間想問諮詢式的「案例」問題,這是一個很好的處理案例面試的速成課程。
連結:https://www.youtube.com/watch?v=fBwUxnTpTBo&index=1&list=PL8b_fmdDHHyCznYmSeWJrdrJN4UJhUrsh
3.4 業務分析
業務分析技能對於數據科學家的運營角色至關重要。由於程式語言的靈活性,Python和R語言將允許你執行比Excel更複雜的分析。
在你掌握技術工具後,建立強大的領域知識將會帶來更大的業務影響。
業務分析簡介(視頻): 簡單介紹企業如何使用分析,包括案例研究。
連結:https://www.youtube.com/watch?v=9IIgH0hNtgk
營銷指標和分析(視頻):在營銷中使用的常用指標和分析方法簡介。
連結:https://www.youtube.com/watch?v=IW-L7LTFl7A
使用市場籃子分析有效地進行交叉銷售(教程):如何做更聰明的交叉銷售。
連結:https://www.analyticsvidhya.com/blog/2014/08/effective-cross-selling-market-basket-analysis/
A / B測試的直觀指南(視頻) :A / B測試概述和具體解釋。
連結:https://www.youtube.com/watch?v=Auu9AnCozWQ
25個業務KPI示例:以下是業務關鍵績效指標(KPI)的25個示例。
連結:https://www.klipfolio.com/resources/articles/what-are-business-metrics#gref
Google 的分析學院(課程):數字分析、電子商務分析和其他主題的實踐課程。
連結:https://analyticsacademy.withgoogle.com/
4. 輔助技能
輔助技能根據角色的不同而有所不同,但是它們幫助你成為一個全面的數據科學家。這裡是NLP、推薦系統和時間序列分析的數據科學資源。
4.1 自然語言處理(NLP)
自然語言處理(NLP)或文本挖掘是機器學習中一個令人興奮的子領域,從文本中提取結構、語法和見解。
著名的應用包括情緒分析、文章分類,甚至教一個神經網絡來寫莎士比亞戲劇。
連結:http://karpathy.github.io/2015/05/21/rnn-effectiveness/
史丹福大學NLP課程(視頻系列):「傳統」自然語言處理的完整課程,包括情感分析、樸素的貝葉斯模型、n-grams等。
連結:https://www.youtube.com/watch?v=nfoudtpBV68&list=PLiNErZ5Bus8qNxNsFZFkh-9_CzZRW9iH9
CS224D(課程):對自然語言處理的深入學習,理論介紹。
連結:https://www.youtube.com/watch?v=kZteabVD8sU&list=PLcGUo322oqu9n4i0X3cRJgKyVy7OkDdoi&index=1
Python NLP庫:對NLP的Python庫的概述。如果你有基本的編程技巧,對應用機器學習有紮實的理解,就可以直接跳到這裡。
連結:http://elitedatascience.com/python-nlp-libraries
4.2. 推薦系統
推薦系統或協作式過濾器是數據科學的成功範例之一,尤其在電子商務領域。
它們為許多令人驚嘆的網站和應用提供了動力,包括亞馬遜、Yelp、Netflix和Spotify。簡而言之,推薦系統可以找到與你有相似品味的其他用戶,為你提供更好的推薦,通過改善用戶體驗來提高收入。
推薦引擎教程(視頻系列):使用Python介紹協作過濾器。在解釋算法背後的直覺方面做得很好。
連結:https://www.youtube.com/watch?v=KeqVL-0vSQg&list=PLseNcwx1RJ4WdgtrMTXndw4B4nlf4-pgS
推薦系統(視頻系列):吳恩達的合作過濾器背後的理論和數學的討論。如果你有一些線性代數的學習背景會更容易理解。
連結:https://www.youtube.com/watch?v=gnlq-1Zjh2M&list=PLnnr1O8OWc6ZYcnoNWQignIiP5RRtu3aS
協同過濾與Python(教程):參考教程,實現了Python中的音樂推薦功能的系統。
連結:http://www.salemmarafi.com/code/collaborative-filtering-with-python/
協同過濾與R(教程):與前一個相同的教程,本次使用R語言。
連結:http://www.salemmarafi.com/code/collaborative-filtering-r/
4.3 時間序列分析
時間序列分析處理與時間有關的數據序列。例如,股票價格、降水量和推特標籤按小時計算都是時間序列。時間序列分析通常用於財務、預測和計量經濟學。
雖然許多機器學習處理的是「橫斷面數據」(數據不考慮時間的差異),但也有專門設計用於處理時間序列的模型。
時間序列(課程材料):課堂幻燈片、作業,以及俄勒岡州立大學時間系列課程的R語言代碼。
連結:http://stat565.cwick.co.nz/
《The Little Book of R for Time Series》 (在線書籍):非常實際的介紹,用R語言進行時間序列分析。包括每個步驟的代碼和輸出。
連結:http://a-little-book-of-r-for-time-series.readthedocs.io/en/latest/src/timeseries.html
使用Python的時間序列預測 (教程):使用Python執行時間序列可視化、分析和預測。
連結:https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/
ARIMA與Python(教程):在Python中介紹ARIMA模型。包括所有的代碼。
連結:http://www.seanabu.com/2016/03/22/time-series-seasonal-ARIMA-model-in-python/
《Statistical forecasting, Fuqua School of Business》 (在線書籍):杜克大學福庫商學院的統計預測課程的課程筆記。
連結:http://people.duke.edu/~rnau/411home.htm
5. 實踐
實踐項目有兩個主要目的:第一,幫助你鞏固概念和實踐,將數據科學的所有碎片化知識整合在一起。第二,提供一些案例給僱主看。
下面是一些可以找到項目想法的地方:
為初學者提供的6個有趣的機器學習項目。
連結:https://elitedatascience.com/machine-learning-projects-for-beginners
預測鐵達尼號的生存(Kaggle 競賽項目):Kaggle是一個舉辦數據科學競賽的網站,其中很多內容都適合初學者學習。「鐵達尼號生存預測挑戰」是一個Python和R語言的經典項目,有詳細教程。
連結:https://www.kaggle.com/c/titanic
黑客排名(編程挑戰):短期編程挑戰,可提高你的技能,但不建議過多學習。
連結:https://www.hackerrank.com/domains/ai/machine-learning
來源:Elite Data Science
智能觀 編譯