数据分析与数据挖掘 - 01入门介绍
一 数据分析的定义
数据分析就是用合适的方法来发挥出数据的最大价值,这是一门结合了统计学,高等数学,工程学,商业决策等知识的技能,其中高等数学,工程学和统计学这些都是硬技能,而商业决策是属于软技能,数据分析师就是具备这些技能的岗位。数据分析师也有所侧重点,有的人是商业出身,偏向于商业领域,有的人是统计学出身,偏向于统计领域,有的人是工程学出身,更偏向于it领域。企业在进行招聘的时候,他们会根据自己的需求选择合适的数据分析师。
显然,我是工程领域出身,我们的课程是偏向于it领域的,适合往it领域发展的程序员入门学习,或者商业领域,统计学领域的数据分析师补充自己。
二 数据分析的产生
在如今的互联网企业的发展中,流量的增长是一个永恒不变的话题。我们知道拉一个新用户的成本要远高于维护一个老客户的成本。既然这样,如果我们能够让老客户产生价值,推出合适的营销策略或者老带新类似这样的方案,就能够用更少的成本产生更大的价值,这也就是数据分析师存在的理由。
三 数据分析的发展
早期的数据分析是使用excel,即使现在也有很多商业领域的数据分析人员依旧在使用。除此之外,还有一些数据分析商用的软件,比如tableau,spss等等。所使用的方式是先从服务器导出数据到软件当中去,然后通过一个功能函数进行数据的处理,比如excel中可以使用vlookup函数来进行纵向查找,最后再进行可视化的处理。显然,早起的数据分析更侧重于呈现结果,然后根据结果对企业的发展作出预测。
具体的过程如下所示:
- 分析现状-通过可视化的现状来直观描述企业经营发展中的情况
- 发现问题-从呈现结果中预测可能问题的原因
- 收集加工-使用更多的数据来验证问题的产生源头
- 分析策略-结合业务场景分析用户或者商品的现状
- 提出方案-根据商业逻辑和分析结果提出有效解决方案
我们能够预见的是,早期数据量比较少,一般都是以G为单位,类似于excel,tableau和spss这样的软件,所能够处理的数据量是有限的,当数据量达到T,TB甚至更大的量级是,这是无法处理的。这就需要it领域的知识来处理这些海量的数据,比如使用MySQL,hlive,hbase等等。
四 数据分析VS数据挖掘
除了数据分析之外,你一定还听说过数据挖掘,那么他们之间有什么异同呢?首先现在的大多数企业已经模糊了对数据分析与数据挖掘的区别,但是他们还是有所差异,具体如下:
- 数据分析更多采用统计学的知识,对源数据进行描述性和探索性分析,从结果中发现价值信息来评估和修正现状。数据挖掘不仅仅用到统计学的知识,还要用到机器学习的知识,这里会涉及到模型的概念。数据挖掘具有更深的层次,来发现未知的规律和价值。
- 从侧重点上来说,相比较而言,数据分析更多依赖于业务知识,数据挖掘更多侧重于技术的实现,对于业务的要求稍微有所降低。
- 从数据量上来说,数据挖掘往往需要更大数据量,而数据量越大,对于技术的要求也就越高。
- 从技术上来说,数据挖掘对于技术的要求更高,需要比较强的编程能力,数学能力和机器学习的能力。
- 从结果上来说,数据分析更多侧重的是结果的呈现,需要结合业务知识来进行解读。而数据挖掘的结果是一个模型,通过这个模型来分析整个数据的规律,一次来实现对于未来的预测,比如判断用户的特点,用户适合什么样的营销活动。显然,数据挖掘比数据分析要更深一个层次。
五 机器学习的流程
上文中我们提到了数据挖掘需要用到机器学习的知识,其实数据挖掘与机器学习的流程是一样的,具体如下:
- 数据源-企业生产中所产生的数据
- 预处理-处理脏数据,比如有缺失值,异常值等等,修改数据的格式
- 特征工程-把数据抽象成我们需要的指标或特征
- 数据建模-搭建机器学习的模型,用该模型来训练数据
- 数据验证-使用测试数据来验证我们的模型
六 数据的产生
很多时候我们会发现在浏览网站或者app时总会给我们推荐一些与我们相关的信息,这其实就是根据我们的互联网行为来进行预测的,前端获取到用户的行为数据,传输到后端,然后存储到服务器上,具体行为如下:
- 浏览网页时或者app时,你的点击和停留行为都会被服务器所记录,最终存储到数据库上
- 浏览购物app时,你的订单,添加购物车,收藏,关注等行为
- 浏览快手,抖音等洗脑app时,你的关注,停留,评论,点赞,转发等行为都会被记录在服务器上
七 数据预处理
预处理就是提前处理一下,当把数据从源中读取出来之后,我们可能会发现有些数据不符合我们的要求,比如有缺失值或者异常值(年龄为0),我们的处理可能是删除,也可能是填充,我们把这些脏数据整理成干净的数据。除此之外,我们可能还需要进行数据的变换,把原始数据转化成符合模型要求的数据。
八 数据建模
数据清洗完了之后,进行可视化展示,然后我们使用一条线去拟合这些点,这条线就是一个函数,有了这个函数我们就可以进行预测,这个函数就是一个模型,这就是数据建模的过程。