1.统计知识
在做数据分析,统计的知识肯定是需要的,Excel、SPSS、R等是需要掌握的基本技能。如果我们做数据挖掘的话,就要重视数学知识,数据挖掘要从海量数据中发现规律,这就需要一定的数学知识,最基本的比如线性代数、高等代数、凸优化、概率论等。
2.概率知识
而朴素贝叶斯算法需要概率方面的知识,SKM算法需要高等代数或者区间论方面的知识。当然,我们可以直接套模型,R、Python这些工具有现成的算法包,可以直接套用。但如果我们想深入学习这些算法,最好去学习一些数学知识,也会让我们以后的路走得更顺畅。我们经常会用到的语言包括Python、Java、C或者C++,我自己用Python或者Java比较多。有时用MapReduce写程序,再用Hadoop或者Hyp来处理数据,如果用Python的话会和Spark相结合。
3.数据挖掘的数据类型
那么可以挖掘的数据类型都有什么呢?关系数据库、数据仓库、事务数据库、空间数据库、时间序列数据库、文本数据库和多媒体数据库。关系数据库就是表的集合,每个表都赋予一个唯一的名字。每个表包含一组属性列或字段,并通常存放大量元组,比如记录或行。关系中的每个元组代表一个被唯一关键字标识的对象,并被一组属性值描述。
4.数据仓库
什么是数据仓库呢?数据仓库就是通过数据清理、数据变换、数据集成、数据装入和定期数据刷新构造 。数据挖掘的工作内容是什么呢?数据分析更偏向统计分析,出图,作报告比较多,做一些展示。数据挖掘更偏向于建模型。比如,我们做一个电商的数据分析。万达电商的数据非常大,具体要做什么需要项目组自己来定。电商数据能给我们的业务什么样的推进,我们从这一点入手去思考。我们从中挑出一部分进行用户分群。
关于数据挖掘需要学习哪些知识,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。
1. 工程能力
( 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 企业级实战》
2. 算法能力
( 1 )数学基础:概率论,数理统计,线性代数,随机过程,最优化理论
建议:这些是必须要了解的,即使没法做到基础扎实,起码也要掌握每门学科的理论体系,涉及到相应知识点时通过查阅资料可以做到无障碍理解;
( 2 )机器学习 / 深度学习:掌握 常见的机器学习模型(线性回归,逻辑回归, SVM ,感知机;决策树,随机森林, GBDT , XGBoost ;贝叶斯, KNN , K-means , EM 等);掌握常见的机器学习理论(过拟合问题,交叉验证问题,模型选择问题,模型融合问题等);掌握常见的深度学习模型( CNN ,RNN 等);
建议:这里的掌握指的是能够熟悉推导公式并能知道模型的适用场景;
推荐书籍:《统计学习方法》《机器学习》《机器学习实战》《 UFLDL 》
( 3 )自然语言处理:掌握常见的方法( tf-idf , word2vec ,LDA );
3. 业务经验
( 1 )了解推荐以及计算广告相关知识;
推荐书籍:《推荐系统实践》《计算广告》
( 2 )通过参加数据挖掘竞赛熟悉相关业务场景,常见的比赛有 Kaggle ,阿里天池, datacastle 等。
个人感觉数据挖掘是一个比较大的概念,可以理解为:
数据挖掘=业务知识+自然语言处理技术(NLP)+计算机视觉技术(CV)+机器学习/深度学习(ML/DL)
(1)其中业务知识具体指的是个性化推荐,计算广告,搜索,互联网金融等;NLP,CV分别是处理文本,图像视频数据的领域技术,可以理解为是将非结构化数据提取转换成结构化数据;最后的ml/dl技术则是属于模型学习理论;
(2)在选择岗位时,各个公司都没有一套标准的称呼,但是所做的事情无非2个大方向,一种是主要钻研某个领域的技术,比如自然语言处理工程师,计算机视觉工程师,机器学习工程师等;一种是将各种领域技术应用到业务场景中去解决业务需求,比如数据挖掘工程师,推荐系统工程师等;具体的称呼不重要,重要的是平时的工作内容;
PS:在互联网行业,数据挖掘相关技术应用比较成功的主要是推荐以及计算广告领域,而其中涉及到的数据主要也是文本,所以NLP技术相对来讲比较重要,至于CV技术主要还是在人工智能领域(无人车,人脸识别等)应用较多,本人了解有限,相关的描述会较少;
3.根据之前的分析,也可以看到该岗位所需要的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-means,EM等);掌握常见的机器学习理论(过拟合问题,交叉验证问题,模型选择问题,模型融合问题等);掌握常见的深度学习模型(CNN,RNN等);
建议:这里的掌握指的是能够熟悉推导公式并能知道模型的适用场景;
(3)自然语言处理:掌握常见的方法(tf-idf,word2vec,LDA);
3.业务经验
(1)了解推荐以及计算广告相关知识;
(2)通过参加数据挖掘竞赛熟悉相关业务场景,常见的比赛有Kaggle,阿里天池,datacastle等;
PS:以上都是一些入门级别的介绍,在长期的学习中,应该多看顶会paper,多读开源代码,多学习优秀解决方案;
数据挖掘,在人工智能领域,习惯上又称为数据库中知识发现(Knowledge Discovery in Database, KDD), 也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。
知识发现过程以下三个阶段组成:(1)数据准备,(2)数据挖掘,(3)结果表达和解释。数据挖掘可以与用户或知识库交互。
并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。
虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
数据挖掘,在人工智能领域,习惯上又称为数据库中知识发现(Knowledge Discovery in Database, KDD), 也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。
知识发现过程以下三个阶段组成:(1)数据准备,(2)数据挖掘,(3)结果表达和解释。数据挖掘可以与用户或知识库交互。
并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。
虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
把数学看懂才是王道,你是做软件开发的,干嘛用R语言,R语言是统计语言,还不如用python。
真正的数据挖掘不是画几张图那么简单。看《数据挖掘导论》,然后用C/C++/Java/Python等这些语言编程实现。
理解了算法然后去实现。经过一段时间你理解了算法之后再去想有什么地方可以运用的,就是你有什么需求,数据是用来发现知识的,而知识可以帮助企业获得经济效益。
因此,如果你数学不好,在看《数据挖掘导论》的时候可以看看统计学的东西,结合起来。经过一年半载的学习之后,你可以看更高阶的比如统计学习理论之类的,学着学着你就上路了。
1. 统计学统计学虽然是一门“古老的”学科,但它依然是最基本的数据挖掘技术,特别是多元统计分析,如判别分析、主成分分析、因子分析、相关分析、多元回归分析等。
2. 聚类分析和模式识别聚类分析主要是根据事物的特征对其进行聚类或分类,即所谓物以类聚,以期从中发现规律和典型模式。这类技术是数据挖掘的最重要的技术之一。
除传统的基于多元统计分析的聚类方法外,近些年来模糊聚类和神经网络聚类方法也有了长足的发展。3. 决策树分类技术决策树分类是根据不同的重要特征,以树型结构表示分类或决策集合,从而产生规则和发现规律。
4. 人工神经网络和遗传基因算法人工神经网络是一个迅速发展的前沿研究领域,对计算机科学 人工智能、认知科学以及信息技术等产生了重要而深远的影响,而它在数据挖掘中也扮演着非常重要的角色。人工神经网络可通过示例学习,形成描述复杂非线性系统的非线性函数,这实际上是得到了客观规律的定量描述,有了这个基础,预测的难题就会迎刃而解。
目前在数据挖掘中,最常使用的两种神经网络是BP网络和RBF网络 不过,由于人工神经网络还是一个新兴学科,一些重要的理论问题尚未解决。5. 规则归纳规则归纳相对来讲是数据挖掘特有的技术。
它指的是在大型数据库或数据仓库中搜索和挖掘以往不知道的规则和规律,这大致包括以下几种形式:IF … THEN …6. 可视化技术可视化技术是数据挖掘不可忽视的辅助技术。数据挖掘通常会涉及较复杂的数学方法和信息技术,为了方便用户理解和使用这类技术,必须借助图形、图象、动画等手段形象地指导操作、引导挖掘和表达结果等,否则很难推广普及数据挖掘技术。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.009秒