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