如何真正學好數據科學?
4 人贊了文章
譯者:何品言
作為一個全新的領域,數據科學的飛速發展讓人激動。數據科學在帶來巨大經濟效益的同時,人們在數據科學技術方面的知識溝也逐漸出現,這意味著更多的人需要試圖了解和學習數據科學。
「我該如何學習數據科學」這個問題是初學者需要邁過的第一個門檻。大家在解決這個問題的時候,通常採用的辦法是給自己安排一大串的課程去學習,當然還有一大摞的課本來閱讀,線性代數和統計學成為大家必須要打交道的「新朋友」。我們使出了「洪荒之力」拼了命地學習,我們甚至沒有編程的學習背景,但是我們相信有有朝一日一定可以具備處理數據的能力。
但這個過程往往充滿了頭痛,因為我們找到了海量的學習資源,卻依舊找不到學習的方法,就像臨考前你的老師告訴你書上的「都是重點」一樣。我們在學校里按照這樣的方法讀了這麼多年的書,如果數據科學的學習仍要如此循規蹈矩,大概很多人會半途而廢吧。
但不可否認,有一些人是通過讀海量的書獲得成功的,但我更建議大家去不斷積累和嘗試。比如,當我們在一些小事中獲得啟發的時候,我們的學習之路便開啟了。我們心中應該清楚為了什麼而學,只有這樣我們才可以及時掌握到有用的技能。
這就是為什麼我不認為你的第一個目標應該是學習線性代數或統計數據。如果你想學數據科學,你的第一個目標應該是學會愛數據。如果你感興趣,我將帶你一起了解如何真正學到科學數據的方法。
1、學會熱愛數據
我們一味地學習新技術,卻很少關注自己的學習動機。數據科學是一個廣泛甚至有些模糊的領域,這使它很難掌握。如果沒有動力,你很可能學到一半就開始自我懷疑。我知道這不怪你,因為你只是沒得到正確的指導。
你需要找到一些能夠激勵你學下去的事物,找到了它,即使偶爾的熬夜讓公式們看起來模糊,你也仍然會欣然地浮想聯翩,你甚至想到這也許是神經網路在發揮作用。你需要在學習中找到一些「橋樑」,一些能讓統計學、線性代數和神經網路聯繫到一起的橋樑。找到了它,你也就自然而然地不會被「接下來我該學什麼」這樣的問題所困惑。
我學習數據科學的起點是預測股市,儘管那時候我對它不甚了解。在早期的一些程序中,我沒有經過統計就開始編碼進行預測,儘管我知道可能預測的誤差比較大,我仍然日以繼夜的完善,以求做到更好。我著迷於改善程序的表現,漸漸地我發現我也開始痴迷於股票市場。因為不斷讓自己學著去熱愛數據,我產生了學下去的更多動力,我想要使我的程序更加完美。
我知道並不是所有人都痴迷於股市,但它對於我它卻如此重要,因為正是股市激發了我,並幫助我找到真正想學的東西。
數據科學的偉大之處在於你可以和成千上萬有趣的事物一起工作:它可以找出你所在城市中新鮮有趣的東西;在地圖上標出互聯網上所有的設備;以年的頻率更新世界各地的難民位置…這一切的一切,都是在發現問題,然後努力去找到解決問題的答案。
2、 通過實際操作來學習數據科學
學習神經網路、圖像識別和其他尖端的技術是很重要的,但遺憾的是大多數的數據科學並不是直接教授你這些的:
l 90%的時間都是在做數據清理l 懂得一些演算法比一無所知要好很多
l 如果你了解線性回歸、K-means聚類和邏輯回歸,能夠解釋和翻譯它們的結果,並且能夠從頭到尾的完成整個步驟,你將比那些了解單個演算法但不會使用的人,更受用人單位的青睞。
這些都在告訴我們,最好的學習辦法就是進入項目組去一同工作。通過項目組的合作,你可以快速獲得一些實用性和用處很大的技能。當然,你也能夠通過這種途徑找到自己的投資拍檔。
項目的開始,你需要找到一個不錯的數據集,然後回答一個你感興趣的問題,開始不斷重複清洗。以下是一些尋找數據集的好去處:
l 100+ Interesting Data Sets for Statisticsl Datasets subreddit
l UCI machine learning repository
另一種方法是找到一個深層問題。比如預測股票市場,其實可以拆分成很多小的步驟。我第一次連接到雅虎財經API的時候,我獲取到了每日的價格數據;然後我創建了一系列的指標,比如過去一段時間裡的平均價格,然後運用它去預測未來的趨勢。這裡並沒有用到真正的演算法,僅僅是技術上的分析。後來我發現這樣的辦法並不奏效,於是我開始學習統計學,掌握線性回歸的辦法。我之後又連接到另一個API,抓取到了每一分鐘的數據,並把它們保存到一個SQL資料庫,如此反覆,直到我的演算法越來越完美。
這樣做的好處是為我之後的學習找到了方向。我不僅學習了SQL語法,我還運用它儲存了關於價格的數據。這恰恰說明只學習而不操作,最終只能是徒勞無功的,並且對於你今後從事數據科學的工作起不到半點作用。
3、 學會和別人溝通你的見解
數據科學家需要不斷地向別人傳達他們的技能和研究結果,這一點,恰恰也是一個合格的數據科學家和一個偉大的數據科學家之間的區別。雖然溝通的理念有時候很複雜,但這裡有一些你可以嘗試做的事情:
l 開通一個博客,發表你的數據分析成果l 多向你的朋友和家人練習講授數據科學的理念,你會驚奇地發現,自己在這個過程中對數據科學的領悟會不斷加深l 學會在聚會上演講l 使用github來掌控所有的分析
l 多瀏覽一些諸如Quora和DataTau的社區
4、 向你的同行學習
你會驚奇地發現和別人團隊合作能學到很多東西,在數據科學領域,團隊合作甚至在崗位設置上非常重要,這裡我有一些想法:
l 利用聚會尋找能夠一起合作的人l 為開源軟體包做貢獻l 給那些常常寫相關博客的人發消息以尋求合作
l 積极參加數據科學競賽,你可以從中結識到很多朋友
5、 不斷給自己增加新的困難和挑戰
你是否對你從事的項目已經輕車熟路?你是否已經很久沒有嘗試一個新的理念了?那麼,你需要一些更高一等級的困難來磨練自己了。數據科學是一座需要一步一步攀登的高山,如果你安於現狀,你將很快被淘汰。如果你覺得自己已經太安逸於所學,這裡有一些建議給你:
l 嘗試處理更大的數據集l 看看是否可以使你的演算法更快l 如何將演算法擴展到多個處理器?你能做到嗎?l 嘗試理解你使用做多的演算法,看看它們是否改變了你的假設?
l 嘗試教一些新手你正在做的事情
學習任何新知識都需要正確的方法,數據科學也是如此。當你想要達到一個很遠的地方時,你的手裡首先需要一個合適的指導方針。任何人都可以學習數據科學,只要你能保持一個正確的心態。
原文鏈接:How to actually learn data science
推薦閱讀:
※今日數據行業日報(2016.12.12)
※你知道楊安娣讓數據說話到底是怎麼回事嗎?
※經典模型分析
※健身應用暴露了美軍秘密基位置
※搜狐視頻模擬登錄以及上傳
TAG:數據 |