2020年,四步突破數(shù)據(jù)科學(xué)
這沒什么問題,但你很可能列出一張事無巨細、耗時費力、近乎難以實現(xiàn)的目標(biāo)清單,讓你應(yīng)接不暇,而且很有可能失去動力,因為實在是有太多任務(wù)了。
如果打算今年進入數(shù)據(jù)科學(xué)領(lǐng)域,這是個很棒的決定。該領(lǐng)域廣受認可,而且好找工作,工資也不錯,就連管理部門也慢慢意識到數(shù)據(jù)科學(xué)是不可或缺的。
不過在開始之前,請允許我說些打擊的話(有必要說):用一年的時間去學(xué)數(shù)據(jù)科學(xué)的所有內(nèi)容是不夠的。
別誤會,一年的時間足夠你找到第一份工作,但不可能一步登天,從零成為數(shù)據(jù)科學(xué)團隊的領(lǐng)頭人(如果做到了,請在評論區(qū)分享你的故事)。
說了這么多,來探索必備技能以及滿足你上手操作的技能。
1. 數(shù)據(jù)庫?
我們分析的數(shù)據(jù)很可能出自某個數(shù)據(jù)庫,這是不同于書籍或課程的典型情況——不會獲得格式正確的CSV文件。通常,你需要具備專業(yè)知識(或認識懂這方面知識的人),對SQL也要有一定的了解。
如果用Python或R語言分析,那就不要用太多時間來學(xué)SQL分析函數(shù)、PLSQL/T-SQL和所有那些高難度東西。在這種情況下,SQL的任務(wù)很大程度上依靠的是結(jié)合幾組表格,在上面進行分析。
這個過程要花的時間取決于使用方式以及先驗知識,但新手在這里花的時間不會超過一個月。
2. 現(xiàn)在來談?wù)剶?shù)據(jù)科學(xué)
如果按照上面的每一步來,還沒有先驗知識,此時可能是2020年的8月或9月。時間已經(jīng)過去很多了,但你已經(jīng)具備尋求第一份工作的所有先決條件。
不是所有都要剛剛好。
要找一份數(shù)據(jù)科學(xué)的工作,目前也只提了先決條件。后面這兩個月,建議對一些基礎(chǔ)的數(shù)據(jù)分析和可視化庫有所了解,如:
- Numpy
- Pandas
- Matplotlib
- Scipy
- Statsmodels
這是在你不懂的情況下(如果不知道為何需要這些知識的話學(xué)起來會感到無聊)。
不要走馬觀花式看課程,到網(wǎng)站上下載數(shù)據(jù)集然后完整地分析。再到網(wǎng)上看其他人對于同一數(shù)據(jù)集是如何處理的,看自己怎么改進。
同樣,在這兩個月時間內(nèi),應(yīng)該熟悉一些機器學(xué)習(xí)的算法,如:
- 線性回歸(Linear Regression)
- 邏輯回歸(Logistic Regression)
- 分類與回歸樹(Classification and Regression Trees)
- KNN(k-NearestNeighbor,K最近鄰分類算法)
- 樸素貝葉斯分類(Naive Bayes)
- SVM(Support Vector Machine,支持向量機)
也許實際操作中不會用到這些,但它們是日后學(xué)習(xí)更多高級算法XGBoost和神經(jīng)網(wǎng)絡(luò)(Neural networks)的基礎(chǔ)。有了分析數(shù)據(jù)庫,記得不要只顧著跟教程,而要自己完成高質(zhì)量的任務(wù)。如果你喜歡,嘗試用Numpy從零開始運用算法,不過并不強制大家。
3. 編程呢?
沒錯,數(shù)據(jù)科學(xué)離不開編程技能。如果找到一份工作,但不會寫代碼,你很可能知道自己該做什么卻不知從何下手,也有可能會經(jīng)歷SOCPS(一種不知道怎么寫代碼就從Stack Overfow網(wǎng)站上復(fù)制粘貼的綜合癥),甚至不看問題和答案。
在網(wǎng)上搜索更好的解決方案是可以的,但應(yīng)該知道怎么自己寫出一套基本方案。
之前從沒寫過的話,可以從小入手,讀讀有關(guān)Python或R的書籍及其在數(shù)據(jù)科學(xué)中的角色,先有個全面的了解,再深入學(xué)習(xí)語法。不用擔(dān)心要記所有的內(nèi)容,能確保在遇到困難時該朝哪個方向看就行。
要是已經(jīng)讀過相關(guān)書籍或上過講編程的課也了解語法,就是不知道怎么解決問題,那就花些時間學(xué)學(xué)算法和數(shù)據(jù)結(jié)構(gòu)。同時看一些常規(guī)的編碼問題采訪,這些會讓你“文思泉涌”。
對自己的編程技能很滿意對嗎?那可太棒了!現(xiàn)在騰點時間給分析庫——Numpy和Pandas庫。
每個人在編碼上花的時間也不同。新手小白和僅需了解庫的知識的人就不一樣??梢哉f完全不懂的人3-4個月的時間足矣,如果是只需學(xué)習(xí)庫的知識的人,大概1個月的時間就可以。
4. 提高數(shù)學(xué)技能
你一定聽說過數(shù)據(jù)科學(xué)首先要求優(yōu)秀的數(shù)學(xué)能力。要了解的數(shù)學(xué)知識因工作崗位而異,至于入門需要掌握多少,筆者給出的回答是:沒你想得多。
且聽我一一敘述。初學(xué)者會試圖掌握任何相關(guān)領(lǐng)域的知識,比如說計算、線性代數(shù)、概率計算或統(tǒng)計學(xué),但必須見好就收。
可別誤會了,倘若你有的是時間,那就成為上述領(lǐng)域的專家,否則就不要浪費時間。作為剛步入該領(lǐng)域的初級數(shù)據(jù)科學(xué)家,不僅要了解數(shù)學(xué)知識,更多是在直觀層面。要知道特定的場合進行什么操作,這就是直覺發(fā)揮作用的時刻,但無需花太多時間著手解決復(fù)雜的數(shù)學(xué)問題。
只要悟性強,明白怎么編碼,就足夠了。找到工作后你將有大把的時間鉆研數(shù)學(xué),所以沒必要提前學(xué)所有的東西。
如果沒有高數(shù)基礎(chǔ),不建議花2-3個月的時間提升數(shù)學(xué)技能。
接下來呢?
2020年剩下幾個月的時間里,創(chuàng)建個GitHub賬戶(a),放上最好的分析報告或機器學(xué)習(xí)算法,提供給潛在的雇主看。同時準(zhǔn)備一份漂亮的簡歷和求職信。
倘若真的喜歡,發(fā)表一篇有關(guān)學(xué)習(xí)歷程的博客。網(wǎng)上的呈現(xiàn)只會在職業(yè)發(fā)展中對你有幫助,前提是別發(fā)無用的信息,但我相信你的判斷力。
就是這樣了,趕緊給理想的公司投簡歷吧。