分享

有大数据环境基础,想学习大数据相关数据挖掘,求学习路线和对应书籍,谢谢

IT_雪夜归人 发表于 2016-10-24 09:05:18 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 8358
有大数据环境基础,想学习大数据相关数据挖掘,求学习路线和对应书籍,谢谢

已有(3)人评论

跳转到指定楼层
arsenduan 发表于 2016-10-24 10:03:43
对于编程这个实践学科来讲,其实学习线路基本都是固定的。
1.首先弄懂基本的知识,入个门

2.搞点实践,然后学习,在实践。

如此反复,才能学好。而不是你学完一大堆理论后,在去实践。这样理论几乎学完了,几乎也忘的差不多了。

至于书籍及资料,其实网上也有不少推荐的。

about云也有相关的资料,几乎都是入门的,如果都看完了,相信如果都吸收了,工作是没有问题的。

http://www.aboutyun.com/forum.php?mod=forumdisplay&fid=209


回复

使用道具 举报

arsenduan 发表于 2016-10-24 10:06:39
个人认为下面不错,推荐给楼主
数据挖掘是一门综合类的学科,它综合了计算机、人工智能、统计学、数据库等领域的知识。建议你现从基本的数据挖掘算法开始学起,了解基础知识,数据预处理,基本的分类聚类算法还有关联规则的发现。以后要往哪个方向发展就看机会和兴趣了,比如中文信息处理,社区发现与规划,主题发现分类,自然语言理解等等。算法是最重要的!

个人建议如下:   
第一阶段:掌握数据挖掘的基本概念和方法。先对数据挖掘有一个概念的认识,并掌握基本的算法,如分类算法、聚类算法、协同过滤算法等。          参考书:《数据挖掘概念和技术》(第三版)范明,孟小峰 译著。   
第二阶段:掌握大数据时代下的数据挖掘和分布式处理算法。现在已经进入大数据时代,传统的数据挖掘算法已经不适用于         
参考书:《大数据:互联网大规模数据挖掘和分布式处理》 王斌 译著。
   
第三阶段:使用Hadoop进行大数据挖掘。Hadoop里面有一个Mahout组件,几乎包括了所有的数据挖掘算法,包括分类、聚类、关联规则等。        
参考书:Hadoop实战(第二版).陆嘉恒 著等。   

另外,数据挖掘是数据库技术、人工智能技术、机器学习技术、统计学习理论、数据可视化等一系列技术的综合,所以,要想学好数据挖掘,这些技术也得懂的呀。    推荐入门时先看浙江大学王灿老师的数据挖掘课程,网上搜下。    期待与你一起学习数据挖掘,共同揭开数据之美。

相关视频:
浙大王灿老师的数据挖掘视频,比较基础,适合入门,教材是《数据挖掘-概念与技术(第二版)》;
中科院研究生院有两套视频,即数据挖掘引论和数据挖掘高级技术(39讲),后者可以作为数据挖掘的提高课程~
另外,模式识别、贝叶斯网络、高级人工智能、统计机器学习理论、数据库技术等视频都可以作为数据挖掘的拓展课程~


回复

使用道具 举报

arsenduan 发表于 2016-10-24 10:08:05
在比如等等,其实很多的,楼主可以选择适合自己的:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
基础篇:
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那边的公司难度也不大了。

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

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

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


建议三

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

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

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

实际的项目中:
首先就是要明确你希望挖的东西能产生什么业务价值,而非用什么挖掘算法,那是手段,可以在后面再关注;要能够具体描绘你的挖掘目标、价值,以及挖掘成果的预期展现形式,说服力如何,等等;

其次,和相关的小伙伴讨论,为了挖出你想要的成果,需要利用到哪些数据?这些数据中,哪些是已经有的,哪些还得想办法去收集?其中是否有些数据根本是不可能收集到的?这些收集不到的数据对于你想挖的成果会有什么影响?如果是致命影响,直接导致你的挖掘成果缺乏说服力,那就此歇菜,另找其他方向吧。反之,则安排计划和资源,把能收集到的数据尽快收集起来;
再次,根据收集到的数据的特点和收集过程的质量情况,清洗收集到的数据;
根据挖掘目标的情况和收集到的数据的特点,制定挖掘规划,选择合适的挖掘算法;
然后,就开始挖吧;

第一轮挖完,看看成果如何?有道理吗?有说服力吗?大多数情况,你会发现,哦,晕,忘了应该把这几个因素考虑进去了,还应该加进去这几方面的数据才能看出来。好,继续转向第2步,继续收集数据、清洗、调算法/参数,挖出来后再评估,一般情况得这么循环N个回合;
马马虎虎出来个差不多靠谱、勉强能自圆其说的初胚,这个成果看上去像那么回事儿了。

总结一个说法(分析成果)出来,为了你的说法,把数据再针对性地洗上几遍,给出一个更加干净的分析成果,这个版本基本上有说服力了。
讲究一点的,再画个信息图什么的,图文并茂,就可以初步交作业了;

在真实的项目中,还有一步,就是选取重要的评估视角和指标,根据具体的业务特点,把你的分析过程做成每周/每日/每小时都能给个角度固定的分析报告的服务。

再往前一步,如果你对这块业务真的很熟的话,还可以针对不同类型的分析结果,能给出相应的建议应对措施(Action),这样这此挖掘的业务价值就真正明确了。你做的活儿也没有停留在“活儿”这个份儿上,而是决策支持这个级别上了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条