求助各位数据挖掘前辈~~
还有几天就马上研一了,我学的是数据挖掘方向,具体方向应该是微博文本类,这段时间学的挺乱的,一直没有个方向的感觉。假期期间把老师推荐的《web数据挖掘》看了一大半,java又看了一遍,发现也总是忘,可能还是练得少。看了一些python,前面的部分跟java还是很像的,看的很快,到了模块那,又感觉学的好痛苦。
我想请教一下各位前辈,如果研究生毕业想从事数据挖掘方向,我们是俩年研究生,也就是明年9月份就要签工作了。
1 我应该学些什么,哪些书籍或者技能是必须要会的呢,或者是对找工作有利的,可以介绍一下吗。
2 python是否应该花精力学的好一些呢,因为毕竟是个热门高级语言,想学的稍微好一点都要花费很大的精力。
3 还有linux/shell需要看吗。
4 还有想把数据挖掘学好一些,是应该把精力专注在算法本身还是说其他语言基础应该学的好点 ?
工程师jxnchk回复:
现代化的公司、单位广泛使用计算机来提高工作效率和制定公司标准,计算机的使用让公司积累了大量的数据。面对市场的千变万化,作为管理者希望能够准确分析形势,获取更好的发展,而那些积累的数据渴望被转变为可利用的知识。数据挖掘就是在这种情况下产生的,在许多方面也有成功的案例。但是数据挖掘的概念对人们,即使是一些从事这方面应用和开发的人员还是十分模糊,依旧问:什么是数据挖掘?数据挖掘这条路到底应该怎样走?针对数据挖掘软件的开发,我提一些自己的看法,说得不对请大家多多指点。
1、数据挖掘能做什么?
一说起这个话题,很多人使用一些书中条框,说数据挖掘可以进行分类、聚类、关联分析等,于是开始深入学习研究这些算法。我不赞同,那些方法虽然很重要,但是数据挖掘是为了解决商业问题,帮助人们分析问题或根据指令解决问题!为什么在数据挖掘中迷路,就是因为找不到商业问题、找不到解决方案,这也是数据挖掘的难点问题。
2、商业问题从哪来?
作为数据挖掘工作者,你能够提出商业问题吗?好像是不能,但是又是可能的。就拿OLAP来说吧,如果你要做一个通用的OLAP分析工具,你只需要参考一些基本的统计学知识,然后借助你的计算机知识就可以开始开发了,软件的好坏取决于你的计算机水平以及OLAP基本理论。你可能会说,OLAP和数据挖掘有很大区别,我们还可以举一些通用的决策树的例子,能够逐步的帮助人们做出分析。
然而,数据挖掘工作者又不能够提出商业问题,因为通用的数据挖掘工具在很多方面只能起辅助作用,需要不断加入人的知识,有时是繁琐的,甚至无效。如果你能针对所在行业的特点,依靠客户的知识和大量的数据,再辅以适当的方法,那么数据挖掘将起到更大的作用,这是不言而喻的。如果说很多管理者、决策者在计算机方面不知道自己想要什么,这是很可能的。在数据挖掘过程中,我觉得软件只是很小一部分,帮助客户懂得如何利用数据、提高他们的认识这是很重要的。其实我们不一定非要把计算机和软件绑在一起,计算机理论是科学方法,只要能够利用计算机知识帮助人们解决问题,你就是计算机工作者。随着经济的发展,竞争的激烈,如果你能提出好的解决方案,会有人拿着数据主动来找你寻求帮助的。在国外,很多公司将自己的数据拿到研究机构的实验室或请顾问来帮助解决问题,他们意识到这是必要的、有价值的。
3、哪些知识是有效的
哪些知识是你必须要学的?如果你要解决商业问题,1、知道点行业知识是必要的。2、要有计算机知识,这里我指的是计算机解决商业问题的知识,当然你要有操作系统、数据库、数据结构、数据挖掘等计算机基础知识。你可以了解,开发人员解决一些通用问题,所用的计算机解决方案。3、统计、决策,机器学习,数学建模等知识。他们是你解决商业问题的有效方法。
4、你应该怎么走?
如果你想做名数据挖掘工作者,不断的修炼终会有结果。
1、 你可以找一帮人针对某一类商业问题,提出适当的解决方案,当然要找点工具,不拿点软件或方案出来,没人信你。
2、 你们可以推销自己了,找公司等接任务。实在找不到,可以开发其他数据库项目,将挖掘的思想带入,人们会逐渐接受的。
3、 当你有了解决问题的任务,就要不断学习,找到解决问题的方法,建立商业模型是必要的。在学习过程中的交流也是必需的,
写这篇文章时,开头觉得很多话要说,到了结尾,有点泄气。数据挖掘不好做,商业问题不好定义和解决,话题虽然热,困难却很多。决策的问题提了几千年:运筹帷幄之中,决胜千里之外。数据量大了,只好借助计算机来算。你我不是决策者,路只能在有限的空间中走。
工程师kingleaf回复:
学习一门技术要和行业靠拢,没有行业背景的技术如空中楼阁。技术尤其是计算机领域的技术发展是宽泛且快速更替的(十年前做网页设计都能成立公司),一般人没有这个精力和时间全方位的掌握所有技术细节。但是技术在结合行业之后就能够独当一面了,一方面有利于抓住用户痛点和刚性需求,另一方面能够累计行业经验,使用互联网思维跨界让你更容易取得成功。不要在学习技术时想要面面俱到,这样会失去你的核心竞争力。
一、目前国内的数据挖掘人员工作领域大致可分为三类。
●1)数据分析师:在拥有行业数据的电商、金融、电信、咨询等行业里做业务咨询,商务智能,出分析报告。
●2)数据挖掘工程师:在多媒体、电商、搜索、社交等大数据相关行业里做机器学习算法实现和分析。
●3)科学研究方向:在高校、科研单位、企业研究院等高大上科研机构研究新算法效率改进及未来应用。
二、说说各工作领域需要掌握的技能。
(1).数据分析师
●需要有深厚的数理统计基础,但是对程序开发能力不做要求。
●需要熟练使用主流的数据挖掘(或统计分析)工具如Business Analytics and Business Intelligence Software(SAS)、SPSS、EXCEL等。
●需要对与所在行业有关的一切核心数据有深入的理解,以及一定的数据敏感性培养。
●经典图书推荐:《概率论与数理统计》、《统计学》推荐David Freedman版、《业务建模与数据挖掘》、《数据挖掘导论》、《SAS编程与数据挖掘商业案例》、《Clementine数据挖掘方法及应用 》、《Excel 2007 VBA参考大全》、《IBM SPSS Statistics 19 Statistical Procedures Companion》等。
(2).数据挖掘工程师
●需要理解主流机器学习算法的原理和应用。
●需要熟悉至少一门编程语言如(Python、C、C++、Java、Delphi等)。
●需要理解数据库原理,能够熟练操作至少一种数据库(Mysql、SQL、DB2、Oracle等),能够明白MapReduce的原理操作以及熟练使用Hadoop系列工具更好。
●经典图书推荐:《数据挖掘概念与技术》、《机器学习实战》、《人工智能及其应用》、《数据库系统概论》、《算法导论》、《Web数据挖掘》、《 Python标准库》、《thinking in Java》、《Thinking in C++》、《数据结构》等。
(3).科学研究方向
●需要深入学习数据挖掘的理论基础,包括关联规则挖掘 (Apriori和FPTree)、分类算法(C4.5、KNN、Logistic Regression、SVM等) 、聚类算法 (Kmeans、Spectral Clustering)。目标可以先吃透数据挖掘10大算法各自的使用情况和优缺点。
●相对SAS、SPSS来说R语言更适合科研人员The R Project for Statistical Computing,因为R软件是完全免费的,而且开放的社区环境提供多种附加工具包支持,更适合进行统计计算分析研究。虽然目前在国内流行度不高,但是强烈推荐。
●可以尝试改进一些主流算法使其更加快速高效,例如实现Hadoop平台下的SVM云算法调用平台--web 工程调用hadoop集群。
●需要广而深的阅读世界著名会议论文跟踪热点技术。如KDD,ICML,IJCAI,Association for the Advancement of Artificial Intelligence,ICDM 等等;还有数据挖掘相关领域期刊:ACM Transactions on Knowledge Discovery from Data,IEEE Transactions on Knowledge and Data Engineering,Journal of Machine Learning Research Homepage,IEEE Xplore: Pattern Analysis and Machine Intelligence, IEEE Transactions on等。
●可以尝试参加数据挖掘比赛培养全方面解决实际问题的能力。如Sig KDD ,Kaggle: Go from Big Data to Big Analytics等。
●可以尝试为一些开源项目贡献自己的代码,比如Apache Mahout: Scalable machine learning and data mining ,myrrix等(具体可以在SourceForge或GitHub.上发现更多好玩的项目)。
●经典图书推荐:《机器学习》 《模式分类》《统计学习理论的本质》《统计学习方法》《数据挖掘实用机器学习技术》《R语言实践》,英文素质是科研人才必备的《Machine Learning: A Probabilistic Perspective》《Scaling up Machine Learning : Parallel and Distributed Approaches》《Data Mining Using SAS Enterprise Miner : A Case Study Approach》《Python for Data Analysis》等。
(Via:CSDN论坛)