1. 程式人生 > >大資料到底該怎麼學習?

大資料到底該怎麼學習?

大資料到底怎麼學習呢?

首先我們要學習Java語言和Linux作業系統,這兩個是學習大資料的基礎,學習的順序不分前後。

Java:大家都知道Java的方向有JavaSE、JavaEE、JavaME,學習大資料要學習那個方向呢?只需要學習Java的標準版JavaSE就可以了,像Servlet、JSP、Tomcat、Struts、Spring、Hibernate,Mybatis都是JavaEE方向的技術在大資料技術裡用到的並不多,只需要瞭解就可以了,當然Java怎麼連線資料庫還是要知道的,像JDBC一定要掌握一下,有同學說Hibernate或Mybites也能連線資料庫啊,為什麼不學習一下,我這裡不是說學這些不好,而是說學這些可能會用你很多時間,到最後工作中也不常用,我還沒看到誰做大資料處理用到這兩個東西的,當然你的精力很充足的話,可以學學Hibernate或Mybites的原理,不要只學API,這樣可以增加你對Java操作資料庫的理解,因為這兩個技術的核心就是Java的反射加上JDBC的各種使用。

Linux:因為大資料相關軟體都是在Linux上執行的,所以Linux要學習的紮實一些,學好Linux對你快速掌握大資料相關技術會有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大資料軟體的執行環境和網路環境配置,能少踩很多坑,學會shell就能看懂指令碼這樣能更容易理解和配置大資料叢集。還能讓你對以後新出的大資料技術學習起來更快。

 

然後再講講學習方法,推薦一個大資料學習群 142973723每天晚上20:10都有一節【免費的】大資料直播課程,專注大資料分析方法,大資料程式設計,大資料倉庫,大資料案例,人工智慧,資料探勘都是純乾貨分享,

在實踐中學習

學習神經網路、影象識別和其他尖端技術是很重要的,但大多數資料科學工作不涉及這些:

90%的工作將是資料清理。

精通幾個演算法比知道一點許多演算法要好。

如果你知道線性迴歸、k - means聚類和邏輯迴歸,可以解釋和詮釋他們的研究結果,並可以用這些完成一個專案,你將比如果你知道每一個演演算法,但不使用它們更優秀。

大多數時候,當你使用一種演算法,它將是庫中的一個版本(你很少會自己編碼支援向量機實現——這需要太長時間)。

所有這些意味著最好的學習方法是在專案工作中學習,通過專案,你可以獲得有用的技能。

一種方法是在一個專案中先找到一個你喜歡的資料集,回答一個有趣的問題。

另一種方法是找到一個深層次的問題,例如預測股票市場,然後分解成小步驟。 我第一次連線到雅虎財經的API,並爬下每日價格資料。然後我建立了一些指標,比如在過去的幾天裡的平均價格,並用它們來預測未來(這裡沒有真正的演算法,只是技術分析)。這個效果不太好,所以我學會了一些統計知識,然後用線性迴歸。 然後連線到另一個API,清理每一分鐘的資料,並存儲在一個SQL資料庫。 等等,直到演算法效果很好。

這樣做的好處是我在一個學習環境中學習。我不僅僅學習了SQL語法,用它來儲存價格資料,還比僅僅學習語法多學習了十倍的東西。學習而不應用的知識很難被保留,當你做實際的工作的時候也不會準備好。

 

 

向同行學習

你根本想不到你會從同行身上學到多少東西,在資料工作中,團隊合作非常重要。

在聚會中找一些同伴。

開源軟體包。

給哪些寫有趣的資料分析部落格發訊息看有沒有合作的可能。

嘗試參加Kaggle 比賽看看可不可以找到隊友。

不斷增加學習的難度

你完全熟悉這個專案的工作了? 你最後一次使用一個新概念是在一週前? 那麼是時候做些更加困難的挑戰了。如果你停止攀登,那麼不進則退。

如果你發現自己太舒適,這裡有一些建議:

處理更大的資料集。 學習使用spark。

看看你能不能讓你的演算法更快。

你將如何將演算法擴充套件到多個處理器? 你能做到嗎?

理解更多的理論演算法並使用。這會改變你的假設嗎?

試圖教一個新手去做你現在正在做同樣的事情。

上面這些這至少是一個思路告訴你在開始學習資料科學的時候到底要做什麼。如果你完成了這些,你將發現你的能力自然而然就提升了。