明年想在上海找到一份數據分析相關的工作,如何學習準備,避免少走彎路?

本人上海某校碩士畢業,海洋地質專業。15年10月於某傳統軟體公司就職實施工程師至今。16年8月決心將來從事數據分析相關工作,數據分析-機器學習-人工智慧這是我的理想路徑。現狀態:白天上班,晚上學習3-4小時。學習統計學基礎、mysql基礎、R語言實戰花了2個多月,但感覺只有些基礎了解,並不紮實。現重心放在python學習上,花了一個月學習小甲魚視頻-零基礎學習python,正入手《利用python進行數據分析》,但感覺內容龐大,紮實不容易。年後打算從現公司離職回上海了,往後的學習想更有針對性一些,實際上我認為工作中學習是最快的。可現在感覺年後找相關的工作底氣不足,如何準備呢?期待先進入這個行業,不知如何準備更有概率得到機會?


上海某校數學系碩士,應屆畢業生,拿到了幾個數據挖掘工程師的offer,來強答一發。

數據分析這個崗位很多地方是做報表的,偏運營或者產品,會sql就行但對業務要有比較深入的理解。機器學習更偏模型,各種分類聚類的模型,細一點從處理對象上分成自然語言處理,語音識別,圖像分類,業務上分廣告推薦,搜索排序等。人工智慧這個崗位我沒見到過,感覺是對這些模型尤其是深度學習的綜合運用。

黃哥說了python的部分,《Python 核心編程第2版》確實蠻好的,對概念的解釋比較清楚,對原理的分析也比較到位,我刷了前面400頁。《利用python進行數據分析》這本書寫的太瑣碎了,看過很容易忘,可以在kaggle上或者一些博客搜些項目做做,復現一些代碼,邊做邊總結提升會比較快。

演算法和數據結構方面,最直接的應用就是筆試面試,畢竟很多這一行的是計算機出身,我面試的經驗是相對機器學習模型他們貌似對演算法和數據結構更在行一點。。。《演算法導論》我啃了200多頁,用python復現了一遍,刷了一些leetcode,能應付基本的筆試面試。當然這方面的公開課也可以去聽一下,比如網易雲課堂有浙大的《數據結構》,cousera上有北大計算機的演算法數據結構的課程。為了應付找工作可以學的不用那麼細吧,但總是要補的,我也要把《演算法導論》補完。。。

模型方面,可以買本《機器學習實戰》看看,裡面有python實現的代碼,周志華那本《機器學習》也寫的挺好的。不需要理解太多模型,畢竟時間沒那麼充裕,招聘更重視你對你熟悉的模型的理解,不用一味追求複雜的模型。簡單的比如邏輯斯諦回歸,多元線性回歸,決策樹,複雜的模型很多建立在這幾個簡單的模型之上。公開課可以去看吳恩達的機器學習,cousera上的是簡單的版本,網易公開課上是他在斯坦福上課的完整版,網上也搜得到這門課的筆記。付費的話,安利一下小象學院鄒博的機器學習課程,我參加過第二期的深度學習課程,他講的還不錯,價錢也不貴。要是覺他講得不好,不要來找我。。。

實際項目經驗,前面也提到了可以去kaggle找些項目做。你動手做過,會發現其實前期的數據清洗,特徵選擇對結果的影響非常大,當然前期數據處理會跟你的業務和所選擇的模型有關係。這些經驗往往會給你的面試加分。

最後,共勉~


希望題主能夠區分數據分析數據挖掘

前者偏向業務,對編程能力要求不高,更多的是統計學思想和邏輯性,掌握MySQL是基礎,接下來就是個人資歷問題了。

後者偏向於編程,不建議沒有編程基礎的同學自學,這部分工程師主要是編程出生然後把重心轉移到數據挖掘模塊。

基於題主個人經歷,個人建議放低姿態找到一家合適的公司,邊工作邊學習。

以上


碩士應該起點高,複習微積分、線性代數、概率論、統計學。

Python 首先要解決的是自己能寫代碼解決問題。

建議買本書《Python 核心編程第2版》好好的擼一遍。

自己會寫代碼後,還需要學習數據結構和演算法,可以同時學數據挖掘、機器學習等相關知識。

到招聘網站找職位要求,對比自己找短版,補上相關知識。

1、書

黃哥推薦學習Python 10本好書。

知乎專欄

2、工具

Python集成開發工具

知乎專欄

3、學習方法

如何訓練自己的編程思路

知乎專欄

部分免費Python免費視頻

pythonpeixun/article

加油!


詳細答案,我在免費課程《大數據分析的道與術》中有系統闡述:大數據分析道與術-課程學習-百度傳課,或者也可以購買同名書籍:《大數據分析的道與術》 畢然, 袁曉潔【摘要 書評 試讀】圖書

如何做好數據分析?

要想做好數據分析,有以下4個關鍵點:

(1) 業務調研:理解業務是基礎,否則分析是無本之木。

(2) 創新思考:廣闊的知識面和積極的思考力,是分析思路的源泉。

(3) 邏輯推理:對數據指標做出正確的歸因和判斷。

(4) 可行建議:產生對業務切實有效的改進建議和執行方案。

業務調研」是數據分析的起點,也是獲取分析思路的基礎,但需要兼具深度和廣度的「創新思考」,才能獲取更獨到的分析思路。分析思路也可以認為是統計數據的角度,完成數據統計後,需要「邏輯推理」來保證從數據到結論判斷的正確性。最後,用「可行建議」來保證分析結論的落地執行,產生可量化的業績。這就是數據分析從業務中來,回業務中去的完成過程。

換個角度說,可以把這四個關鍵點分解為數據分析的5個執行步驟:

選擇分析主題、確定方案思路、實現數據統計、產出分析報告、推進業務落地。

業務調研和創新思考決定了「分析主題」的高低和「方案思路」的好壞;邏輯推理決定了從統計數據得出的「分析報告」是否可信;可行建議決定了分析報告的「業務落地」效果。做好這四個關鍵,才能確保數據分析項目的每個步驟都卓有成效,最終產生業務改進。

加入數據技術領域的三步曲

如果有技術背景的朋友想入行,應該做哪些準備呢?通常,首先決策想成為偏重業務的數據分析人員,還是想成為偏重技術的數據建模人員。這兩種人在技術基礎和掌握的領域知識面上均有所差別。偏重業務的數據分析人員不需要有深入的數學和統計學背景,更需要對業務的深刻理解、靈活的頭腦和清晰的邏輯,在學習時偏重很多與業務分析相關的領域知識,如經濟學、心理學、營銷學,甚至財務和企業管理方面的學科。偏重技術的數據分析人員需要有良好的數學和統計背景,專註於數據挖掘和機器學習的演算法原理與應用場景。但無論選擇哪個方向,下面三個項準備均需要做好:編程技術、項目實踐和理論學習。

(1編程基礎

數據技術是一門實踐科學。在學習理論之前,最好具備處理數據的能力,否則一切都是紙上談兵。在這個領域使用較多的統計編程語言有:Awk、R和Python,分別是計算機科學家、統計學家和數學家的發明。Awk是Linux下方便處理數據的腳本語言。因為它的底層用C語言實現,所以處理文本日誌的速度非常快,是做數據統計的不二之選。但缺點是沒有強大功能的函數庫,不適於處理邏輯複雜或期望調用模型演算法的場景。與之相反,R與Python這兩種語言都帶有大量的數學函數庫和演算法庫,使用起來非常方便。兩者的區別是R的函數封裝更加高層,Python則提供了很多底層的數學函數庫。如果想快速驗證某個模型在應用數據上的有效性,使用R更快捷。如果需要優化演算法細節或工程實現,則用Python更適合。

除了基本的編程語言外,處理超大數據量還會用到分散式編程框架,用並行化的方法解決大數據計算的性能需求。業內常用MapReduce思想與Hadoop工具將計算過程並行化。

也許有人會問,是否可以不學編程,用一些數據挖掘軟體解決需求呢?只用軟體不再適合大數據的時代。一方面處理的數據量受軟體性能的限制,另一方面即使不需要處理大數據量,在分散式編程也要比軟體在單機處理速度快很多。雖然很多商業化軟體均逐漸支持分散式部署,但終不如自己寫程序處理來的方便。傳統諮詢公司的朋友都開始學習編程,因為隨著客戶企業的數據量逐漸龐大,不用編程的方式很難做數據分析。甚至統計學家都拿自己開涮:「統計學要被計算機學替代了,因為現在幾乎沒有非大數據量的統計應用」。

有次和數據技術團隊的負責人聊天,他問團隊組建時優先招什麼樣的人才,我提出的首要標準是熟練編程。不懂數據分析或模型演算法可以邊做邊學,但如果沒有編程基礎,最基本的工作都無法完成。

(2項目實踐

數據技術是一門實踐科學,需要大量的項目實踐。當然,了解數據分析的基本方法和數據挖掘的常見模型,有個整體的認知還是很必要的。但沒有經過項目磨練,即使讀了再多的理論書籍,也很難深刻理解模型並靈活應用。只有通過項目實踐的打磨,才能把這些方法和工具轉變成手拿把掐的技能。對於一個剛入門的菜鳥,去哪裡尋找實踐項目呢?給大家兩個建議:

1. 公開題目:很多學術和商業的組織,經常發布一些公開題目,配有相對完整的數據集和業務需求。不僅可以用公開題目練手,還可以與其它更專業團隊的方案進行對比,彌補自己的不足。

2. 免費給中小企業做項目:很多中小企業有不少業務問題可以用數據分析或數據建模解決,主動以實習的形式加入該團隊,用實際項目鍛煉自己對業務的感覺以及對數據技術的使用。

(3) 理論知識

除了掌握編程並不斷實踐項目外,還需要持續的補充理論知識。切入不同數據技術職位的朋友,所要學的內容也不盡相同。偏業務數據分析的人員,除了溫習統計知識,還需要讀很多跨學科的書籍,如經濟學、營銷學、心理學、產品設計等;偏技術的數據分析人員,需要好好溫習數學知識,如微積分和線性代數等,再閱讀與數據挖掘和機器學習相關的專業書籍。以下是個人讀過,感覺適合無背景的同學閱讀的入門書籍。這些書不一定是最著名的書,有些甚至不是專業書。

最後,附上亞馬遜上的書評,期望對大家有所幫助!:)


《Python for Data Analysis》真的已經是數據分析很基本的書了~


語文還得回爐重造,「避免少走彎路」意思是你想多走點路咯?


數據分析其實很多靠的是對業務的理解,面試的時候並不會問多麼高深的問題,可以準備幾個之前做過的項目,準備一些未來的職業規劃,統計知識和軟體知識能學多少是多少。進公司之後多接觸業務,從業務的角度去分析或者建模。平時多積累,不管是為了工作還是以後的發展,多學習總是沒錯的。


有軟體開發的背景去做數據分析沒什麼難度的,起碼你sql會吧,還知道索引和性能調優吧。我碩士在上海某高校學的心理學,當初sql都沒實戰過…都有公司要我了 後來在工作中學的sql,還有一些機器學習的演算法,然後再開始學編程。。。

主要第一份工作的面試官是生物統計出身的,聊的都是統計方面的,讓我混過去了。後來跟公司里的程序員混熟了學的編程。。第二份工作的面試官是科班出身的,光Linux方面的東西就把我虐翻了。。


數據分析數據挖掘還是差蠻多的,不過個人覺得有兩點對這兩個方向都比較核心:第一點,機器語言只是工具,演算法是核心。第二點是要培養行業背景。


講道理,樓主想上路的話,建議參加一些比較有名的大數據比賽,取得一些不錯的名次。本身對你自己也是巨大的提升。說直接一點,如果你是面試官,一個剛入行的人,說想干數據分析,沒有任何經驗,你會怎麼想?你說你會寫R或者Python的代碼,接著吶?數據挖掘本身側重點在數據上,而不是編程開發上,沒有用大批量的數據喂出來的經驗,憑啥覺得你能行?你覺得那些教科書上才能給你多大的數據?幾百條?幾千條?這點數據算個毛線?幾千萬條的數據,在大數據行業裡面也不過是輕量級的。比賽裡面給你的數據,千萬級億級甚至十億級都很正常。沒上過戰場的士兵也能叫士兵?


數據分析、機器學習、人工智慧之間區別很大,相互之間跳轉會比較困難。後兩者偏技術,不建議沒有技術基礎的從事。比如人工智慧,就算是科班出身的一直做人工智慧的要想做的好都有很大難度。題主之所以設定這樣的理想路線,可能是因為對這三個方向還不太了解。建議題主嘗試下完整的數據分析,多實戰而不是只看知識。


四平路地球物理留、、、


其實公司對剛畢業還是蠻寬鬆的


你學這些有毛用。。好好學高等數學和統計學吧


推薦閱讀:

產品經理應該從哪裡做起學習數據分析?
GrowingIO 如何做到不必埋點即可採集到齊全的用戶行為點擊流數據?
App 數據分析的常用指標有哪些?
大家都是在哪些網站找數據?
大數據是不是泡沫?

TAG:Python | 數據挖掘 | 數據分析 | 互聯網數據分析 | 大數據 |