数据分析师与数据挖掘工程师有何区别?两者的工作内容有什么不同?哪个岗位对编程技术要求更高?两者分别需要具备哪些工具,知识,技术等等?
我上一份工作是数据分析师,现在的工作是数据挖掘工程师,因此我可以以我自己的实际经验来回答这个问题。
数据分析师和数据挖掘工程师,同属于数据领域的洞察者,但是两者的工作内容却有着不小的区别。
对于一个数据分析师来说,最重要的并不是编程技能,而是逻辑分析能力、业务理解能力、报告展示能力等。
数据分析师:
- 数据分析师使用的主要工具可以是编程,但并非必要;
- 因为现在已经存在大量的强大、易用的数据分析工具,比如Excel、Tableau、SPSS、SAS等,即使你没有编程能力,仍然能胜任绝大多数的数据分析工作;
- 但是相对于数据挖掘工程师,你还额外需要一些能力,比如数据可视化的能力、写数据报告的能力、在领导甚至许多人面前做报告、讲演的能力等;
- 同时,由于现在互联网公司都在讲大数据,数据的存储基本上在各种大数据平台和数据库中,因此你有必要掌握Hive、HDFS、MySQL等的使用,SQL的熟练掌握是不可避免的。
- 数据分析师一般有两种,一种是面向业务的,主要对各业务线、产品经理、运营、各部门领导的需求提供支持,帮助他们分析业务、了解业务,发掘出业务中的问题并提供解决方案;另一种是偏宏观的分析,一般没有需求方,主要是自发地进行探索,主动找到公司业务中存在的问题,弄清公司发展的趋势,对于公司发展的方向做出指引。
数据挖掘工程师
- 虽然说不会编程也不至于完全无法做数据挖掘工作,但是好的编程技能却会成为你工作中的得力助手;
- 很多时候,数据挖掘工程师会为数据分析师提供一些支持性的工作,比如为他们搭建数据库、清洗数据、建立报表平台等;
- 有些时候数据分析师也会直接向数据挖掘工程师提出需求,有些数据的存储方式、格式超出了数据分析师的技能覆盖范围,这时就需要数据挖掘工程师帮他们做一些前期工作;
- 另外呢,数据挖掘工程师往往还需要做一些机器学习方面的工作,因此就需要对各种机器学习算法的理论及代码实践有足够的认识。
- 数据挖掘工程师之中,也分很多不同的类型,比如做特征工程的、数据仓库的、数据平台支持的、算法工程师、数据科学家等,他们的工作职责各有不同,职业技能也各有侧重。
- 对于大多数数据挖掘工程师来说,编程技能是必不可少的,但是针对不同挖掘工程师的性质,需要掌握不同的编程技能。一般来说,Python、Java、Scala是常用的大数据挖掘语言,有一些数据科学家喜欢用R;最常用的大数据平台是Hadoop平台和Spark平台,常用的结构化数据库是MySQL或其他关系型数据库,非结构化数据库中MongoDB较为常用。
- 对于数据挖掘工程师来说,必要的Linux知识也必不可少。因为数据挖掘工程师绝大多数的工作都是在远程的服务器上完成的,不能流畅地在命令行中操作各种Linux系统(常用的有CentOS、Ubuntu等),工作的效率会大大降低。另外Shell在数据处理上也很强大,sed+awk简直是数据处理的神器。
以上并不是非常系统的对比,但是是我在工作中最实际的体验,我并非码农出身,这个转型过程中遇到了很多挑战,但是他们之间并没有天堑一样的区别,很多地方是共通的,如果你编程基础较差,那么可以从数据分析师入手,之后在考虑转型数据挖掘;如果编程基础较好,可以考虑数据挖掘,但是数据挖掘工程师一般情况下不会接触太多的业务。两者的职业路线非常不同,数据分析师之后可以做业务、可以转产品、可以做管理;而数据挖掘工程师一般会在技术领域垂直、深入地探索,之后可能会做技术管理,也有一辈子做技术的。
综上所述,你可以根据自己的实际情况,做出选择了。后悔药是有的,不用过多纠结,他们之间并不是做了A就再也不能做B了。
做数据分析与挖掘,需要具备哪些知识与技术?
数据分析师与数据挖掘工程师有何区别?两者的工作内容有什么不同?哪个岗位对编程技术要求更高?两者分别需要具备哪些工具,知识,技术等等?
首先明确地说一点, 数据分析与数据挖掘无论是在职业上还是技术栈上并没有很明显的界限。两者的技术和工作内容存在很大的重合,比如数据分析也有很多时候用到数据挖掘的理论和模型,很多数据分析从业者使用SAS、R、SPSS就是一个很好的例子,另一方面,做数据挖掘项目时同样需要有人懂业务懂数据,能够根据业务需要提出正确的数据挖掘需求和方案,能够提出备选的算法模型,实际上这样的人一脚在数据分析上另一只脚已经在数据挖掘上了。
如果非要说有什么区别的话,我觉得可能数据分析更注重对已知事实的分析,即出现了某个业务现象,通过数据分析探索发生的原因,进而进行针对性地应对。而数据挖掘更注重在大数据中进行探索,挖掘潜藏在数据背后的业务规律,进而为业务发展寻找突破点。
回到题主关注的技术层面,针对数据分析师,需要掌握的技能有:概率论和统计学知识,能够熟练运用Excel、SQL,R、Python、SPSS等至少一门专业分析软件,注意是熟练运用,而且Excel是必备技能,如果做大数据分析的话,SQL,HIVE等也要比较熟练的使用,最后还有最最重要的一项,要有深刻的内部业务见解和外部商业分析能力,这是很多数据分析师的痛点和薄弱点,数据分析重在业务,不是技术,千万不要本末倒置!!!
数据挖掘入门门槛就要高一点了,不仅要具备基础的工程能力,还要具备一定的算法能力和业务经验,主要包括:
一、工程能力:
1、编程语言:Python,Java至少要会一种吧,shell也会用到很多,也是要会的
2、操作系统:Linux基础的操作要会的
3、数据结构:这是实现算法的必备,必然要掌握的
二、算法能力
1、数学基础:概率论,数理统计,线性代数,随机过程,最优化理论
建议:这些是必须要了解的,即使没法做到基础扎实,起码也要掌握每门学科的理论体系,涉及到相应知识点时通过查阅资料可以做到无障碍理解;
2、机器学习/深度学习:掌握常见的机器学习模型(线性回归,逻辑回归, SVM ,感知机;决策树,随机森林, GBDT , XGBoost ;贝叶斯, KNN , K-means , EM 等);掌握常见的机器学习理论(过拟合问题,交叉验证问题,模型选择问题,模型融合问题等);掌握常见的深度学习模型( CNN ,RNN 等);
推荐书籍:《统计学习方法》《机器学习》《机器学习实战》
3、自然语言处理:掌握常见的方法( tf-idf , word2vec ,LDA );
三、业务经验
除了以上工程能力和算法能力,还有很重要的就是业务经验,就是对业务的熟悉程度,这决定了你如何构造你的数据集,如何构造你的特征,如何进行数据清洗,如何进行模型调参,所有的数据挖掘都要落地到实际业务中产生价值,否则就毫无意义,落地业务最关键的一点就是熟悉业务,道理很简单,但却很容易被忽视。
以上是从事我从事数据分析和数据挖掘相关工作以来的一些感悟,一家之言仅供参考,也希望更多行业里的大神多多指教交流!
如何从概念上分清数据挖掘与数据分析?
请详细说明,谢谢。
通俗点说,数据分析是本科生,通过简单的统计来观察小数据,解决相对简单问题,比如用户年龄分布分析;而数据挖掘是研究生,通过机器学习算法建模,要深挖大数据背后的模式,来解决复杂问题,比如个性化推荐。
方法论方面:一个是统计,一个是机器学习
数据分析作用的多数是概率统计理工具,比如留存率的分析,大多数上是对历史数据的某个维度的展示。而数据挖掘,背后的目标隐藏在大数据中,需要通过机器学习、深度学习理论去预测,比如挖掘用户的喜好,本质上是对用户未来行为的预测。
工具层面:一个是excel,一个是代码
数据分析,通过excel可以基本搞定,excel内置很多统计函数,顶多做个简单的线性回归分析。而数据挖掘,将要利用大数据、机器学习等用更专业的编程语言来实现,比如python调用sklearn或xgboost,来实现。
数据层面:一个是小数据,一个是大数据
数据分析数据量上相对小,或者很多数据都进行了聚合。比如通过分析某商品的近几年的销量来看市场趋势。而数据挖掘,背后对应的大部分为海量数据,比如通过用户行为日志,来对用户做千人千面的个性化推荐。
实际项目中,以实际需求驱动,根据实际情况选不同的方法。
数据分析(数据挖掘)有什么用?
数据分析和数据挖掘在本质上是有一定区别的
数据分析:是指运用合适的统计分析方法对采集来的规模巨大的数据进行分析,是一个为提取有用信息和形成结论而对数据加以详细研究和概括的过程;
数据挖掘:是指用相关算法从大量的数据中探索隐藏在其中的信息的过程。
我们可以简单的理解为,一个是从广度上对数据的处理过程,一个是从深度上对数据的处理过程。
数据分析和数据挖掘两者是相辅相成的
一个可以通过大量数据的整理和解读来对企业的现状进行分析,并通过数据来反映目前企业管理的问题,并可将相应的问题原因进行深入追踪,最后确认相关的责任人,保证了数据的可追溯性,来辅助企业的整体管理和运营;而数据挖掘通过对企业隐藏价值数据的深耕,可以对企业未来发展导向,做出预判,为企业高层提供相应的参考支持;一个企业想要发展的更好,处理好当下企业发展中的问题是必要的,着眼于未来企业的发展是重要的,而数据分析和数据挖掘在企业中的实际运用,可以更好的支撑企业的运营管理,提供决策分析,帮助企业走的更高、更远。
数通畅联 专注于企业IT架构、SOA综合集成、数据治理分析领域,感谢您的阅读与关注!
大数据和数据挖掘的区别?
数据分析有什么用?数据分析的结果可以解决什么问题?哪个行业或者领域对数据分析需求量最大?
随着大数据的兴起,隐藏在大数据背后的相关技术也逐渐被揭开神秘的面纱,其中,数据挖掘即是大数据应用过程中非常重要的环节。以下是国内领先的移动大数据服务商极光大数据的副总裁陈宇针对数据挖掘技术的简析,并对比总结了大数据时代下的数据挖掘技术相较于传统数据挖掘的突出优势。
数据挖掘技术概要
从海量的数据库中选择、探索、识别出有效的、新颖的、具有潜在效用的乃至最终可理解的模式以获取商业利益的非平凡的过程就是Fayyad和Piatetsky-Shapiror在1996年提出的数据挖掘的定义。这个定义有三个要点:处理海量的数据;揭示企业运作中的内在规律;为企业运作提供直接决策分析,并带来巨大经济效益。
技术不断演进,社会不断发展,对于数据挖掘的定义也发生了一些变化。例如对于数据量级的变化,从海量已经到了巨量。在1996年的时候,人们是无法想象2017年我们将会处理如此巨大的数据。而数据处理的样本规模也在从采样发展到全量,例如极光大数据在处理关键人的同轨分析特征识别的时候,会处理几百亿的位置信息轨迹,从中提炼出具有相同轨迹的设备信息,从而通过设备信息关联出自然人的相互关系等等。
同时,相对于1996年,数据应用发掘企业的内在规律已经拓展到了社会运行特征、人群行为特征、经济发展特征等等各个方面。而数据挖掘的目的也不仅是为了经济效益,也对社会生产力提升和管理水平提升提供了相应支持。
数据挖掘过程的关键点
传统数据挖掘过程一般采用如下过程:
数据挖掘的过程
在大数据时代,数据挖掘的过程本质相同,但是有如下差异:
大数据时代数据挖掘的差异
1.从结构化数据到非结构化数据。传统的数据挖掘都是依据数据库里面的数据进行分析,在大数据时代,数据来源多种多样,对于这些非结构化数据的加工是大数据数据挖掘的重要特征。因为非结构化数据处理的成功与否决定了大数据数据源的质量好坏,而这并不是算法可以解决的。
2.从抽样数据到全量数据。传统数据挖掘受制于数据处理能力,只能使用少量的抽样数据进行分析。在大数据技术环境下,完全可以实现全量数据的分析,效率甚至可能高于抽样数据的分析。
3.从因果关系到相关性分析。大数据分析通过事件和多种因素进行相关性分析,通过数据挖掘和机器学习的算法找到其关联关系,并运用回归分析从而实现预测。
数据挖掘的任务按照目标可以分为4类:
1) 分类:通过分析训练集的数据,为每一个分类建立分类分析模型,用这个已知的规律对其他数据进行分类
2) 回归:建立因变量和自变量之间关系的模型
3) 聚类:将对象集合分成由类似的对象组成的多个类的过程
4) 关联规则:寻找给定数据集合中各个因子之间的关联关系
人们经常见到的“逻辑回归模型”、“神经网络模型”、“遗传算法”、“决策树”等等都是监督学习过程的挖掘算法。这类算法在机器学习和深度学习里面大量使用,是大数据公司必备的专业技能。极光大数据作为国内领先的移动大数据服务商,在这方面的实际案例颇多,例如极光大数据团队利用神经网络算法预测个人前往某一个特定区域的概率和时间,准确度可以达到80%以上;他们还利用神经网络算法和随机森林算法对个人喜欢的移动应用进行推荐下载和推荐产品;此外,极光大数据团队还自主开发了空间轨迹相似度STS(spatial trajectory similarity)算法进行同轨分析等。
数据挖掘技术随着大数据时代的到来已变幻出更强的功能特征,而在大数据服务商的精耕细作下,也必将为各行业带来进步的动力。