入門: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