数据挖掘是当前人工智能和大数据领域研究的热点问题,所谓数据挖掘就是指从大量的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不清楚的、但又是潜在有用的信息过程。
数据挖掘也是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,从而实现高度自动化地分析数据,做出归纳性推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,做出正确的决策。
技术与商业应用就像一对孪生兄弟,在互相促进中不断演进发展,随之而来的就是各大公司业务突飞猛进,很多新模式也涌现出来,使得数据量激增。
面对数以千万甚至上亿,以及不同形式的数据,很难再用纯人工,或者纯统计的方法从成千上万的变量中找到其隐含的价值。
我们需要一种规范的解决方案,能够利用并且充分利用这些数据里的每一个部分,通过一些自动化的机器学习算法,从数据中自动提取价值。
而数据挖掘就提供了这样一系列的框架、工具和方法,可以处理不同类型的大量数据,并且使用复杂的算法部署,去探索数据中的模式。
今日头条借助数据挖掘,针对用户的个人喜好,为他们推荐更加个性化的新闻;滴滴依靠数据挖掘算法来规划、寻找最优化路线;美团外卖凭借数据挖掘算法进行热度预估和订单分派等等。因此,在当今信息时代,数据挖掘的重要性不言而喻。
既然数据挖掘是一种方法,那么就要用它去解决一些问题。以下对常用的几种应用场景进行介绍。
1.分类
分类是数据挖掘的最常见的运用,即找出数据库中一组数据对象的共同特点并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到某个给定的类别。
比如新闻网站,判断一条新闻是社会新闻还是时政新闻,是体育新闻还是娱乐新闻?
2.聚类
聚类与分类不同,聚类分析是把一组数据按照相似性和差异性分为几个类别,其目的是使得属于同一类别的数据间的相似性尽可能大,不同类别中的数据间的相似性尽可能小。
聚类的类别事先是不确定的,其目标就是要去发现这些类别。
比如一群小孩子,捡了一大堆不同的树叶回来,但不知道这些树叶是从什么树上掉落的,然而他们可以根据它们的大小、形状、纹路、边缘等特征给树叶进行划分,最后得到了三个较小的树叶堆,每一堆树叶都属于同一个种类。
3.回归分析
回归分析反映的是事务数据库中属性值在时间上的特征,产生一个将数据项映射到一个实值预测变量的函数,发现变量或属性间的依赖关系,其主要研究的问题包括数据序列的趋势特征、数据序列的预测以及数据间的相关关系等。
比如,使用回归的方法预测某个学生期末考试总成绩(y),假设总成绩只跟学生每天平均学习时间(x)有关,那么我们构建的方程式就是 ax+b=y。
如何根据已知 x 和 y 的值解出 a 和 b 就是回归问题要解决的。也就是说回归分析是通过构建一个模型去拟合已知的数据(自变量),然后预测因变量结果。
4.关联预测
关联预测规则是描述数据库中数据项之间所存在的关系的规则,即根据一个事务中某些项的出现可导出另一些项在同一事务中也出现,即隐藏在数据间的关联或相互关系。
比如,你在京东或者淘宝购物的时候,在选中一个商品之后,往往会给你推荐几种其他商品组合,这种功能就可以使用关联预测模型来实现。
数据挖掘常用技术
1、工神经网络
2、决策树
3、遗传算法
4、近邻算法
5、规则推导
数据挖掘实施步骤
1.问题定义
在获取想要的信息之前首先要做的就是了解数据和业务问题,必须要对目标有一个清晰明确的定义,即决定到底想解决什么问题。
比如,你的老板突然给你说:“小明啊,你能不能训练一个模型来预测一下明年公司的利润呢?”
这就是一个业务需求了,要解决这个问题,首先要弄明白需求是什么。比如,你要搞清楚什么是利润、利润的构成是什么样的、利润受什么影响,同时老板说的利润是净利润还是毛利润等问题。
2.数据理解
明白了问题定义之后,还要明白解决问题需要什么数据。
比如这个时候,你的老板又跟你说了:“小明啊,我想改改需求,能不能多做几个模型,把竞品公司明年的利润也都算算,我想对比一下。
”然而“巧妇难为无米之炊”,你根本就没有这个数据,这个需求也就无从完成了。
数据理解阶段始于数据的收集工作,其重点是在业务理解的基础上,对所掌握的数据要有一个清晰、明确的认识,了解有哪些数据、哪些数据可能对目标有影响、哪些可能是冗余数据、哪些数据存在不足或缺失等。
3.数据准备
完成上面两个步骤后,就可以准备数据了。
比如,需要找销售要销售数据,找采购要采购数据,找财务要各种收入、支出数据,然后整理所有需要用到的数据,想办法补全那些缺失的数据,计算各种统计值,等等。
数据准备就是基于原始数据,去构建数据挖掘模型所需的数据集的所有工作,包括数据收集、数据清洗、数据补全、数据整合、数据转换、特征提取等一系列动作。
在大多数的数据挖掘项目中,数据准备也是最困难、最艰巨的一步。
4.构建模型
构建模型也可以叫作训练模型,在这一阶段,我们会把准备好的数据喂给算法,所以这个阶段重点解决的是技术方面的问题,会选用各种各样的算法模型来处理数据,让算法模型学习数据的规律,从而构建出模型用于后续的工作。
5.评估模型
在模型评估阶段,已经完成了一个或多个高质量模型的建立。
但是模型的效果如何,能否满足我们的业务需求,就需要使用各种评估手段、评估指标甚至是让业务人员一起参与进来,彻底地评估模型,回顾在构建模型过程中所执行的每一个步骤,以确保这些模型达到了目标。
在评估之后会有两种情况,一种是评估通过,进入到上线部署阶段;另一种是评估不通过,那么就要反过来再进行迭代更新了。
6.模型部署
整理了数据,研究了算法模型,并通过了多方评估,最后就是模型部署阶段。此时可能还要解决一些实际的问题,比如长期运行的模型是否有足够的机器来支撑,数据量以及并发程度会不会造成我们部署的服务出现问题等等。
然而,这六个步骤并不代表数据挖掘的生命周期的开始和结束,在后续的进程中,随着新数据的生产以及变化,模型仍然会发生一些变化。所以部署是一个挖掘项目的结束,也是一个数据挖掘项目的开始。
网友评论