“虽然是本科毕业,但是在看数据挖掘方面的算法理论时经常感觉一些公式的推导过程如天书一般,例如看 svm 的数学证明,EM算法,凸优化… 感觉知识跳跃比较大, 是我微积分学的不好还是中间有什么好的教材补充一下,数据挖掘系统的学习过程是怎么样的,应该看那些书(中文最好)?“
——以上是一位咨询的学员像我们提出的疑问。和这位同学相似,很多同学在入门数据挖掘领域遭到了极大的阻力,也丧失了继续学习的兴趣。那么,正确入门数据挖掘领域的姿势是什么呢?
这是一个不太好回答的问题,管中窥豹,建议大家看一下以下的一些见解。
一、 在学习数据挖掘之前你需要明了的几点:
1. 数据挖掘目前在中国的尚未流行开,犹如屠龙之技;
2. 据挖掘本身融合了统计学、数据库、机器学习、模式识别、知识发现等学科,并不是新的技术。
3. 数据挖掘之所以能够应用不是因为算法,算法是以前就有的。数据挖掘应用的原因是大数据和云计算。比如阿法狗的后台有上千台计算机同时运行神经网络算法;
4. 数据初期的准备工作,也称Data Warehousing。通常占整个数据挖掘项目工作量的70%左右。在前期你需要做大量的数据清洗和字段扩充的工作。数据挖掘和报告展现只占30%左右;
5. 数据挖掘技术更适合业务人员学习(相比技术人员学习业务来的更高效)
二、目前国内的数据挖掘人员工作领域大致可分为三类。
1)数据分析师:在拥有行业数据的电商、金融、电信、咨询等行业里做业务咨询,商务智能,出分析报告;
2)数据挖掘工程师:在多媒体、电商、搜索、社交等大数据相关行业里做机器学习算法实现和分析;
3)科学研究方向:在高校、科研单位、企业研究院等高大上科研机构研究新算法效率改进及未来应用。
三、你自己的定位与学习。
基于以上一点的介绍,你大概可以明确你需要努力的方向。如果你不是致力于科研方向,那么你需要掌握如下的技能:
1. 需要理解主流机器学习算法的原理和应用。按照需要解决的问题,主要分为三大类,见下图:
2. 需要熟悉至少一门编程语言。如R,Python,SPSS Modeler,SAS,WEKA等。关于软件,有三个原则:只要能达到目标的软件就是好软件;你研究的领域啥软件好用就用啥软件;不要妄想用一个软件解决所有问题。
3. 需要理解数据库基本原理,能够熟练操作至少一种数据库,如Mysql,OracelDB2等。
4. 熟悉数据挖掘常见的运用场景。如客户生命周期管理、客户画像和客户分群、客户价值预测模型构建、推荐系统设计等。这些需要依托于不同行业。下图位CRM管理运用场景示例:
5. 经典图书推荐:《数据挖掘:概念与技术》、《数据挖掘导论》、《机器学习实战》、《数据库系统概论》、《R语言实战》