標籤:

若想修鍊成數據科學家,最重要的技能居然是...?

Question 1

我本科研究生都是航空航天工程專業的,這個暑假會去一個參加一個Data Science的bootcamp。我每周花十五個小時去學MIT的edx概率課,這堂課是我畢生遇到的最難的課。我覺得我的青春可以不用來和概率課死磕,而應該用在別處。不知道自學,找工作必須的概念性知識是不是正確的做法?或者能不能給我一些建議,讓我重點學習概率重的重要知識點?因為我最近想要自己做一個關於健身數據記錄或者比特幣的project,所以想把工作重心從概率課程上挪走一下。

A: 你其實對於你的問題有了一些正確的見解。答案是肯定的,你可以將時間更好地利用在別的地方。通過寫代碼來構建project能夠給予你在自己的職業規划上繼續向前走的動力,同時你所學習的數學知識可以作為你所需的必要基礎知識。

這個計劃的三個優點:

1. 對於大多數人來說,學習最好的動力就來自於做自己願意做的事情。

2. 學以致用是檢驗學習效果的最佳方法,所以你現在做的project可以用來鞏固你所學的知識。

3. 通過目的性地按需求學習知識,你可以學習到真正需要的東西,不要把時間浪費在和你最終目的不想關的課題上。

唯一例外的情況是,如果你想成為數學教授或者在某個智庫工作,比如說我在讀數學博士期間的目標是成為數學教授,所以我能理解深度學習數學的樂趣,但是當時我也並不了解還有其他那麼多很厲害又有趣的工作也用到了數學。另外有時為了應對面試時遇到的現場解決技術問題的要求,你也需要重溫數學知識。

Question 2

我正在攻讀數據科學的碩士學位。我Coding能力不是很強,對於統計和機器學習的概念也只是初步理解。數據科學是一個很大的領域,所以我大多數朋友建議我專攻一個細節的分支。現在我在嘗試所有的東西,從而變成了一個無所不能卻一無所精的人。我要如果讓我專業技能細化,有所專長呢?

A: 在數據科學領域做到無所不能並不是一件錯事;從某種意義上來說,無所不能是成為一名數據科學家的意義。只要你能夠花足夠多的時間去編實際project的程序,你就完全沒有問題。

想要成為數據科學家你最應該做的事* 把Python(包括Numpy, Pandas和Jupyter)作為重中之重。

* 盡量只關注一個主要的項目。從課堂中學習的知識里延伸出來。如果你只是一直在做一些主題很分散的習題,想達到這個目標就會變得有些難度。對於自學的人,一個比較大的風險在於自學的人比較容易左右徘徊無法確定重點,一直去看一些主題較為分散,不同網站上的教程,從而不能夠深層地理解具體的知識點。選擇一個Kaggle的競賽,或是一個個人的project,或者從學校project中延伸出來的項目,然後深入地專註地做下去。我能想起來很幾次我將學校布置的project在課程結束後做了一個歷時數月的延伸project因為我對於這個項目太專註了。這是一個很好的學習方法。

* 從數據集構架的決策樹集成(random forest 和 gradient boosting machine)開始,我就對這個話題有了很矛盾的感受。儘管我們是可以通過python使用sklearn做數據處理的,但我認為R始終是處理數據集構架和分類變數的更好的方法。然而,如果你只打算對一種編程語言熟悉,那麼Python是一個顯而易見的第一選擇;畢竟同時學習兩種編程語言並且把他們學好是不容易的事情。

* 在此之後,就可以進行下一步通過使用Python Library Keras進行更深層的學習。借用Andrew Ng的說法,深層學習是「新的電力」並且也是一個非常有趣,有很大影響的且值得我們去付出的領域。

推薦閱讀:

健身應用暴露了美軍秘密基位置
安客誠成為阿里數據銀行首批認證服務商 助力數據營銷新生態
R語言實戰—04數據基本管理
治療癌症的有效解藥--基因數據

TAG:數據 |