数据挖掘入门

来源:互联网 发布:telnet查端口linux 编辑:程序博客网 时间:2024/05/22 05:28
数据挖掘学习和研究的一些指导性建议汇总

所有内容均来自互联网的一些博客,感谢他们的建议,在此我把一些比较好的汇总一下,大家共享

同时推荐两个很好的DM博客:

1. 数据挖掘者:http://blogger.org.cn/blog/blog.asp?name=idmer

2。数据挖掘青年:http://blogger.org.cn/blog/blog.asp?name=DMman

 

1关于论文如何创新

1数据挖掘人员从事的工作内容

2读博深造的必要性

3自学时的大方向

请问:现在数据挖掘开发主流平台和编程语言。那些更有优势呢?现在大都用什么呢

问题1:现在选择数据挖掘作为终身职业是明智之举吗?

问题2:如果我现在选择了数据挖掘,应该怎么做?

问题3:如何使学习阶段与行业应用靠拢?

对不同算法的性能效果进行评估比较,总结各种算法的特点及适用范围。当然,如果能对算法做些有益的改进更好,可以让论文的学术性更强。最后,描述出应用了关联分析的结果能带来什么效益(比如对货架位置的调整、对客户的交叉销售等到)。

一位数据挖掘成功人士 给 数据挖掘在读研究生 的建议

关于数据挖掘方面的研究,我原来也走过一些弯路。其实从数据挖掘的起源可以发现,它并不是一门崭新的科学,而是综合了统计分析、机器学习、人工智能、数据库等诸多方面的研究成果而成,同时与专家系统、知识管理等研究方向不同的是,数据挖掘更侧重于应用的层面。

因此来说,数据挖掘融合了相当多的内容,试图全面了解所有的细节会花费很长的时间。因此我建议你的第一步是用大概三个月的时间了解数据挖掘的几个常用技术:分类、聚类、预测、关联分析、孤立点分析等等。这种了解是比较粗的,目标是明白这些技术是用来干什么的,典型的算法大致是怎样的,以及在什么情况下应该选用什么样的技术和算法。

经过初步了解之后,就要进入选题的阶段,选择自己感兴趣的某个具体方向,然后通读该方向的经典论文(综述、主要发展方向、应用成果)。选题阶段可能会花费较长的时间,比如一年。此时,要逐渐明确突破点,也就是将来你论文的创新点。创新对于研究来说非常重要,一方面该创新的确比原来的方法要好,另一方面该创新的确具有实用的价值。

随后,就要来实现自己的想法。通常对于硕士论文来说,需要建立原型系统,进行试验,并用试验结果来支持自己的论文主题。原型系统就是对自己创新点的实现,需要很好地设计和开发。需要注意的是,原型系统的建立和开发商用系统不同,需要体现比较好的理论基础。也就是说,原型系统并不是简单地用于实现功能,而是将你的一整套理论付诸实现。这种理论基础也将会包含在你的论文中,以体现论文的理论高度。

原型系统的搭建以及产生令人信服试验结果,这个过程一般需要至少一年的时间。所以要集中精力于核心部分(体现论文创新点的部分),外围的界面等等不应投入太多的精力,以免进度失控。

最后是论文的整理和写作了。建议你在之前的阶段中逐步先写出一些篇幅较短的论文(用于发在期刊、会议上),比如综述、体系框架、算法内核、应用等等。这样在最后写毕业论文时就有了足够多的内容,会写得更好更快一些。

以上只是泛泛而谈。其实我觉得其中的关键点在于选题,而选题的好坏取决于你对数据挖掘研究现状的了解、你的兴趣和专长、以及该方向在应用上的意义。建议你和导师、同行多交流,能够让自己的方向更清晰。

至于数据挖掘领域的就业,应该来说还是前景不错的。如果你对研究有兴趣,象微软研究院、Google、高校研究所都是不错的地方;如果你对实际应用有兴趣,很多大的公司包括IBM、Accenture、亚信等等都有相应的人力需求,当然一些甲方的单位比如证券、保险、金融等等单位也都需要分析人才。

关于论文如何创新

“创新”是个很尖锐的问题。以前我帮导师审论文时,给论文评分包括几个要素,分别是理论基础是否坚实、研究问题的重要性、研究成果的创新性等。

所谓创新,就是你解决问题的方法是否和其他人的解决方法有所不同,而这种不同又是否更有利于解决问题。因此,要发现创新点,实际上需要充分的准备和深入的研究。

①充分的准备:既然创新是找出解决问题的更好方法,那么首先你就要发现问题,而且要发现有价值的问题。当找到这种问题时,再去查找有没有人提出了解决这个问题的方法,他们的方法是怎样的,还存在什么不足之处。

这个阶段需要做大量的调查搜集的工作,也是做研究的准备阶段,常常需要通读相关研究领域的经典文献以及最新进展,写读书笔记予以总结。

②深入的研究:当你发现了值得研究的问题,并且知道在这个问题上还没有很好的解决方法时,你就有了创新的机会。找出现有解决方法的不足之处,提出自己的解决思路,并予以验证,通过试验或者推理证明你的方法是有效的,创新点也就产生了。说起来容易做起来难,就象酝酿一个新发明一样,常常会需要大量的试验和周密的思考,而且也有可能忙了很久而一无所获。

希望说到这里没有让你心生惧怕,但我见过的一些认真做研究的人的确投入了很多的时间和精力才有所成就。当然对于国内的研究生来说,我倒是觉得在硕士阶段去追求显著的创新是不切实际的(个人的一管之见),其实把第一步做好已经不错了。如果没有做好第一步,打好基础,就急于找些创新点,那么这些所谓的创新点常常是毫无意义的,写出来的论文最终避免不了被扔到垃圾桶的命运(我以前写的一些论文也是如此)。大家常常说国内的研究论文质量很差,很大程度上也是源于我们现在的教育制度,要求研究生毕业前必须在SCI、EI或核心期刊上发表若干篇论文,重量而不重质,造就了现在的核心期刊完全变成了完成毕业任务的自留地。

话题扯远了,回到你关心的问题-如何找创新点。必要的文献阅读是不可缺的,了解研究现状和背景,才可能发现创新点。如果你想这个阶段快一些的话,也有些捷径,比如你可以到一些研究单位或学者的站点上,察看他们目前的研究动态,一般来说他们正在研究的内容常常是目前还未解决的,这样你可以尽快找到创新点的主攻方向。

1数据挖掘人员从事的工作内容

是不是开发数据挖掘平台、为别的企业单位量身制作DM、DW系统?除了这些还能有些什么?

2读博深造的必要性

现在只是无指导的自学状态,能否在硕士毕业后胜任数据挖掘方面的工作呢?考取名校的博士进一步深入学习的必要性大不大?

3自学时的大方向

文本、Web等,读博时肯定就某种具体方向深入研究,现在是否应该也自己重点专注于一种方向,而不是仅泛泛的熟悉各个方面?

以下为blog主人的回复:

1.数据挖掘人员从事的工作和你所说的差不多,我认识的一些朋友大多在IT公司,为甲方实施DM、DW和BI等项目;还有一些是在甲方做分析人员,利用所掌握的数据挖掘知识来解决一些业务问题。

2.就以上的工作内容来说,我觉得硕士已经足以胜任,当然最重要的不是学位,而是运用你学到的知识来解决问题的能力。如果希望在理论研究上进一步发展,读博也不错,但发展方向会有所不同。

3.在硕士阶段,我觉得还是全面了解会更好一些。当然,因为数据挖掘涉及的内容较多,还是应该在一些方面有所侧重,比如那些得到广泛应用的算法及其应用上,包括决策树、聚类、回归、神经网络等等。这样即便你以后不去读博,对找工作也会有所帮助。

请问:现在数据挖掘开发主流平台和编程语言。那些更有优势呢?现在大都用什么呢 谢谢

以下为blog主人的回复:

现在一般应该是用Java开发的比较多,据我所知的,SAS Enterprise Miner客户端是用Java开发,开源的数据挖掘工具Weka也是用Java开发的。当然其后台服务器端的软件有部分可能会是C开发的,主要是出于性能的考虑。

如果你对数据挖掘平台开发有兴趣的话,建议你去开源代码网站SourceForge(http://sourceforge.NET/)看看,可以找到相应的源代码,也可以参加到他们的开发团队中,共同开发。

请教: 1 为甲方做的针对行业的数据挖掘中,如果通过SAS等通用的软件,如何体现行业不同、部门不同的特色要求?为他建立预测模型的过程中会对SAS的功能进行插件式的扩展吗,还是SAS本身已经足够建立特定的模型?

也就是说所谓的量身定制,也就是使用同一个软件建立不同的模型,开发过程中不涉及软件的改造?

2 是否数据挖掘人员不必是一个程序员?日常的工作已经很少涉及编程?

以下为blog主人的回复:

1.SAS的Enterprise Miner是通用型的数据挖掘软件,所以要满足客户的特定分析需求,常常会采取两种方法实现:一是做项目,通过项目团队的开发和实施,来建立客户所需的应用;另一种是采用SAS的行业解决方案(是SAS通过多年来对行业需求及解决方案的总结,形成的完整的solution),然后进行客户化定制。

大多数情况下,不需要对SAS的功能进行扩展,而是用SAS的软件就可以解决业务问题。所以我们通常做的项目不是软件开发,而是项目实施。

2.如果单纯从建立挖掘模型的角度来说,挖掘人员的确不必是程序员,只要应用合适的挖掘算法,基于分析数据进行建模,并对模型进行调优就可以了。但实际上,挖掘人员并不只做这些,更多的时候是做数据准备和数据探索,其中就可能需要进行编程,当然这些程序通常用于数据处理、模型结果的发布等等。

就我个人的经验和了解,数据准备常常占一个数据挖掘项目工作量的60%~70%左右。

以下来自:http://blogger.org.cn/blog/more.asp?name=idmer&id=24891

张前辈:您好!

我是中国海洋大学一名研一生,专业是数据库。我想自己选择一门方向,认真的学习,作为终身职业。譬如 java程序员、数据挖掘人员、数据库管理人员等等。我比较喜欢数据挖掘,但是若干问题难以释惑。

问题1:现在选择数据挖掘作为终身职业是明智之举吗?

现在网上对数据挖掘的前景讨论的很厉害,褒贬不一。但是至少可以确定的是数据挖掘已经越来越被重视了。如你所言,大家看到的只是表面,许多成功的案例企业没有对外公开。但不可否认的是,数据挖掘在中国的应用有屠龙之技的嫌疑,广大的企业还没有重视起来。

总之,男怕投错行,这个问题总是敲击着我。如果我是您的弟弟,您会鼓励我走数据挖掘之路吗?还是推荐其他的IT职业?

IDMer:

就我个人的观点,数据挖掘的发展还是前途很广阔的。说白了,数据挖掘就是一种分析问题的手段,问题一直会有,解决问题的手段也就一直有存在的必要。也许你听说过美国早期西部淘金热的时候,富起来的不是淘金者,而是为淘金者提供工具、水的人,甚至因为矿工需要结实耐磨的衣服,以致于牛仔裤风行起来并经久不衰。

至于你提到“屠龙之技”之说,只是很多人因为不熟悉数据挖掘的内部技术而产生的莫测高深的感觉。其实,数据挖掘本身并不是新技术,它融合了来自于统计学、数据库和机器学习等多学科已经成熟的内容,冠上了一个看起来比较时髦的名字而已。

组成数据挖掘的这三门支柱学科都已经发展了多年,也已得到了广泛的应用。那么我们也有理由相信它们的融合,能帮助我们解决更多的分析方面的问题。何况,业界还是有很多的成功案例,体现出数据挖掘所带了独特优势,而这些,是传统的BI(报表、OLAP等)无法支持的。

以上说了不少数据挖掘的好话,下面再看看硬币的另一面。如果你是我的弟弟(呵呵,虽然我没有,但也和很多年轻的师弟师妹聊过择业的话题),我会建议你不做IT业,哈哈,一句半真半假的玩笑。因为在IT这个行业看起来还是满辛苦的,而且在很多项目中,常常需要重复一些没什么技术含量的任务,消耗的精力不少,获得的成就感却不多。

Anyway,我的建议,其实也是我原来给自己的一句座右铭:认为对的就去做。找到自己的兴趣所在,并且感觉也有发展,那就尽力去做好了。