如何通过自学,成为数据挖掘“高手”?

求教各位对数据挖掘有一定了解的达人,如何从“零”开始学习数据挖掘?需要掌握哪些基本的技能?(比如是不是一定要会用R进行简单编程、掌握哪些基本的数学知识等)

喜欢数学,本科有最基本的数学基础(数学分析、线代、概率论与统计、数论…),本身对数据挖掘很有兴趣,如果掌握了,对现在的工作也会很有帮助,所以下决心来从头学起。

诚挚感谢!

推荐  (7) | 151人关注关注
6个答案
79 0

purlin数据挖掘者

2013-09-15 20:54

只是过来人,说点看法:

基础篇:

1. 读书《Introduction to Data Mining》,这本书很浅显易懂,没有复杂高深的公式,很合适入门的人。另外可以用这本书做参考《Data Mining : Concepts and Techniques》。第二本比较厚,也多了一些数据仓库方面的知识。如果对算法比较喜欢,可以再阅读《Introduction to Machine Learning》。

2. 实现经典算法。有几个部分:
a. 关联规则挖掘 (Apriori, FPTree, etc.)
b. 分类 (C4.5, KNN, Logistic Regression, SVM, etc.)
c. 聚类 (Kmeans, DBScan, Spectral Clustering, etc.)
d. 降维 (PCA, LDA, etc.)
e. 推荐系统 (基于内容的推荐,协同过滤,如矩阵分解等)
然后在公开数据集上测试,看实现的效果。可以在下面的网站找到大量的公开数据集:http://archive.ics.uci.edu/ml/

3. 熟悉几个开源的工具: Weka (用于上手); LibSVM, scikit-learn, Shogun

4. 到 https://www.kaggle.com/ 上参加几个101的比赛,学会如何将一个问题抽象成模型,并从原始数据中构建有效的特征 (Feature Engineering).

到这一步的话基本几个国内的大公司都会给你面试的机会。

进阶篇:

1. 读书,下面几部都是大部头,但学完进步非常大。
a.《Pattern Recognition and Machine Learning》
b.《The Elements of Statistical Learning》
c.《Machine Learning: A Probabilistic Perspective》
第一本比较偏Bayesian;第二本比较偏Frequentist;第三本在两者之间,但我觉得跟第一本差不多,不过加了不少新内容。当然除了这几本大而全的,还有很多介绍不同领域的书,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理论一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。这些书的课后习题也非常有用,做了才会在自己写Paper的时候推公式。

2. 读论文。包括几个相关会议:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及几个相关的期刊:TKDD,TKDE,JMLR,PAMI等。跟踪新技术跟新的热点问题。当然,如果做相关research,这一步是必须的。例如我们组的风格就是上半年读Paper,暑假找问题,秋天做实验,春节左右写/投论文。

3. 跟踪热点问题。例如最近几年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的业务都会涉及这些方面。以及一些热点技术,例如现在很火的Deep Learning。

4. 学习大规模并行计算的技术,例如MapReduce、MPI,GPU Computing。基本每个大公司都会用到这些技术,因为现实的数据量非常大,基本都是在计算集群上实现的。

5. 参加实际的数据挖掘的竞赛,例如KDDCUP,或 https://www.kaggle.com/ 上面的竞赛。这个过程会训练你如何在一个短的时间内解决一个实际的问题,并熟悉整个数据挖掘项目的全过程。

6. 参与一个开源项目,如上面提到的Shogun或scikit-learn还有Apache的Mahout,或为一些流行算法提供更加有效快速的实现,例如实现一个Map/Reduce平台下的SVM。这也是锻炼Coding的能力。

到这一步国内的大公司基本是想哪去哪,而且待遇也不差;如果英语好,去US那边的公司难度也不大了。

23 0

本人谈不上什么高手,下面是个人的一点看法。

一,可以先找一些数据挖掘方面优秀教材来看,把一些基础且重要的东西理解清楚。R/matlab/SAS之类是都是一些工具,虽然学会使用工具挺重要,但关键还是工具后面的思想。关于自学,不知lz是否看过下面的帖子。其中,我挺赞同帖子中pongba的‘只看好书’的看法。
http://www.guokr.com/question/132920/?bsh_bid=98365272

二,个人觉得非常重要的一点,尽量参与一些真实的实践项目,从实际项目/问题出发学得更快,也学得更好!数据挖掘是个很宽泛的概念,涉及面很广,不同应用领域的数据挖掘也不一样。从一些项目作为切入点,你可以了解到哪些知识是最欠缺的,哪些最需要学的,然后再逐渐扩充相关的知识。

三,估计学什么都差不多,需要不断坚持和积累吧。

ps: lz是在学校还是已经工作了?

18 0

zxtf模式识别硕士

2013-09-16 16:33

先申明,以下为个人看法。

数据挖掘这个东西,要看你追求的是什么?
注意到你是想自学?那一帮情况下,就可以理解为不是奔科研去的,看起来应该是追求实用。

那么作为一个带了N年数据分析团队,算是有点经验的人,建议你找点实际的项目去做。

首先是要弄明白你想挖点什么出来?如果你说不知道,抱歉,你可能还是在追科研的路。

实际的项目中:

  1. 首先就是要明确你希望挖的东西能产生什么业务价值,而非用什么挖掘算法,那是手段,可以在后面再关注;要能够具体描绘你的挖掘目标、价值,以及挖掘成果的预期展现形式,说服力如何,等等;
  2. 其次,和相关的小伙伴讨论,为了挖出你想要的成果,需要利用到哪些数据?这些数据中,哪些是已经有的,哪些还得想办法去收集?其中是否有些数据根本是不可能收集到的?这些收集不到的数据对于你想挖的成果会有什么影响?如果是致命影响,直接导致你的挖掘成果缺乏说服力,那就此歇菜,另找其他方向吧。反之,则安排计划和资源,把能收集到的数据尽快收集起来;
  3. 再次,根据收集到的数据的特点和收集过程的质量情况,清洗收集到的数据;
  4. 根据挖掘目标的情况和收集到的数据的特点,制定挖掘规划,选择合适的挖掘算法;
  5. 然后,就开始挖吧;
  6. 第一轮挖完,看看成果如何?有道理吗?有说服力吗?大多数情况,你会发现,哦,晕,忘了应该把这几个因素考虑进去了,还应该加进去这几方面的数据才能看出来。好,继续转向第2步,继续收集数据、清洗、调算法/参数,挖出来后再评估,一般情况得这么循环N个回合;
  7. 马马虎虎出来个差不多靠谱、勉强能自圆其说的初胚,这个成果看上去像那么回事儿了。
  8. 总结一个说法(分析成果)出来,为了你的说法,把数据再针对性地洗上几遍,给出一个更加干净的分析成果,这个版本基本上有说服力了。
  9. 讲究一点的,再画个信息图什么的,图文并茂,就可以初步交作业了;
  10. 在真实的项目中,还有一步,就是选取重要的评估视角和指标,根据具体的业务特点,把你的分析过程做成每周/每日/每小时都能给个角度固定的分析报告的服务。
  11. 再往前一步,如果你对这块业务真的很熟的话,还可以针对不同类型的分析结果,能给出相应的建议应对措施(Action),这样这此挖掘的业务价值就真正明确了。你做的活儿也没有停留在“活儿”这个份儿上,而是决策支持这个级别上了。
8 0

yangjiera数学控,不怎么会计算机的计算机硕士

2013-01-05 20:47

不是高手,只谈点经验。
有相关的数学积累,(数值)线性代数,统计(多元,贝叶斯),优化。把好书读读,PRML,ESL,把里面的公式推推,实验代码实现一下,涉及的文章细节读读。参加一些项目或比赛。

6 0

很多人都问过我这样一个问题: 作为一个文科生,你是怎么学习数据分析的?
这个问题其实很好回答,一是兴趣,二是需求。 我本科学的是市场营销,硕士学的时数据挖掘。其实我个人觉得,大数据时代下的市场营销越来越离不开数据分析。
以上都是废话! 下面是干货!

我讲数据分析分为四个主要部分和一个额外部分,请看下图:

这是我给所有新人第一次接触数据分析同学的建议。 任何一门知识的学习都是循序渐进,有由简入难。 下面是我针对每一个部分给出的详细书单。在给出书单前我(想说几句:

  • 书籍大部分都是全英文版本的,只有少量趣味书籍是中文的(因为中文书籍优秀的真的不多)。 至于为什么要用全英文,我会在下面给出一些简单的说明
  • 核心篇是最最最最最重要的,你可能需要看两遍,三遍,甚至四遍,五遍。。。在以后的中级或者高级学习中,你还需要不断的回顾核心篇内容!我本人至少看了有10遍,现在有时还是需要回到书本当中翻阅。
  • 中级篇当初我首先推荐R。原因很多,我就只说一个:免费

为什么要用英文呢? 我用几句最简单的话来说一下原因(原谅我中文不好,说不出高大上的原因)。请看图:

下面请看书单:
核心篇

新手篇:
中级篇:三个部分
第一部分: SAS
第二部分: SPSS
第三部分: R

高级篇: 走到这里,实属不容易。原本我想继续推荐书籍,可是我发现当大家真的走到高级这一步的时候,其实已经不需要书籍的引导了。 虽然如此,我还是强烈推荐一本书:

又是WIELY 出品,质量不用怀疑。我可以担保,如果你真的能弄清楚这本书上的每一个模块,那么数据挖掘建模你基本上已经搞定了。

额外:这是针对网页分析的,我只推荐三本书: 作者Avinash Kaushik,请大家谷歌一下,然后看一下右面的介绍就OK。 文字形容这个家伙都是多余的,曾经来我们学校开讲座的时候,队伍是排到酒吧门口的(校园的酒吧)。


书籍就这么多。 当然,还有更多经典的书籍值得我们学习,但是每个人的时间是有限的。比如说R,我觉得这方面的资料和书籍你这辈子也看不完, 我推荐的R in action, 大家可以去看看评价(请记住: 我说的是英文)。 我觉得,学完知识最重要的还是要去不断的实践,不断的去思考。书看太多未必是好事,有时会迷失在一个理论里而走不出来,我当初学神经网络,差点把自己搞成神经病!!


番外篇: 上面所有的书籍我都有高清正版的PDF格式,本来是放在网盘共享的,可是被侵权删除了。 我也试过在某宝上卖过这些书,可是结果是“呵呵”。 很多书籍是我在英国购买或者专有账户下载的,中文书籍可能侵权,但是英文绝对没有侵权! 本来在欧洲,基本上主流教材都会有高清PDF格式供使用的。电子化书籍是一个大趋势,可是我们国内似乎还没有认识到这一点!


我和几个英国的朋友开的微信公众账号,为大家分享学习数据分析的方法和书籍。欢迎添加:soton2014sky

扫扫二维码,添加账号


0 0

Waalle统计,融资并购,数值分析

2013-09-17 11:34

先有概念 在学工具 自学的最好办法 比如 先想着我要干啥 达到那种效果 然后在看需要通过什么途径 然后最后 通过数据挖掘得出结果

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区