編按:本文作者為中國某工程大學自動化學科在學生,將從本科系畢業至美國攻讀金融科技碩士。一年以前連機器學習是什麼都不知道,只上過C語言和數據結構兩門程式基礎課,透過以下介紹網站一步步自學Python、SQL以及機器學習的各種方法,成功入門數據科學。本文為曾經幫助作者學習與了解數據科學的網站介紹與推薦。
為什麼要學習數據科學?
今天,只要你身處網路,就一定能頻繁聽到大數據、機器學習、人工智慧等字眼。數據科學已經深入產業界,銀行、保險、零售行業等都在使用機器學習方法為自己的商業運作賦能,機器學習等數據科學方法代替人的新聞也層出不窮,即使我們應該保持冷靜、克制焦慮,但科技的大趨勢我們也不能視而不見。
從職業發展來說,學習數據科學或許可以讓你在今後的發展中占得先機,在這波科技浪潮中取得優勢;從個人角度來說,未來數據分析是必不可少的,將來明白如何利用數據可能就和今天明白如何使用電腦一樣稀鬆平常,掌握數據分析的一些技能或許可以讓你生活地更有效率。
為什麼用MOOC?
儘管數據科學炒得火熱,想要入門一門學科絕非一件容易事。縱使有些網站有著系統的培訓班,動輒1,000大洋以上的報名費真的傷不起;而對著網上的免費資料自學,從各種社群提供免費獲取到10 個G的資料,但大多資料凌亂且沒有體系,永遠都是放在硬碟裡長灰塵;對著各種工具書學,雖然系統但難免概念的堆砌,有時候看完所有基礎操作也做不完一個完整的專案。
我個人覺得學習數據科學這類需要實際操作的學科,最好的方式是learning by doing,即在學完了一個方法後要立馬實際操作並感受,哪怕不報錯地完成一個最簡單的專案也會有極大地自信心。所以我認為,網站和MOOC類學習是學習數據科學最好的方式。在看完或者閱讀完教程後,這些課程也會留有相對的作業,透過一個一個章節的學習,會不斷鞏固基礎,也完成一個一個的專案。
入門數據科學網站推薦
下面這些MOOC類網站都是英文網站,按推薦順序排序。我經過對比之後,發現相比於中國的學習網站,這些英文網站課程品質會更好,有些完全免費,有些需要付費但價格著實不貴,性價比都比較高。
別擔心,這些課程的英文難度都不會太高,很多都配有字幕,有些網站甚至有中文翻譯。利用英文網站學習,一方面可以學到品質更高的課程,另一方面還能潛移默化地鍛煉英語,何樂而不為呢?
DataCamp.com
DataCamp是一個互動性的MOOC網站,影片類的講解偏少,更多的是文字直接指導你進入實戰專案。同時DataCamp也是我最推薦的數據科學入門網站,從Python與R的基礎講解到數據處理流程,從機器學習到深度學習,它都有涉及。如果沒有時間嘗試不同的MOOC,認真刷完它的一個Career Track就夠用了。
DataCamp有以下三個特點:
- 直接開始上手做:不像通常的MOOC是影片講解後留下課後作業,DataCamp確實做到了讓你在做的過程中學習,如下圖:左邊是指導性文字,右邊是你需要填寫的code。這樣做可以說把learning by doing做到了極致。
DataCamp學習界面
- 不用在自己電腦上安裝Python或R的環境:網站上有雲端的運行環境,寫完程式碼後直接提交就可以看到結果了,可以說非常省心省力。作為經歷了基礎入門階段的我,可以說非常理解裝環境的痛苦。程式碼還沒寫一行,裝環境就費了半天功夫。有例如Anaconda的集成套件順利安裝完還好說,要是出了什麼問題網上一搜全是用命令行,很多寫的又不詳細,完全不知道每個命令是做什麼的,還沒入門就已經放棄。
而在這個網站學習就完全不用擔心這些事,先學習程式碼如何寫,完整地寫一個專案入門,那些裝環境的瑣碎事情等到深入了解了再做也不遲。
- 幫你預先安排好了課程列表:網站將一個個課程打包為Skill Tracks和Career Tracks ,如下圖。不論你是想學Python還是R,想成為數據分析員還是數據科學家,只用找到相應的Track點進去跟著學就好了,不用再糾結下一步學什麼技能。當然,這些列表是靈活的,你完全可以跳過某個Track的一些課程。
DataCamp的Career Track界面
同時,DataCamp還提供了一些語言(如 Python)、工具(如Jupyter Notebook)以及各種套件(如NumPy、Pandas、Matplotlib)的 cheatsheet(小抄) ,簡潔而美觀。
價格: 一些課程免費,解鎖全部課程$25/月。
Coursera | Machine Learning Specialization - University of Washington
Machine Learning Specialization - University of Washington是入門機器學習的優質課程,由華盛頓大學兩位教授主講。此課程是一個系列,原本總共有6個course,分別講解機器學習基礎(Machine Learning Foundations)、回歸(Regression)、分類(Classification)、聚類(Clustering)、矩陣分解(Matrix Factorization)、深度學習(Deep Learning)。每個Course大約6個章節,每個章節學習時間大約3小時。
Machine Learning Specialization
此課程最有特色的地方,是用第一個Course:Machine Learning Foundations統領接下來5 個Course,每個章節對應著接下來5個Course,用最簡單的案例和現成的工具,利用上述的5種機器學習方法分別完成5個專案。
也就是說,在第一課裡你就完整地利用機器學習解決了一個個實際的問題,然後再在接下來的5個課程中深入學習每一個機器學習的方法。我對這種由頂向下的學習方式的方式完全贊同,因為一開始我就宏觀了解了該用什麼方法解決什麼問題,而不是學了一堆命令卻不知道解決問題的流程;而且經過第一個Course的學習,會有極大地成就感,因為每次都成功完成了一個專案,接下來會更想了解這個現成工具是怎麼製作的,也就更想深入剖析機器學習的各種方法。
Course的每週內容
但是為什麼說是原本有6個Course呢?因為現在這個系列只有4個Course了⋯⋯教授老爺子課程開發到一半跳票了,據說是因為他開發的Trui軟體套件被蘋果收購以後忙得沒時間開發完課程。不過別擔心,即使只有前四個課程,回歸、分類和聚類依舊是機器學習的重頭,學完四個課程會掌握絕大部分的機器學習技術。如果時間有限想快速入門,建議學習第一個課程,同樣會比較全面地了解機器學習的各種方法,同時也能利用軟體套件解決一定的問題。
對比大名鼎鼎的吳恩達的機器學習課程,這個機器學習可能更適合初學者,同時課程內使用Python這一對新手更加友好的語言,而吳恩達的課程用的是MATLAB,所以華盛頓大學的課程更適合入門機器學習。依託於Coursera這一大平台,課程每個影片都配有英文文稿,部分影片有中文字幕,相信學習起來更易上手。
價格: 免費旁聽(選擇課程時點Audit),上完課後拿證書要付費。
Udemy | Complete Python Bootcamp
Complete Python Bootcamp: Go from zero to hero in Python 3是入門Python比較推薦的課程,導師講解很細緻,邊寫程式邊講,從Python最基礎的數據結構、到函數和方法,再到Modules和classes,內容安排很合理,且每章都有作業可以檢測自己的學習。
Complete Python Bootcamp首頁
不過此課程是關於Python語言的課程,將Python 作為開發語言完全講解,實際上應用到數據科學的Python,只用上到此課程的Module & Package就足夠了,剩下的有興趣也可以繼續學習,但在數據科學中可能應用不大。
價格: 台幣約460元左右。
課程內的影片
Khan Academy(可汗學院)
Khan Academy首頁
我在Khan Academy上學的SQL基礎用法。和DataCamp一樣,程式碼可以直接在這個網站上運行,無需本機安裝環境。上課過程中互動性也很強,同時運用積分制讓你每完成一個專案都會有成就感。
可汗學院對於數據科學的課程較少。但其本身有著非常全面的課程,從計算機科學到人文社科都有。在計算機科學的門類中也有不少基礎課,課程也比較通俗易懂,適合複習基礎或拓展知識面。
價格: 完全免費。
課程內學習過程:左邊是程式碼,右邊是結果
更多的學習網站
上述四個網站是我親身體驗過並用來入門數據科學的網站。在學習過程中也同樣蒐集了別人推薦的網站,但還沒來得及體驗,以下列出來供感興趣的朋友們點擊。
Dataquest
Dataquest 是以文字教程為主的網站,也是邊看邊學,與DataCamp很相似,有興趣的朋友可以探索一下。
價格: $29/每月。
Dataquest首頁
Udacity(優達學城)
Udacity內所有的課程都是和IT有關的,更Geek一點,不像edX或者Coursera還有人文社會科類的課程。Udacity優點是課程有體系化,有針對某個職位的專項課程,對職業發展比較友好;但價格真的不便宜,一般一個奈米學位都要上千大洋。網站內也有免費的課程,同時大多數課程都有中文版。
價格: 課程費用不等,都在幾千左右。
Udacity首頁
edX
edX由麻省理工學院和哈佛大學共同創建,與Coursera、Udacity並稱為MOOC三巨頭。其實光看edX開課的大學列表就挺震撼的了,可以說足不出戶也可以享受頂級大學的課程。關於數據科學,根據網上的評價推薦下面的課程系列:
Complete Python Bootcamp主頁
Data Science - Harvard University
哈佛大學推出的數據科學系列課程Data Science - Harvard University,共包含9個課程,主要使用的是R語言。順便提一下,哈佛大學才新增了Data Science的碩士學位,2018年秋季是第一批學生入學,從側面也可見數據科學的發展。
Harvard's Data Science Certificate
Microsoft Professional Program in Data Science
微軟推出的數據科學課程Microsoft Professional Program in Data Science,課程內容比較全面,有Python和R語言兩條支線,可以任選一條完成課程,當然也可以都掌握。同時也將Excel以及自家雲端平台Azure融合進課程,用微軟系的朋友可以更多關注一下。
Microsoft Data Science Program
價格: edX所有課程都是免費的,不過上完課程要獲取證書需要付費。
Coursera
Applied Data Science with Python Specialization
密西根大學的系列課程Applied Data Science with Python Specialization,據說對新手比較友好,共5個Course,從基礎到機器學習以及深度學習都有介紹,比較全面。
密西根大學的數據科學課程
Machine Learning - Stanford University
這門課程 由大名鼎鼎的史丹佛教授吳恩達主講,很多人就是衝著這個名號去學習這門課程的。此課程很全面的講解了機器學習的各個部分,也會有很多案例應用。但是課程全程用的是Matlab,並不是用現在數據科學最主流的Python和R,從這方面來講對新手來說可能不是很友好,建議有了一定機器學習基礎後再用這門課補課。
大名鼎鼎的史丹佛機器學習課程
Deep Learning Specialization
同樣是吳恩達領銜的深度學習課程Deep Learning Specialization,共有5個 Course,包括神經網絡和卷積神經網絡。
在Coursera上的深度學習課程
價格: 所有課程均可免費旁聽(點 Audit),獲取證書需付費。
Brilliant.org
Brilliant.org是我偶然間從Instagram推薦的廣告上發現的網站,網站製作精良,多是數學與科學的主體。網站試圖以最簡單的方法出傳達科學知識,絕對是不可多得的好網站。同時也有人工智慧與機器學習的主體,但應該更偏重理論,有興趣的朋友可以了解一下。同時這個網站還有同名app:Brilliant。
Birlliant主打課程,多與數學及物理相關
價格: 基礎課程免費,其他需要付費。
結語
以上就是我用來入門數據科學的網站以及在學習過程中蒐集到的感興趣的網站,分享出來供想要入門的朋友參考。數據分析是一個趨勢,且不說忽視它會不會被淘汰,但掌握它絕不是一件壞事,畢竟技多不壓身。在入門數據科學時,看書或許有點沉悶,上線下的培訓課或許又太花時間,而這些MOOC 課程既讓你可以自由安排時間學習,也更好地發揮了多媒體的優勢,讓你Learning by doing。你只需要靜下心來沉浸於英語的環境,並加上一點耐心,挑出自己喜歡的課程系列並持續學下去,相信你會在未來擁有更高的起點。
本文授權轉載自:少數派