首先,本人做一下自我介绍,目前就职于某知名大厂的NLP模型训练师,也是一名非全研究生在读学生,导师是国内计算机领域排名第15名的潘正祥教授(Guide2Research可查),研究方向是优化算法方向。
其次数据挖掘也是我感兴趣的方向,之后会在CSDN上不定期发表自己的学习心得,大多是干货,但是更多的希望和大家一起探讨学习。
话不多说 ,我说一下数据挖掘和数据分析的关系,我认为数据分析和数据挖掘是一个拔高的过程。本身我们所处在的大数据时代,可以理解的是,我们每天其实是直接或者间接的接触到数据,我认为,当前很多前沿技术以及一些长远收益项目需要海量数据作为底端支撑,比如NLP如果没有海量数据让机器去学习、识别。那么NLP的存在就有些微乎其微,再比如要确定某些项目是否具有可持续性,那么数据的搜集,分析就可作为突破瓶颈的关键信息。所以数据在当代中各行各业的存在就好像是建设房子所必需的砖头,更准确的应该是,具有黄金价值的数据。
上文也有说到数据分析和数据挖掘的两个方向,这里我说一下我个人理解,数据分析其实与业务面更加的贴合,数据分析更像是一个决策行为,数据挖掘更贴近研发行为。也就是说两种方向一个偏人工干预,一个偏向机器智能。
目前社会的普遍现象是要求数据分析师要了解数据,从数据中找出一些有用的信息但是这里需要强调的是,数据分析可以使用各种分析手段,不一定需要固化,并通过一定的人为思考从分析的数据中得到一定的结论。那么从这个层面上来讲,其实数据分析也需要很多硬技能,所以从技术层面来讲,数据分析师需要代码语言来辅助自己做到数据可视化,比如python,SQL、Excel、SPSS、SAS等技术活。所以数据分析的要求就是必须要求海量数据发现某种尚未发现的商业价值或者其他价值,举一个例子:在销售房子策略,数据分析师需要分析说,什么地段的房子更容易销售,什么样的房子更容易卖出去,卖出的房子周围的资源是什么类型,什么样价格更适合去定价,不会造成卖方与买方任何一方的损失等等,发现这些价值后,去指导业务团队实施。不难发现,数据分析是指根据分析的目的,用适当的统计分析方法及工具,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用。但是要注意的是数据分析主要侧重点在于通过观察数据来对历史数据进行统计学上的分析
而对于数据挖掘工程师来说同样需要了解数据,并从中提炼一定的规则,但是不同的是,数据挖掘后需要在相应的业务场景进行建模,并通过挖掘算法进行模型的调整、或者机器自我学习,得到一个输入输出的模型函数。数据挖掘相比数据分析更注重代码操作,数据挖掘需要一定的编程基础。 在做数据仓库组建、分析系统开发、挖掘算法设计等工作时,常常需要工作人员亲力而为地从ETL开始处理原始数据,因此对计算机水平有较高要求,并且更偏技术方向。目前从事数据挖掘相关工作的人大多都隶属于计算机系。那么数据挖掘师要从大量的数据中,通过统计学、人工智能、 机器学习等方法,挖掘出未知且有价值的信息和知识的过程。通过从数据中发现“知识规则”来对未来的某些可能性做出预测,更注重数据间的内在联系,这里我可能做不出一些举例,因为本人不是很精通,只是在向该方向努力。我觉得这么解释比较直白,
当然不能完全隔离数据分析师与数据挖掘工程师,毕竟还是有共通的地方,比如都需要熟悉一些算法,要了解业务场景,要得到一定的结论。 两者对比一下,数据分析师更多接触业务,可能会更多的生产一些分析报告,直接为领导层所关注。 数据挖掘师更多的是在于实现一定的产品或者系统,更多偏向开发,当然开发一直被人所崇拜,以后机器智能崛起的话,就更高大上了。但是,不论是数据分析师还是数据挖掘师,数据都是他们赖以生存的重点,假若搜集不到数据或者没有足够的数据作为支持,那么将无法进行相应的工作。并且他们都需要掌握相关的统计学知识,并姐对数据都需要有较高的敏感性。虽说数据挖掘与数据分析有所不同,但是很多时候,数据分析师与数据挖掘师也会需要做对方的工作。做数据分析时需要用到数据挖掘的工具和模型;做数据挖掘项目时同样需要他们懂业务、懂数据,并且需要他们能够根据业务要提出正确的数据挖掘需求和方案。因此二者在职业上并没有明显的界限,所以我认为,要想从事是数据挖掘就要从数据分析开始 ,毕竟不懂业务的程序员就不是一个好程序员。
那么重点来了,学习路线----
-
业务数据分析师
要求技能:EXCEL,SQL,BI,SPSS。包括一些业务报表的汇报模板,项目跟随。 -
数据分析师
要求技能:建模,代码能力(主要就是python数据分析),统计学,数据库管理,数据分析模型 -
数据科学家(数据挖掘)
要求技能:机器学习算法,自然语言处理与文本分析(别看少,学起来前面的好几倍)
这是简单的学习路线,期间我会增加一些项目实例,确保我们都不是纸上的老虎。
**题外话:**对于优化算法这块,我也会不定期发表一些自己的心得,具体还是根据导师的授课路线。