大数据挖掘需要掌握哪些技能,数据挖掘的功能包括
工程能力
(1)编程基础:你需要掌握两种语言,一大一小。大的指C或Java,小的指Python或shell脚本;需要掌握基本的数据库语言;
建议:MySQL Python C;语言只是工具,看语法就行;
推荐书籍:《C++ primer plus》
(2)开发平台:Linux
建议:掌握常用命令和Linux下源代码编译的原理;
推荐书籍:《Linux 私房菜》
(3)数据结构和算法分析基础:掌握常用的数据结构和操作(线性表、队列、列、串、树、图等。),并掌握常用的计算机算法(排序算法、搜索算法、动态规划、递归等。);
建议:多打代码,多刷题;
推荐书籍:《大话数据结构》 《剑指 offer》
(4)海量数据处理平台:Hadoop (mr计算模型,java开发)或Spark (rdd计算模型,scala开发),推荐后者;
建议:可以用为主。有精力的话可以看看源代码了解一下集群调度机制之类的;
推荐书籍:《大数据 spark 企业级实战》算法能力
(1)数学基础:概率论、数理统计、线性代数、随机过程、最优化理论。
建议:这些一定要懂。即使不可能做到基础扎实,至少也要掌握各个学科的理论体系。到了相应的知识点,通过查阅资料就能无障碍理解。
(2)机器学习/深度学习:掌握常用的机器学习模型(线性回归、逻辑回归、SVM、感知器;决策树,随机森林,GBDT,XG Boost贝叶斯、KNN、K均值、EM等。);掌握常见的机器学习理论(过拟合、交叉验证、模型选择、模型融合等。);掌握常见的深度学习模型(CNN,RNN等。);
建议:这里的精通是指熟悉推导公式,知道模型的适用场景;
推荐书籍:《统计学习方法》 《机器学习》 《机器学习实战》 《UFLDL》
(3)自然语言处理:掌握常用方法(tf-idf、word2vec、LDA);商业经验
(1)了解广告的推荐和计算;
推荐书籍:《推荐系统实践》 《计算广告》
(2)通过参加数据挖掘比赛,熟悉相关业务场景,如Kaggle、阿里天池、datacastle等。从初学天池新人赛开始。与数据挖掘相关的内容包括数据库、数据仓库、机器学习和信息检索。
学习数据挖掘的基础知识:数据库理论、数学基础(包括数理统计、概率论、图论等。)、精通一门编程语言(java、python)、了解数据挖掘工具(weka、matlab、spss)。
数据挖掘包括分类、关联分析、聚类和异常检测。
大数据挖掘分析的经典案例如下:
预测未来产品的用户是否会流失,流失程度如何;
公司做了某个促销活动,如何预估活动效果,用户接受程度如何;
评估用户的信用度;
细分现有客户市场,哪些客户是目标客户;
产品投放市场后,用户转化率如何,哪些运营策略最有效;
运营做了很多工作,公司投入了很多资源。如何提高产品的投入产出比;
部分用户购买大量商品后,同时购买哪些商品的概率高;
预测未来一年产品的销量和收入.
大数据挖掘要做的就是把上述类似的业务运营问题变成数据挖掘问题。
1.如何把商业运营问题变成大数据挖掘问题?
那么,问题来了。怎样才能把上述业务运营问题变成数据挖掘问题?数据挖掘问题可以细分为四类:分类问题、聚类问题、关联问题和预测问题。
1.分类问题
用户流失率、推广响应、用户度评估都是数据挖掘的分类问题。我们需要掌握分类的特点,知道什么是监督学习,掌握常用的分类方法:决策树、贝叶斯、KNN、支持向量机、神经网络、logistic回归等。
2.聚类问题
市场细分和客户群细分都是数据挖掘中的聚类问题。要掌握聚类特征,了解无监督学习,了解常用的聚类算法,如划分聚类、层次聚类、密度聚类、网格聚类、基于模型的聚类等。
3.相关问题。
交叉销售问题属于相关性问题,相关性分析也叫购物篮分析。要掌握常用的相关分析算法:Aprior算法、Carma算法、序列算法等。
4.预测问题
要掌握简单线性回归分析,多元线性回归分析,时间序列等等。
二、实践大数据挖掘用什么工具?
实现数据挖掘的工具和方法太多了,如SPSS、SAS、Python、R等。但是我们需要掌握哪一个才能学习数据挖掘呢?这取决于你的水平和你想要前进的道路。
第一层次:达到入门理解的层次。
只知道统计学和数据库。
第二个层次:达到初级职场应用的层次。
统计数据库SPSS(或用SPSS代替软件)
第三关:达到职场应用中级水平。
或者SAS R。
第四个层次:达到数据挖掘者的层次。
或者SAS R Python(或者其他编程语言)
三、如何用Python学习大数据挖掘
只要能解决实际问题,用什么工具学数据挖掘都无所谓。Python是这里的第一个。那么如何用Python学习数据挖掘呢?Python需要掌握哪些知识?
1.熊猫图书馆的运作
Panda是一个特别重要的数据分析数据库。我们应该掌握以下三点:
熊猫分组计算;
熊猫指数和多重指数;
索引很难,但是很重要。
熊猫多表操作和数据透视表
2.数字计算
Numpy数据计算主要用于数据挖掘。对于未来的机器学习和深度学习,这也是必须掌握的库。我们应该掌握以下内容:
Numpy数组理解;
数组索引操作;
数组计算;
广播(线性代数知识)
3.数据可视化-matplotlib和seaborn
Matplotib语法
python最基础的可视化工具是matplotlib。乍一看,Matplotlib和matlib很像,弄清楚它们之间的关系就更容易学习了。
seaborn的使用
Seaborn是一个非常漂亮的可视化工具。
熊猫绘图功能
如前所述,pandas做数据分析,但它也提供一些绘图的API。
4.数据挖掘简介
这是最难也是最有趣的部分。掌握以下几个部分:
机器学习的定义
这里没有数据挖掘和数据挖掘的区别。
成本函数的定义
培训/测试/验证
过度拟合的定义和避免
5.数据挖掘算法。
到目前为止,数据挖掘中有很多算法。这里我们只需要掌握最简单、最核心、最常用的算法:
最轻的贝尔乘法算法:
梯度下降;
矢量化;
最大似然估计;
逻辑回归;
决策树;
RandomForesr
XGBoost
6.实际数据挖掘
通过机器学习中最著名的库scikit-learn了解模型。
以上是为大家理清的大数据挖掘学习思路的逻辑。然而,这仅仅是开始。在通往数据矿工和数据科学家的路上,我们要学习文本处理和自然语言、Linux和Spark、深度学习等等知识。我们应该保持对学习数据挖掘的持续兴趣。
机器学习/深度学习(ML/DL)
(1)商业知识具体指个性化推荐、计算广告、搜索、互联网金融等。NLP和CV分别是处理文本、图像和视频数据的领域技术,可以理解为提取非结构化数据并转换为结构化数据;最后的ml/dl技术属于模型学习理论;
(2)在选择职位的时候,每个公司都没有一套标准的职称,但做的无非是两个大方向。一种是主要学习某一领域的技术,比如自然语言处理工程师、计算机视觉工程师、机器学习工程师等。一种是将各种领域技术应用到业务场景中,解决业务需求,比如数据挖掘工程师、推荐系统工程师。具体地址不重要,重要的是平时的工作内容;
PS:在互联网行业,数据挖掘相关技术的成功应用主要是在推荐和计算广告领域,涉及的数据主要是文本,所以NLP技术比较重要。至于CV技术,主要应用在人工智能领域(无人车、人脸识别等。),所以我的知识有限,相关的描述会比较少;
3.根据前面的分析也可以看出,这个职位需要的三个基本能力是业务经验、算法能力和工程能力;
初级课程
1.工程能力
(1)编程基础:你需要掌握两种语言,一大一小。大的指C或JAVA,小的指python或shell脚本;需要掌握基本的数据库语言;
建议:MySQL Python C;语言只是工具,看语法就行;
(2)开发平台:Linux;
建议:掌握常用命令和Linux下源代码编译的原理;
(3)数据结构和算法分析基础:掌握常用的数据结构和操作(线性表、队列、列、串、树、图等。),并掌握常用的计算机算法(排序算法、搜索算法、动态规划、递归等。);
建议:多敲代码,多刷OJ平台的题;
(4)海量数据处理平台:hadoop(mr计算模型,java开发)或spark(rdd计算模型,scala开发),推荐后者;
建议:可以用为主。有精力的话可以看看源代码了解一下集群调度机制之类的;
2.算法能力
(1)数学基础:概率论、数理统计、线性代数、随机过程、最优化理论。
建议:这些一定要懂。即使不可能做到基础扎实,至少也要掌握各个学科的理论体系。到了相应的知识点,通过查阅资料就能无障碍理解。
(2)机器学习/深度学习:掌握常用的机器学习模型(线性回归、逻辑回归、SVM、感知器;决策树,随机森林,GBDT,XGBoost;贝叶斯、KNN、K均值、EM等。);掌握常见的机器学习理论(过拟合、交叉验证、模型选择、模型融合等。);掌握常见的深度学习模型(CNN,RNN等。);
建议:这里的精通是指熟悉推导公式,知道模型的适用场景;
(3)自然语言处理:掌握常用方法(tf-idf、word2vec、LDA);
3.商业经验
(1)了解广告的推荐和计算;
(2)通过参加数据挖掘比赛,熟悉相关业务场景,如Kaggle、阿里天池、datacastle等。
PS:以上都是一些入门级的介绍。在长期的学习中,要多看论文,多看开源代码,多学习优秀的解决方案;