1. 程式人生 > >python轉型資料分析、機器學習、人工智慧學習路線

python轉型資料分析、機器學習、人工智慧學習路線

最近1年的主要學習時間,都投資到了 python 資料分析和資料探勘上面來了,雖然經驗並不是十分豐富,但希望也能把自己的經驗分享下,幫助到更多想轉行python資料分析和人工智慧的朋友,給廣大同學朋友規劃個適合學習規劃。

我大學學習的應用化學,後來畢業做了2年全棧設計師(PS:設計和前端都不熟練的那種),後來出於對爬蟲開發的喜歡(爬圖片、爬視訊)還有人工智慧、機器學習、大資料的火熱程度的追捧,毅然決然報了培訓班,在深圳培訓了半年python,後來出來找工作,在期貨交易所工作,主要工作是資料處理和分析、機器學習、自然語言處理、影象處理等,專案是一個全自動化智慧雲測試雲平臺,現大概講下想轉行資料分析、機器學習、人工智慧應該必備的知識和學習路線

轉行資料分析(機器學習、人工智慧)學習路線:

0、學習python基礎語法知識(ps:0是第一個公眾號回覆:python)

1.學習MySQL,能熟練對資料庫資料的增刪改查命令,面試也會經常問到

2.學習正則表示式,用於資料的提取 re模組

3、前端入門html\css\jquery,用於分析網頁頁面結構

4.學習爬蟲技術,熟練掌握requests、scrapy模組,可以從網路上爬很多資料來源,用於分析統計(轉行資料分析可以先從爬蟲做起,公眾號回覆:爬蟲)

(以下幾個模組是資料分析最常用的庫,一定要學好)

5.學習科學計算和分析包,numpy 和 pandas(公眾號回覆:資料分析)

6.學習視覺化,分析結果視覺化的包 matplotlib,實現資料繪圖展示

7.學習資料探勘模型,這個包主要是 sklearn,裡面的演算法基本都有對應的包,但希望大家能對高等數學、概率論、線性代數、資訊理論的基礎理論進行學習,這些演算法都是基於數學基礎,如果數學理解不透,也只能當一個調包俠(公眾回覆:機器學習)

8.神經網路的框架,推薦學習 TensorFlow 或者 keras,karas 是把TensorFlow 封裝起來的高階包,學習難度比較低。還有一個更加高階的框架 caffe,據說很厲害。

9.常見神經網路:迴歸網路,分類網路,卷積神經網路(CNN)在影象語言等領域處理方面優秀,迴圈神經網路(RNN)利於時間序列分析分析,長短時間記憶(RNN LSTM ),避免過度擬合。自編碼網路,這個我不瞭解,也不感興趣。神經網路還很多,技術前沿的東西還不知道。

10.如果你想做正規的 Python 工程師,需要學習面向物件,掌握面向物件思維,無往而不利

資料分析要不要學高數、概率論、線性代數?

如果不想只當調包俠,也不想在工作中因為不理解數學過程太痛苦的話,多補補數學理論吧,至少我工作中接觸到簡單的數學概念有:標準差、方差、協方差、協方差矩陣、餘弦相似度、導數、對數、偏導、概率論、熵、資訊理論、矩陣運算、向量的運算等等。只能說列舉的這些是基礎中的基礎,比這更難的我也正在學。

資料分析要不要學後端框架?比如django和flask

以上過程是一個快速轉行資料分析的路線,可能有些介紹不是太全,但大致的學習方向就按這個來,就會少走彎路,但其實作為一名python開發者,個人建議最好還能運用一種後端框架,能夠搭建web後端專案也很重要,雖然在公司工作是資料分析,但是公司經常可能性的會讓搭一些簡單的專案,藝多不壓身,我個人喜歡用django

資料分析要不要學前端?(html、css、js)

回答是肯定的:必須學,能閱讀懂是基本,越熟練深入越好,因為做資料分析很多都是從爬蟲和web轉過來的,而爬蟲和web都對前端技術有一定要求,比如如下原因:

爬蟲讀取頁面結構,獲取標籤,你要能看懂HTML

爬蟲的很多反爬蟲措施基於厲害的js程式碼和一些複雜的css,如果不懂,爬蟲很難做到深層次

後臺專案,至少在PC端的,很多情況下,都要求後端開發人員能讀懂前端程式碼

Python 資料分析是一個非常專業的方向,需要有較多的數學理論知識,而且需要有刻苦專研的精神。既然是程式語言,就需要寫很多程式碼,我至少寫了 10k行程式碼了。最後你還需要了解你自己希望從事什麼行業,傳統資料探勘在銀行,保險,電信,電商等領域已經很普及了成熟了。對於那些高階的神經網路,也就是類似AI 領域,在圖片語音視訊識別,自動駕駛,量化投資,機器人等領域有很好的。很多分析師都轉行做這塊了,還是話說回來,想學習的很多,多實踐,加油!

經驗有限,不足之處歡迎指正!