漫談數據挖掘從入門到進階

入門:html

 

 

數據挖掘入門的書籍,中文的大致有這些:python

Jiawei Han的《數據挖掘概念與技術》程序員

Ian H. Witten / Eibe Frank的《數據挖掘 實用機器學習技術》面試

Tom Mitchell的《機器學習》算法

TOBY SEGARAN的《集體智慧編程》編程

Anand Rajaraman的《大數據》api

Pang-Ning Tan的《數據挖掘導論》機器學習

Matthew A. Russell的《社交網站的數據挖掘與分析》ide

 

不少人的第一本數據挖掘書都是Jiawei Han的《數據挖掘概念與技術》,這本書也是咱們組老闆推薦的入門書(我我的以爲他之因此推薦是由於Han是他的老師)。其實我我的來講並非很推薦把這本書。這本書什麼都講了,甚至不少書少有涉及的一些點好比OLAP的方面都有涉獵。可是其實這本書對於初學者不是那麼友好的,給人一種教科書的感受,若是你有大毅力讀完這本書,也只能得到一些零碎的概念的認識,很難上手實際的項目。學習

 

我我的推薦的入門書是這兩本:TOBY SEGARAN的《集體智慧編程》和Ian H. Witten / Eibe Frank的《數據挖掘 實用機器學習技術

集體智慧編程》很適合但願瞭解數據挖掘技術的程序員,這本書講述了數據挖掘裏面的不少實用的算法,並且最重要的是其講述的方式不是像Han那種大牛掉書袋的講法,而是從實際的例子入手,輔以python的代碼,讓你很快的就能理解到這種算法可以應用在哪一個實際問題上,而且還能本身上手寫寫代碼。惟一的缺點是不夠深刻,基本沒有數學推導,並且不夠全面,內容不夠翔實。不過做爲一本入門書這些缺點反而是幫助理解和入門的優勢。

推薦的另外一本《數據挖掘 實用機器學習技術》則相對上一本書要稍微難一點,不過在容易理解的程度上依然甩Han老師的書幾條街,其做者就是著名的Weka的編寫者。整本書的思想脈絡也是儘量的由易到難,從簡單的模型入手擴展到現實生活中實際的算法問題,最難能難得的是書的最後還稍微講了下如何使用weka,這樣你們就能在學習算法之餘可以用weka作作小的實驗,有直觀的認識。 

看完上述兩本書後,我以爲大致數據挖掘就算有個初步的瞭解了。日後再怎麼繼續入門,就看我的需求了。

若是是隻是想要稍微瞭解下相關的技術,或者做爲業餘愛好,則可隨便再看看Anand Rajaraman的《大數據》以及Matthew A. Russell的《社交網站的數據挖掘與分析》。前者是斯坦福的"Web挖掘"這門課程的材料基礎上總結而成。選取了不少數據挖掘裏的小點做爲展開的,不夠系統,但講的挺好,因此適合有個初步的瞭解後再看。後者則亦是如此,要注意的是裏面不少api由於GFS的緣故不能直接實驗,也是個遺憾

 

若是是繼續相關的研究學習,我認爲則還須要先過一遍Tom Mitchell的《機器學習》。這本書能夠看作是對於十多年前的機器學習的一個綜述,做者簡單明瞭的講述了不少流行的算法(十年前的),而且對於各個算法的適用點和特色都有詳細的解說,輕快地在一本薄薄的小書裏給了你們一個機器學習之旅。

 

進階:

 

進階這個話題就難說了,畢竟你們對於進階的理解各有不一樣,是個仁者見仁的問題。就我我的來講,則建議以下展開:

 

視頻學習方面:

能夠看看斯坦福的《機器學習》這門課程的視頻,最近據說網易公開課已經所有翻譯了,並且給出了雙語字幕,更加容易學習了^_^

 

書籍學習方面:

我我的推薦的是這樣:能夠先看看李航的《統計學習方法》,這本書着重於數學推導,能讓咱們很快的對於一些算法的理解更加深刻。

有了上面這本書的基礎,就能夠開始啃一些經典名著了。這些名著看的順序能夠不分前後,也能夠同時學習:

Richard O. Duda的《模式分類》這本書是力薦,不少高校的數據挖掘導論課程的教科書即是這本(也是個人數據挖掘入門書,頗有感情的)。若是你不通讀這本書,你會發如今你研究不少問題的時候,甚至一些相對簡單的問題(好比貝葉斯在高斯假設下爲何退化成線性分類器)都要再從新回頭讀這本書。

Christopher M. Bishop的《Pattern Recognition And Machine Learning》這本書也是經典鉅著,整本書寫的很是清爽。

The Elements of Statistical Learning》這本書有句很好的吐槽「機器學習 -- 從入門到精通」能夠做爲這本書的副標題。能夠看出這本書對於機器學習進階的重要性。值得一說的是這本書雖然有中文版,可是翻譯之爛也甚是有名,據說是學體育的翻譯的。

Hoppner, Frank的《Guide to Intelligent Data Analysis》這本書相對於上面基本經典鉅著並不出名,可是寫的甚好,是knime官網上推薦的,標榜的是解決實際生活中的數據挖掘問題,講述了CRISP-DM標準化流程,每章後面給出了R和knime的應用例子。

之前寫過的讀書筆記http://www.cnblogs.com/flclain/archive/2012/11/23/2785079.html

 

項目方面:

事實上,我以爲從進階起就應該上手一些簡單的項目了。若是不實踐只是看書和研究算法,我以爲是沒法真正理解數據挖掘的精髓所在的。打個簡單的比方,就算你看完了C++ Primer、effective C++等等書籍,若是本身不寫C++,那麼本身也就會停留在hello world的級別。實踐出真知很是切合數據挖掘這門學科,實際上手項目後纔會發現什麼叫"80%的準備,20%的建模",real world的問題我認爲並非僅僅靠modeling就能很好的解決的。詳細的能夠看看《Guide to Intelligent Data Analysis》就能略知一二。若是上手作推薦或者一些簡單的項目,也能夠考慮用用mahout,推薦的入門手冊是《mahout in action》。項目問題說來話長,有時間會以CRISP流程爲引單獨做文,這裏也就不詳談了。

 

 

軟件方面:

我經常使用並且推薦的軟件有以下,這裏只是簡單的列出,之後有時間再詳細分析和寫出入門:

Weka Java的軟件,能夠集成到本身的項目中

Orange 一個用python寫的數據挖掘開源軟件,界面作的很漂亮,能夠作圖形化實驗,也能夠用python調用編程。

Knime 和Orange相似,特色是能夠集成weka和R等開源軟件

SAS的EM模塊以及R 還有最最經典的matlab大大

不過引用餘凱大大的一個weibo來講

「不用Matlab的理由太多,稍微列一下,你們補充吧:

1. 積重難返,最後工做效率反而愈來愈低;

2. follow production protocol, 至關於學習無數程序員的實踐經驗;

3. 不能駕馭算法和系統的人不能真正做出有實用價值的研究成果;

4. 百度騰訊阿里谷歌面試通不過;

5. Matlab很貴」

這裏有篇文有簡要的介紹上面的部分開源軟件http://www.oschina.net/question/12_14026

 

再日後:

再日後的其實就是我就是以爲是學數學了,而後就是深刻讀一些你感興趣的topic的書籍和paper,接項目,作項目了。發展有數據分析師或者去專門的企業作數據研究員,固然混學術界的我就不清楚了。

轉載 http://www.cnblogs.com/flclain/archive/2012/12/22/2829317.html

相關文章
相關標籤/搜索