数据分析和数据挖掘的区别是什么?

数据分析和数据挖掘的区别是什么?,第1张

数据分析和数据挖掘都是从数据库中发现知识、所以我们称数据分析和数据挖掘叫做数据库中的知识发现。但严格意义上来讲,数据挖掘才是真正意义上的数据库中的知识发现(Knowledge Discovery in Database,KDD)。

数据分析是从数据库中通过统计、计算、抽样等相关的方法,获取基于数据库的数据表象的知识,也就是指数据分析是从数据库里面得到一些表象性的信息。数据挖掘是从数据库中,通过机器学习或者是通过数学算法等相关的方法获取深层次的知识(比如属性之间的规律性,或者是预测)的技术。

关联分析,顾名思义就是找出哪几项之间是有关联关系的,举个例子:

以上是五个购物记录,从中我们可以发现,购买了尿布的人其中有3个购买了啤酒,那么久我们可以推测,尿布和啤酒之间有较强的关联关系,尽管他们之间看起来并没有什么联系,也就是能得到规则:

因为购物分析能较好地描述关联分析,所以又被叫做 购物篮分析
为了较好的描述这个分析的各种名词,我们把上面的表格重新设计一下:

把每一个购物订单中,涉及到的商品都变成1,没涉及到的变成0,也就是将各个商品的购买记录 二元化
当然肯定也有多个分类的情况。

那么面包,牛奶这些就叫数据集的 ,而他们组合起来的子集就叫做 项集 。可以为空,空集是不包含任何项的项集,如果一个项集包含k个子项,就叫做k-项集。
订单12345叫做 事务 ,某个项集在所有事务中出现多少次,叫做项集的 支持度计数

在上面的表格中,项集{啤酒、尿布、牛奶}的支持度计数为2,因为有两个事务(3、4)包含这一项集。

支持度 置信度 来衡量,假定存在规则 ,其中X和Y是 不相交 的项集,则支持度为:
其中N是数据集中的事务个数,相当于表示该规则在数据集中出现了多少次。
置信度为:

置信度的意思就是,在出现X的情况下,有多少次同时出现了Y,代表这个关联规则的频繁程度。

注意置信度的分母是 ,因此这个评价可能会存在一定的问题。

关联分析的核心目标就是找出支持度大于等于某个阈值, 同时 置信度大于等于某个阈值的所有规则,这两个阈值记为 和 。

为了更有效率的完成这个过程,通常把关联规则算法分为两步:

可以看出来,首先要求得频繁项集,这步骤的开销很大,但是只需要考虑支持度就可以了,第二步只考虑置信度就可以了。

下面就可以分两步来解析算法:

首先我们可以把项集联想成一个树形结构,每层代表着不同的k-项集,依层递增,非叶子节点来自于他的几个父节点的并集,如图:

我们肯定不能通过传统的方式,遍历这些节点,算出支持度,然后筛选掉不满足最小支持度的那些,这样开销太大,因此我们引入先验原理,来辅助剪枝。

这个原理不难想象,假如一个项集{a,b}是非频繁项集,那么{a,b,c}肯定也是,因为ab是,在{a,b,c}中与之关联的c必须在ab出现之后才存在,因此他的支持度肯定不会大于{a,b}。

频繁的就是支持度大于等于最小支持度的项集,非频繁就是小于的。

我们可以利用这一定理,把非频繁项集的超集一并从树中减去,这样就能大大的降低计算次数,如图:

虚线圈上的,就是在{a,b}确定是非频繁项集之后,剪掉的超集,这些是不用计算的。

根据这个原理,可以说一下Apriori算法。

根据上面说的先验原理,Apriori算法先从项集宽度最低的1开始,遍历所有的项集支持度,找出频繁项集(因为第一层在找出支持度之前),之后根据先验原理,挑选任意两个频繁项集组成2-频繁项集(很简单,如果挑非频繁的,那组成的项集就不是频繁项集了),再用2-项集挑选3-项集,直到挑选不出更高层次的项集为止,把这些项集作为 候选项集 ,如图:

图中1-项集中,啤酒,面包,尿布,牛奶的支持度大于等于3(设 为3),则由他们组成2-项集,继续筛选满足支持度不小于3的项集,再由2-项集生成3-项集,这就是 Apriori 算法筛选频繁项集的基本步骤。总结如下:

上面提到了用k-1项集生成k-项集,那么如何才能最有效率的产生k-项集呢,这里用了 的方法,也就是找到一对(k-1)-项集,当他们的前(k-2)项都相同时,进行合并,合并之后的结果就是{ },因为前k-2项是相同的。
举个例子:

上面说了如何产生候选项集,接下来就是如何更有效率的确定支持度计数了,同样,如果遍历一个一个查的话效率是很低的,我们可以用枚举的方法遍历每个事务包含的项集,以查找3-项集为例,如图:

因为我们要查3-项集,因此树状结构就分到3-项集为止。
因为3-项集的开头第一个项肯定在1,2,3之间,我们就设定这三个数为三个分支,无论到哪个节点,都严格按照这个来分(1在左,2在中,3在右),在下面的层次中如何碰到比123更大的,则再向右分,就可以得到图中的关于事务t的所有3-项集。

有了所有项集的列表,我们可以用候选项集去匹配这些项集,从而看t中是否包含候选项集,如果包含,则支持度+1。

可以使用Hash树来进行匹配,从而实现支持度计数。
如下图,就是一个Hash树的例子,每个内部节点都使用Hash函数 来确定应当沿着当前节点的哪个分支向下,所以1,4,7就到了同一分支。

我们对于单个事务,可以遍历Hash树,设事务为t,则保证所有包含属于事务t的候选3-项集的叶节点至少访问一次。

由于我们之前已经通过树的方式枚举出了t中所有的3-项集,那么我们跟这个Hash一走分支,找到对应3-项集的就+1支持度,即可算出每个候选项集的支持度。

提取规则相应的比较简单,设有 频繁项集Y ,我们忽略前件为空和后件为空的规则,每个频繁项集能产生 个关联规则,提取方法就是将Y划分为两个 非空 的子集X和Y-X,使得 满足 置信度阈值 也就是最小置信度。

同样的,提取规则也有一个原理:

参考频繁项集的寻找过程,我们可以利用树形结构对规则进行剪枝。
树的每层对应规则后件中的项数,如图:

假设规则{ } { }不满足置信度阈值的要求,那么可以丢弃后件包含{a}的所有规则,如上图所示。

至此我们经历了寻找频繁项集和提取规则的过程,基本Apriori算法就算完成了,不过还有一些需要考虑的细节。

在实际应用过程中,往往频繁项集产生的数量可能很大,所以很难表示,我们需要寻找一种方法,找到一些有代表性的频繁项集,以保证其描述性。

通常有如下两种方法:

如图:

这种表示很明显降低了需要表示项集的个数,我们需要别的候选项集,直接取极大频繁项集的子集就行,任意一个肯定都是。

但是这么做,表示不出他们子集的支持度,所以就需要再遍历数据集,确定非极大频繁项集的支持度,不是很方便。

所以我们还可以用闭频繁项集来表示。

先来看闭项集的概念:

那么闭频繁项集的概念就很好理解了:

如图,我们假设 是40%。

这种做法可以保证支持度和描述性。

之前举的例子都是二元分类的,要么1要么0,下面看多分类的,我们很容易想到可以用独热编码解决这个问题,把所有分类二元化,但是这样就存在一个问题,有的属性值可能会不够频繁,没办法成为频繁项集。
所以最好是把多分类的项根据实际情况进行分类化,不要针对每个属性都设置独热编码。

或者将不太频繁的属性值合并为一个称作其他的类别。

所以面对多分类属性,我们要做的就是:
独热编码二元化-针对这些值进行一定的合并,或者分类或者并为其他 - 删除冗余的项 - 避免包含多个来自同一属性的项的候选集(例如{ },被写到了一个候选集中,但是实际上这种情况不可能发生,由于独热编码进行的二元化而产生了这种情况,需要避免。)

我们也会遇到一些连续属性,可以通过以下几种方式处理:

这种做法有一个问题就是分类的效果取决于区间的个数和跨度,如果取不好很难得到理想的结果。

如果要验证统计出的值是否具有统计意义,可以参考假设检验中针对不同比较的不同公式,这里不再举例。

把mini-Apriori算法中的支持度代入到Apriori算法的支持度中即可。

举个例子:

想要衡量模型的好与坏,肯定要有一个评估指标,我们可以根据业务实际去评价,这是主管评价,叫做 主观兴趣度度量 ,这个显然要结合业务,所以我们要看看一些客观指标。

指标的评价往往依赖于相依表,这个相依表有点类似于混淆矩阵:

其中A,B代表在事务中出现,!A,!B代表没有在事务中出现,空列空行例如 代表A的支持度计数, 表示包含B但是不包含A的事务的个数。

最基本的就是置信度和支持度了,但是这两种指标都很难做到客观评价模型,会受到多种因素的影响。

我们可以用 兴趣因子 来衡量模型:
首先我们引入 提升度 的概念,它用于计算规则置信度和 规则后件 中项集的支持度之间的比率,

对于二元变量,提升度等价于另一种称作兴趣因子的客观度量,定义为:
其中N是事务个数。
如果

但是兴趣因子有一定局限性,看上图,{p,q}和{r,s}的兴趣因子分别为102和408,虽然p和q同时出现在88%的文档中,但是他们的兴趣因子接近于1,表明他们相互独立,另一方面,{r,s}的兴趣因子闭{p,q}的高,但是r和s很少出现在一个文档中,这种情况下,置信度要比兴趣因子更可信,置信度表明p和q之间的联系946%远高于r和s之间。

另外还可以引入 相关系数 ,逻辑类似于向量的相关系数:

相关度的值从-1到1,如果变量相互独立,则Φ=0。

他的局限性在于在食物中把同时出现和同时不出现视为同等重要,这往往不符合实际规律,同时对于倾斜的变量很难度量。

IS度量 可以用于处理非对称二元变量,定义如下:
IS数学上等价于二元变量的余弦度量。
但是IS取决于A和B的支持度,所以存在与置信度度量类似的问题——即使是不相关或者负相关的模式,度量值也可能相当大。

支持度,全置信度,可以应用于较大的项集,兴趣因子,IS、PS、Jaccard系数等使用多维相依表中的频率,可以扩展到多个变量。

针对大多数项具有较低或中等的频率,但是少数项具有很高频率的数据集。

交叉支持模式是一个项集 ,他的支持度比率是:
小于用户指定的阈值 。

需要保证全置信度小于上面的支持度比率,而全置信度是:
其中

全置信度能够确保项集中的项之间是强关联的,例如,假定一个项集X的全置信度是80%,如果X中的一个项出现在某个事物中,则X中其他的项至少也有80%的几率属于同一个事务,这种强关联模式又称 超团模式

OLAP的核心是"维", 可以说是多维分析, 它是让分析人员从不同的角度, 不同的粒度查看数据仓库中的数据, 所以他的实质是查询数据, 但是这个查询也是有技巧的, 需要理解业务, 理解业务之后,提出相应的假设, 然后通过特定维度的数据来验证假设是否正确, 所以OLAP是分析思路是从假设到验证,方法是查询数据, OLAP里的模型是指多维数据模型, 通过哪些维度的数据来描述分析对象, OLAP的建模是指选择哪些维度。

而数据挖掘主要不是查询, 而是做更多的计算, 例如分类,回归是拟合计算, 找到标签与其他特征的规律, 形成模型, 数据挖掘算法会有很多迭代计算, 比OLAP的计算要复杂很多, 另外, 数据挖掘做的更多的是探索式的分析, 分析前是没有假设的 所以数据挖掘往往能发现一些人为经验忽略的因素。


数据分析是指用适当的统计方法对收集来的大量第一手资料和第二手资料进行分析,以求最大化地开发数据资料的功能,发挥数据的作用。是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
广义的数据分析,应当是包含数据挖掘和统计的。数据挖掘是面对海量数据时的有效工具,而数据统计是为分析过程提供可靠模型和结果检验的 有效工具。这两个工具可以用在数据分析中,但不只用在数据分析中。数据分析就是数据到有效信息的过程。


数据统计。专注于建模及统计分析,通过概率、统计、离散等数学知识建立合理模型,充分发掘数据内容。例如用回归分析,充分利用网站历史数据,进行评估、预测、反向预测、发掘因素。利用贝叶斯方法建立模型来进行机器学习、聚类、垃圾邮件过滤等。常用工具如:SAS,R,SPSS。

数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。

数据挖掘是指通过大量数据集进行分类的自动化过程,以通过数据分析来识别趋势和模式,建立关系来解决业务问题。换句话说,数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的,但又是潜在有用的信息和知识的过程。

数据挖掘的作用体现在数据挖掘的定义上,作用就是从大量的数据中搜索出隐藏于其中有用的信息。

扩展资料:


数据挖掘分析方法:

数据挖掘分为有指导的数据挖掘和无指导的数据挖掘。有指导的数据挖掘是利用可用的数据建立一个模型,这个模型是对一个特定属性的描述。无指导的数据挖掘是在所有的属性中寻找某种关系。具体而言,分类、估值和预测属于有指导的数据挖掘;关联规则和聚类属于无指导的数据挖掘。

1、分类,它首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘技术,建立一个分类模型,再将该模型用于对没有分类的数据进行分类。

2、估值,估值与分类类似,但估值最终的输出结果是连续型的数值,估值的量并非预先确定。估值可以作为分类的准备工作。

3、预测,它是通过分类或估值来进行,通过分类或估值的训练得出一个模型,如果对于检验样本组而言该模型具有较高的准确率,可将该模型用于对新样本的未知变量进行预测。

4、相关性分组或关联规则。其目的是发现哪些事情总是一起发生。

5、聚类,它是自动寻找并建立分组规则的方法,它通过判断样本之间的相似性,把相似样本划分在一个簇中。

参考资料来源:百度百科-数据挖掘


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/10774599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存