1. 程式人生 > >給師弟師妹們學習資料探勘的一些建議

給師弟師妹們學習資料探勘的一些建議

看著剛進實驗室的師弟師妹們的迷茫,雖然也與他們進行過一些零散的交談,但是都不夠系統。因此,根據自己的經歷給出學習資料探勘的一些建議,大家可以根據自身的情況,具體問題具體分析,作為參考。希望在上一屆的基礎上,走的更深,走的更遠。

一. 讀研與資料探勘基礎

首先介紹一下大家都比較關心的幾個問題,包括我們組的研究方向是什麼,論文相關問題,大資料與工作相關問題,上海戶口問題幾個方面。

1. 我們組的研究方向是什麼

我們組大的研究方向是資料探勘,論文的研究方向是推薦演算法。要注意大的研究方向,論文的研究方向與工作方向的區別和聯絡。

2. 論文相關問題

讀研究生免不了會思考一個問題,讀研的意義是什麼?我自己認為讀研的最大意義是訓練自己系統化的嚴謹的分析思維能力。在導師給定論文研究方向後,如何確立更細的研究方向,如何檢索資料,如何閱讀英文論文,如何提出自己的創新點,如何做實驗,如何寫論文,如何修改論文,如何投稿,如何退修,如果是國際會議,還要去做英文口頭報告,與同行交流等,這些問題都是需要自己去思考的。

3. 大資料與工作相關問題

資料探勘屬於大資料專業嗎?當然屬於。現在大資料找工作相對還是比較理想的。關鍵是要學習哪些課程呢?以前給大家推薦了很多的書籍,但是效果卻恰恰相反,因為實在太多了根本看不完,更不知閱讀書籍的順序,淺嘗輒止,最後一本書也沒有看完,研究生就結束了。

(1)最低保障書籍

無論將來做什麼,熟練掌握一門程式語言,一個數據庫,資料結構,演算法都是必備的。

《高效能MySQL》

《資料結構與演算法分析:Java語言描述》

(2)Python與機器學習

《集體智慧程式設計》

《社交網站的資料探勘與分析》

《資料探勘:概念與技術》

(3)Java相關書籍

《Java開發實戰經典》

《Java Web開發實戰經典》

《Java虛擬機器規範》

(4)Hadoop與Spark書籍

《大資料日知錄:架構與演算法》

《Hadoop權威指南》

《大資料Spark企業級實戰》

《Scala程式設計》

說明:認準目標,耐住性子,一步一步往前走。要把上面推薦的書籍硬著頭皮讀完,資料探勘基本也就算是入門了。

4. 上海戶口問題

上海戶口屬於積分制,如果想要在校期間就拿到,那麼唯一的方式就是引數每年的研究生資料建模比賽,並且獲獎。獲獎比例還是很高的。其實,好好學習Python,買本數學建模的書籍看完,看幾篇近些年來的獲獎論文,比賽時硬著頭皮鑽研一道題目並且寫好論文,基本上都可以獲獎。

二. 資料探勘進階

資料探勘涉及多個方向,但是通常從數學統計,資料庫和資料倉庫,機器學習三個方向來進行研究。當我想學習一個方向的時候,最希望做的事情就是讓別人給我列出一個書單。因為我也會給你們列出一個書單,讓你們慢慢研究吧。

1. 數學統計

(1)理論數學:複變函式,實變函式,泛函分析,拓撲學,積分變換,微分流形,常微分方程,偏微分方程等。
(2)應用數學:離散數學(集合,邏輯,組合,代數,圖論,數論),具體數學,張量分析,數值計算,矩陣論,逼近論,運籌學,凸優化,小波變換,時間序列分析等。
(3)概率:概率論,測度論,隨機過程等。
(4)統計:統計學,多元統計,貝葉斯統計,統計模擬,非引數統計,引數統計等。

2. 資料庫和資料倉庫

《資料庫系統概念》

《資料庫系統實現》

《資料倉庫》

《分散式系統:概念與設計》

3. 機器學習

通訊原理;資料探勘;機器學習;統計學習;自然語言處理;資訊檢索;模式識別;人工智慧;圖形影象;機器視覺;語音識別;機器人學等。(這方面的經典書籍都可以看看,後面慢慢補充)

4. 其它書籍

(1)Linux

(2)網路原理,編譯原理,組成原理,

(3)JVM

(4)UML

(5)軟體工程

(6)設計模式

(7)雲端計算與Docker

(8)平行計算

(9)需求分析

三. 學習與方法 

作為一名軟體工程師,需要熟練掌握的工具,如下所示:
(1)部落格

除了學習之外,更要思考和總結,把還沒有忘卻的記憶快取序列化成為文字,記錄在部落格中。

(2)語言

大資料常用的語言包括Java,Scala,Python。如果一定要選擇精通一門語言,自己選擇Scala,同時深度學習JVM。(3)開發工具

自己選擇IntelliJ IDEA用於Java和Scala的開發,Eclipse用於Python的開發。
(4)GitHub

每天都要堅持程式設計,主動參與開源專案。
(5)Linux

工作常用的是Ubuntu 12.04 LTS。

由於時間原因,上面總結的還比較粗糙,算是第一個版本吧,後面還會繼續深度總結和完善。