关于数据挖掘学习的引导

想学习数据挖掘的同学,建议从韩家炜的《数据挖掘:概念与技术》(机械工业出版社)(以下简称《数据挖掘》)开始入手。
《数据挖掘》是数据挖掘领域里的经典入门书籍,全面地讲述了数据挖掘领域的重要知识和技术创新。这本书至今为止我看了有十遍,第一次看是在三年前,每一次看都觉得非常经典,评价起来,该讲到的地方都讲到了,数据挖掘的每个知识点都有涉及,稍微有点深度,但是还是易懂的。当然,这本书不是看后就可以成为机器学习高手的著作,而且作者也已经说明了是概念,具体的用到某个算法的时候,可以查看该算法的相关书籍和论文。比如看后觉得对神经网络的分类实现感兴趣,就不妨从《神经网络设计》(机械工业出版社)开始深入看(《神经网络与机器学习》有点深奥,不懂泛函分析的不建议先看)。又比如,对购物商城的推荐算法感兴趣,就可以侧重研究一下推荐系统,比如协同过滤等相关知识。
相对于软件开发而言,数据挖掘是偏理论的,更可以先看几遍概念然后再动手操作;然而,掌握一门语言,自己尝试着做一些东西,是掌握算法的重要途径(不要总想着自己出想法,让别人去实现)。编程语言方面,建议从python开始,python是最接近人类思考方式的语言,掌握起来容易,而且,python对算法方面的支持很强大,sklearn模块已经实现了常见的数据挖掘方法,可以对照着练习。
不建议自学hadhoop,虽然现在只要是个算法岗位,需求里都写着掌握hadhoop,但是,真正用hadhoop的公司很少,淘宝用的都是Oracle+淘宝版mysql。如果真想学hadhoop,建议先学linux,这个更有用。
还有,不要想着掌握好每一个算法,很多算法,基本原理了解了就好(除非你是做科研或者工作中针对某个具体问题进行过刻意研究,靠自学的话,很难达到高水平),然后尽快提升动手能力,到了实际业务的时候,用到哪个算法再深入研究就可以(这段话的意思是:从实践中学习理论,才能把理论掌握地更深入)。企业的算法应用,经常不是那么的高大上,对业务理解的要求要更多一点。如果真想从事这行,强烈建议找一个主营业务是和大数据相关的软件/互联网企业;你可以达到的数据挖掘的高度和广度是和企业业务(领域)高度相关的,比如一开始时你进入了图像相关的团队,以后的算法就是围绕着视觉机器学习的算法进行研究了,比如卷积神经网络;如果你进的是金融数据挖掘的企业,以后很可能就在金融行业了;如果进入的是做BI的团队,很可能是做具体的交互开发;也有可能你进了一个要求什么算法都了解,什么框架都熟悉的团队,结果进去之后只是写些相关的报告,那就比较悲剧了(炒概念的时期,这种情况并不少见;也有很多人想做算法,然而实际上是开发管理系统,这还是好的,中小企业的岗位设置不是什么都搭建好了,然后就差你一个人填进去,而是你先进去,然后一起往前走,其实如果可以让自己充分发挥,是很好的)。
大部分企业的算法工作,尤其传统行业,一旦算法体系成型,算法工作可能就不那么多了。相比之下,如果你可以找到一个数据驱动型团队(国内这种团队并不多,比较著名的数据驱动团队如逻辑思维;数据驱动的相关词汇:数据化运营、大数据运营、增长黑客),是会很有收获的。如果你不仅可以帮企业做好运营监控,还可以用python(Django)/C#(devexpress)实现自动监控/自动仪表/自动报表,就更能发挥出个人价值了。

发表评论