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

问题:

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

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

tips1:

只是过来人,说点看法:

基础篇:

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那边的公司难度也不大了。

tips2:

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

数据挖掘这个东西,要看你追求的是什么?

注意到你是想自学?那一帮情况下,就可以理解为不是奔科研去的,看起来应该是追求实用。

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

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

实际的项目中:

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

其次,和相关的小伙伴讨论,为了挖出你想要的成果,需要利用到哪些数据?这些数据中,哪些是已经有的,哪些还得想办法去收集?其中是否有些数据根本是不可能收集到的?这些收集不到的数据对于你想挖的成果会有什么影响?如果是致命影响,直接导致你的挖掘成果缺乏说服力,那就此歇菜,另找其他方向吧。反之,则安排计划和资源,把能收集到的数据尽快收集起来;

再次,根据收集到的数据的特点和收集过程的质量情况,清洗收集到的数据;

根据挖掘目标的情况和收集到的数据的特点,制定挖掘规划,选择合适的挖掘算法;

然后,就开始挖吧;

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

马马虎虎出来个差不多靠谱、勉强能自圆其说的初胚,这个成果看上去像那么回事儿了。

总结一个说法(分析成果)出来,为了你的说法,把数据再针对性地洗上几遍,给出一个更加干净的分析成果,这个版本基本上有说服力了。

讲究一点的,再画个信息图什么的,图文并茂,就可以初步交作业了;

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

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

(Via:果壳问答)

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2015-04-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏哲学驱动设计

091018 CH 培训方法论总结

现在我先就目前思考的方法论进行一个小的总结: Tree-Thinking CS 目标制定:     WWH、Smart-C、SWOT 做事方案:     分析客...

1949
来自专栏PPV课数据科学社区

IT界的圣经——《失控》核心摘要与50条语录

有人说,如果求职者说自己看完了凯文·凯利的《失控》,面试就可以愉快地结束了,可是十个和你推荐它的人,七个自己没看完,至多一个读完,还有两个可能只是买回来发一下朋...

42517
来自专栏CDA数据分析师

数据分析从哪里开始入门学习,可以推荐的书有哪些?

数据行业在迅速的发展,几乎每天都会出现新的技术和方法。因此,想要跟上这个行业的步伐是有挑战性的。之前CDA数据分析师曾列出了15位在科技和数据科学领域最具影响力...

4125
来自专栏大数据文摘

周博磊知乎热答:如何评价何恺明大神斩获ICCV 2017最佳论文

1213
来自专栏AI科技评论

观点 | 不需要敲代码就可以开发深度学习应用?我们来探个究竟

AI 科技评论按:在深度学习仍然需要不少的数学和计算机编程能力的现在,如果突然出现了一个不需要写任何公式和代码的深度学习应用开发平台,你会是什么感觉?震惊?鄙夷...

1052
来自专栏钱塘大数据

数据可视化之美 -- 用数据讲故事

导读 数据可视化是数据描述的图形表示,旨在一目了然地揭示数据中的复杂信息。可视化的典型如纽约地铁图和人脑图。成功的可视化的美丽之处既在于其艺术设计,也在于其通过...

3674
来自专栏CreateAMind

人工智能任务的分类 (智力发展简单梳理)

为了实现AI-Complete(AI-Hard,AI完全)问题,我们需要一些测量方法,最著名的测量方法当属图灵测试。一个可以解决AI完全问题的机器应该在必要辅助...

1114
来自专栏数据科学与人工智能

【应用】信用评分卡:模型验证

我认为欣赏和享受琐事的最佳方式是旅行。当我说琐碎的时候,它包括门把手,海报,信箱,涂鸦以及我们从未在我们自己的城市中转过头来做的一切。上周我与妻子一起在佛罗伦萨...

822
来自专栏大数据文摘

暮光女主发AI“论文”?维密超模学编程?女神跨界靠干货还是颜值?

2075
来自专栏大数据挖掘DT机器学习

基于物品的协调过滤算法

基于物品的协同过滤(item-based collaborative filtering)算法是目前业界应用最多的算法。无论是亚马逊网,还是Netflix、 ...

3357

扫码关注云+社区