我认为,在学习DM之前你至少需要明白以下几点:
-
数据初期的准备通常占整个数据挖掘项目工作量的70%左右;
-
数据挖掘本身融合了统计学、数据库和机器学习等学科,并不是新的技术;
-
数据挖掘技术更适合业务人员学习(相比技术人员学习业务来的更高效);
-
数据挖掘适用于传统的BI(Business Intelligence)无法支持的领域。
国内DMer的工作领域
- 数据分析师:在拥有行业数据的电商、金融、电信、咨询等行业里做业务咨询,商务智能,出分析报告。
- 数据挖掘工程师:在多媒体、电商、搜索、社交等大数据相关行业里做机器学习算法实现和分析。
- 科学研究:在高校、科研单位、企业研究院等高大上科研机构研究新算法效率改进及未来应用。
各领域DMer需要掌握的技能
数据分析师
需要的技能如下:
-
需要有深厚的数理统计基础,但是对程序开发能力不做过高的要求;
-
需要熟练使用主流的数据挖掘或统计分析工具,如Business Analytics and Business Intelligence Software(SAS)、SPSS、EXCEL等;
-
需要对所在行业有关的核心数据有深入的理解,并培养一定的数据敏感性;
经典图书推荐如下:
-
《概率论与数理统计》
-
《统计学》(David Freedman版)
-
《业务建模与数据挖掘》
-
《数据挖掘导论》
-
《SAS编程与数据挖掘商业案例》
-
《Clementine数据挖掘方法及应用 》
-
《Excel 2007 VBA参考大全》
-
《IBM SPSS Statistics 19 Statistical Procedures Companion》
数据挖掘工程师
需要的技能如下:
-
需要理解主流机器学习算法的原理和应用(非常重要得一点);
-
需要熟悉至少一门编程语言,如Python、C、C++、Java、Delphi等;
-
需要理解数据库原理,能够熟练操作至少一种数据库(如Mysql、SQL、DB2、Oracle等),能够明白MapReduce的原理操作以及熟练使用Hadoop系列工具更好。
经典图书推荐如下:
-
《数据挖掘概念与技术》
-
《机器学习实战》
-
《人工智能及其应用》
-
《数据库系统概论》
-
《算法导论》
-
《Web数据挖掘》
-
《 Python标准库》
-
《thinking in Java》
-
《Thinking in C++》
-
《数据结构》
科学研究
需要的技能如下:
-
需要深入学习数据挖掘的理论基础,包括关联规则挖掘 (Apriori和FPTree)、分类算法(C4.5、KNN、Logistic Regression、SVM等) 、聚类算法 (Kmeans、Spectral Clustering)。目标可以先吃透数据挖掘10大算法各自的使用情况和优缺点;
-
相对SAS、SPSS来说R语言更适合科研人员,因为R软件是完全免费的,而且开放的社区环境提供多种附加工具包支持,更适合进行统计计算分析研究。虽然目前在国内流行度不高,但是强烈推荐;
-
可以尝试改进一些主流算法使其更加快速高效,例如实现Hadoop平台下的SVM云算法调用平台;
-
需要广而深的阅读世界著名会议论文跟踪热点技术。如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》