search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

我是學Java的,想從事大數據相關工作,該怎麼規劃

這是華信智原一位學習Java軟體開發學員(在讀大學部生)的困惑と擔憂,相信也是很多想深入學習大數據人員的疑慮。為此,華信菌整理多方學習策略,歡迎各位老鐵有好的方法在下方留言,不吝賜教,共同學習。

策略一

想從事大數據、海量數據處理相關的工作,如何自學打基礎?

想做數據處理尤其是大數據量處理的相關工作必須兼具計算機科學基礎和統計基礎。

現在有一個高大上的職業叫數據科學家,有人說數據科學家就是一個比程序員更懂統計的統計學家,一個比統計學家更會編程的程序員。覺得說得很形象。

考慮到你還是在讀大學部生,有很多知識和課程還需要作為基礎來學習和鞏固。

基礎中的基礎:線性代數,概率論

核心知識:數理統計預測模型機器學習

計算機:

  • 數學軟體:強大矩陣運算和優化功能的matlab,專而精的mathematica。

  • 語言:python(很流行的科學語言,潛力也很大,ipython這樣互動式環境十分有利),fortran(強大的計算語言,充分優化的現成代碼),R(相比於matlab,java,c,R是個高富帥)

  • 可視化

amp;amp;amp;amp;lt;img src=amp;amp;quot;https://pic2.zhimg.com/14e81b9356cba0e6c0c18ad481f241bd_b.jpgamp;amp;quot; data-rawwidth=amp;amp;quot;508amp;amp;quot; data-rawheight=amp;amp;quot;334amp;amp;quot; class=amp;amp;quot;origin_image zh-lightbox-thumbamp;amp;quot; width=amp;amp;quot;508amp;amp;quot; data-original=amp;amp;quot;https://pic2.zhimg.com/14e81b9356cba0e6c0c18ad481f241bd_r.jpgamp;amp;quot;amp;amp;amp;amp;gt;這是數據分析各類語言使用度的圖表,R占的比例還是相當高啊。想利用現在動輒TB級的數據大顯身手,光靠excel可不夠啊。你真的需要寫很多代碼…

這是數據分析各類語言使用度的圖表,R占的比例還是相當高啊。想利用現在動輒TB級的數據大顯身手,光靠excel可不夠啊。你真的需要寫很多代碼…

統計:時間序列分析 應用回歸(很簡單,亦很實用) 多元統計分析

強烈推薦:Distance Education § Harvard University Extension School 和哈佛的學生一起學習Data Science。

課後問題的材料:cs109.org/

網路課程同樣有豐富的資源:機器學習類:

  • 斯坦福大學:機器學習 coursera

  • Learning From Data

數據分析類:

  • 約翰霍普金斯: Data Analysis Methods

  • 杜克: Data Analysis and Statistical Inference

  • 約翰霍普金斯: Computing for Data Analysis

  • MIT: The Analytics Edge

編程類:

  • 萊斯大學: Introduction to Interactive Programming in Python

  • MIT: Introduction to Computer Science Programming in Python

策略二

大數據有兩個方向,一個是偏計算機的,另一個是偏經濟的。你學過Java,所以你可以偏向計算機。

基礎篇:1. 讀書《Introduction to Data Mining》,這本書很淺顯易懂,沒有複雜高深的公式,很合適入門的人。另外可以用這本書做參考《Data Mining : Concepts and Techniques》。第二本比較厚,也多了一些數據倉庫方面的知識。如果對演算法比較喜歡,可以再閱讀《Introduction to Machine Learning》。當然,還有《機器學習:實用案例解析》

2. 實現經典演算法。有幾個部分:a. 關聯規則挖掘 (Apriori, FPTree, etc.)b. 分類 (C4.5, KNN, Logistic Regression, SVM, etc.)c. 聚類 (Kmeans, DBScan, Spectral Clustering, etc.)d. 降維 (PCA, LDA, etc.)e. 推薦系統 (基於內容的推薦,協同過濾,如矩陣分解等)然後在公開數據集上測試,看實現的效果。可以在下面的網站找到大量的公開數據集:UCI Machine Learning Repository/

3. 熟悉幾個開源的工具: Weka (用於上手); LibSVM, scikit-learn, Shogun

4. 到 Kaggle: Go from Big Data to Big Analytics/ 上參加幾個101的比賽,學會如何將一個問題抽象成模型,並從原始數據中構建有效的特徵 (Feature Engineering).

到這一步的話基本幾個國內的大公司都會給你面試的機會。

進階篇:

1. 讀書,下面幾部都是大部頭,但學完進步非常大。a.《Pattern Recognition and Machine Learning》b.《The Elements of Statistical Learning》c.《Machine Learning: A Probabilistic Perspective》第一本比較偏Bayesian;第二本比較偏Frequentist;第三本在兩者之間,但我覺得跟第一本差不多,不過加了不少新內容。當然除了這幾本大而全的,還有很多介紹不同領域的書,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理論一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。這些書的課後習題也非常有用,做了才會在自己寫Paper的時候推公式。

2. 讀論文。包括幾個相關會議:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及幾個相關的期刊:TKDD,TKDE,JMLR,PAMI等。跟蹤新技術跟新的熱點問題。當然,如果做相關research,這一步是必須的。例如我們組的風格就是上半年讀Paper,暑假找問題,秋天做實驗,春節左右寫/投論文。

3. 跟蹤熱點問題。例如最近幾年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的業務都會涉及這些方面。以及一些熱點技術,例如現在很火的Deep Learning。

4. 學習大規模并行計算的技術,例如MapReduce、MPI,GPU Computing。基本每個大公司都會用到這些技術,因為現實的數據量非常大,基本都是在計算集群上實現的。

5. 參加實際的數據挖掘的競賽,例如KDDCUP,或 Kaggle: Go from Big Data to Big Analytics/ 上面的競賽。這個過程會訓練你如何在一個短的時間內解決一個實際的問題,並熟悉整個數據挖掘項目的全過程。

6. 參與一個開源項目,如上面提到的Shogun或scikit-learn還有Apache的Mahout,或為一些流行演算法提供更加有效快速的實現,例如實現一個Map/Reduce平台下的SVM。這也是鍛煉Coding的能力。

策略三

1. 自己裝個小集群跑hadoop/hive,可以到cloudera網站上下現成的打包虛擬機。看看hadoop in action. 這本書比權威指南容易懂很多。2. 裝個cassandra什麼的玩玩,在上面架個小項目,比如留言板什麼的。。3. 讀一些著名的paper,nosql的或者mapreduce。4. 看看apache hadoop家族的其他幾個項目,比如zookeeper,pig,了解一下生態圈到這裡為止你大概有個概念,知道bigdata怎麼回事了找個開源項目,看看ticket list,看看能不能自己修。。能的話看看能不能混進項目組個人覺得,大數據要靠實踐多一點。在真的上百上千節點的cluster上跑hadoop和自己虛擬機架的完全不同。cluster上跑各種奇葩的事情單機都是碰不到的。。就好比dba靠讀書考證很難牛屄一樣。所以最終還是要找個公司實戰。。不過如果上面幾個都做到的花,基本上應聘大數據公司問題不大了。

小編建議如果想深入學習,沒有什麼比找個真的做相關行業的公司來的靠譜了。工程的東西,尤其是這樣新鮮出爐的工程領域,光看書看資料是沒有任何用處的,你很難了解每個技術背後的關鍵,也很難了解實踐中會遇到的問題。你深入看一個項目,就會發現,其實用得技術沒什麼新鮮深奧的,比如你看Hive或者Presto,會發現用到的技術,在Query引擎領域只能算是入門級的知識,傳統資料庫廠商都用了幾十年了。真正好玩的是,每個Feature設計是如何切入大數據這個背景的。所以說,沒有比找一家公司真的干一段時間更能讓你了解大數據的了。

而現在沒有一家大數據實戰項目公司比華信智原更合適了。

華信智原Java大數據採取4+4新模式

4個月Java軟體開發研究(全國各區域公司)+4個月實戰項目(北京總公司項目實戰基地)

我們有大牛的導師と科學的教程,只等你來挑戰!



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦