什么是数据挖掘?
数据挖掘是商务智能应用中较高层次的一项技术,而商务智能中还包括数据仓库、ETL、联机分析、商业报表等多项技术。数据挖掘在商务智能应用中提供 的是一种自动化或半自动化的数据分析手段,利用数据挖掘用户将可以更加方便地发现数据的模式(其实就是用户关心的业务模式),用户还可以利用这些模式对某 些符合特征的数据作出预测。
那么数据挖掘究竟是怎么做到上面这些貌似神奇的事情的呢?现在主流的数据挖掘技术有两种,其中之一来源于我们每一个人可能都学习过的一门学科——统 计学,例如聚类、关联规则、时间序列等,而另外一种则来源于我们每一个人都听说过的一门学科——机器学习(俗称人工智能),例如神经元网络、遗传算法等。
数据挖掘能干什么?
- 分类 分类可以把大量数据(在数据挖掘中也称为事例CASE)分成多个类别,而分类的依据就是这些事例中的属性。
- 聚类 分类有一个同胞兄弟就是聚类,聚类相对分类更加自动,聚类也将大量实例分成多个类别,不过这次是根据属 性值的相似程度自动汇聚成不同的类别。通常把分类成为有监督的算法,而聚类则被称为无监督的算法,主要原因就是分类在执行前就已经有了明确的类别,而聚类 在分析前还不知道有多少分类,而是通过不断的迭代使得各分类之间的边界更加清晰,然后再分析这些分类之间的差别,因此聚类也成为无监督的算法。
- 关联 关联是找到事例中出现频率较高的组合规则。
- 序列 提到关联,另外一个同胞兄弟就是序列。序列也是发现组合规律的,不过关联中所提到的规律不涉及到先后次序,而序列则是有先后次序的。
- 回归 对连续的结果值(不依靠人为分段Discretize)进行预测的算法归为回归。
SQL Server 2008 中的数据挖掘算法
1.决策树算法
决策树,又称判定树,是一种类似二叉树或多叉树的树结构。决策树是用样本的属性作为结点,用属性的取值作为分支,也就是类似流程图的过程,其中每个 内部节点表示在一个属性上的测试,每个分支代表一个测试输出,而每个树叶节点代表类或类分布。它对大量样本的属性进行分析和归纳。根结点是所有样本中信息 量最大的属性,中间结点是以该结点为根的子树所包含的样本子集中信息量最大的属性,决策树的叶结点是样本的类别值。
从树的根结点出发,将测试条件用于检验记录,根据测试结果选择适当的分支,沿着该分支或者达到另一个内部结点,使用新的测试条件或者达到一个叶结 点,叶结点的类称号就被赋值给该检验记录。决策树的每个分支要么是一个新的决策节点,要么是树的结尾,称为叶子。在沿着决策树从上到下遍历的过程中,在每 个节点都会遇到一个问题,对每个节点上问题的不同回答导致不同的分支,最后会到达一个叶子节点。这个过程就是利用决策树进行分类的过程。决策树算法能从一 个或多个的预测变量中,针对类别因变量,预测出个例的趋势变化关系。
在SQL Server 2008中,我们可以通过挖掘模型查看器来查看决策树模型。如图1所示。
在图1中,我们可以看到决策树显示由一系列拆分组成,最重要的拆分由算法确定,位于“全部”节点中查看器的左侧。其他拆分出现在右侧。依赖关系网络显示了模型中的输入属性和可预测属性之间的依赖关系。并能通过滑块来筛选依赖关系强度。
2.聚类分析算法
聚类分析算法就是衡量个体间的相似度,是依据个体的数据点在几何空间的距离来判断的,距离越近,就越相似,就越容易归为一类。在最初定义分类后,算 法将通过计算确定分类表示点分组情况的适合程度,然后尝试重新定义这些分组以创建可以更好地表示数据的分类。该算法将循环执行此过程,直到它不能再通过重 新定义分类来改进结果为止。简单得说,聚类就是将数据对象的集合分组成为由类似的对象组成的多个类的过程。聚类用在商务方面的客户分析中,可以从客户库中 发现不同的客户群,并分析不同客户群的行为模式。
在SQL Server 2008中,我们可以通过挖掘模型查看器来查看聚类分析模型。如图2所示。
在图2中,分类关系图表现个类间关联性的强弱。分类剖面图了解因变量与自变量的关联性强弱程度。分类特征主要呈现每一类的特性。分类对比主要呈现出两类间特性的比较。
3.Naive Bayes 算法
Naive Bayes 算法是 Microsoft SQL Server Analysis Services 提供的一种分类算法,用于预测性建模。Naive Bayes算法使用贝叶斯定理,假定一个属性值对给定类的影响独立于其他属性的值。与其他算法相比,该算法所需的运算量小,因而能够快速生成挖掘模型,以 发现输入列和可预测列之间的关系。可以使用该算法进行初始数据探测,在用于大型数据库时,该算法也表现出了高准确率与高速度,能与决策树和神经网络相媲 美。
算法采用监督式的学习方式,在分类之前,需要事先知道分类的类型。通过对训练样本的学习,来有效得进行分类。就是通过训练样本中的属性关系,产生训练样本的中心概念,用这些已经产生的中心概念,对未分类的数据对象进行预测。
在SQL Server 2008中,我们可以通过挖掘模型查看器来查看Naive Bayes模型。如图3所示。
在图3中,依赖关系网络可以对数据的分布进一步了解。属性配置文件可以了解每个变量的特性分布情况。属性特征可以看出不同群分类的基本特性概率。属性对比就是呈现属性之间的特性对比。
4.关联规则算法
关联算法规则是要发现数据库中变量和个体之间关系程度,也就是要发现大量数据中项集之间有趣的关联或相关联系。例如,在关联规则挖掘中,典型的例子 就是购物篮分析,该分析过程就是通过分析顾客所购买的不同商品之间的联系,来挖掘顾客的购买习惯,并帮助销售商制定营销策略。关联规则算法中有两个重要的 参数支持度和置信度。支持度就是指X项集和Y项集中,同时发生X,Y事件的概率。置信度就是指X项集和Y项集中,X事件发生的概率下,Y事件发生的概率。
在SQL Server 2008中,我们可以通过挖掘模型查看器来查看关联规则模型。如图4所示
在图4中,规则可以查看算法中产生的关联规则,我们可以通过此来了解关联规则内容以及其支持度和置信度。项集可以查看算法中产生的对象组,我们可以通过此来了解各个对象组内容及其支持。依赖关系网络可以呈现产品间的相关性,并通过图形了解产品间的相关性。
5.顺序分析和聚类分析算法
顺序分析和聚类分析算法是由 Microsoft SQL Server Analysis Services 提供的一种顺序分析算法。可以使用该算法来研究包含可通过下面的路径或顺序链接到的事件的数据。该算法通过对相同的顺序进行分组或分类来查找最常见的顺序。
在SQL Server 2008中,我们可以通过挖掘模型查看器来查看顺序分析模型。如图5所示
在图5中分类关系图可以显示挖掘模型中的所有分类,分类之间连线的明暗程度表示分类的相似程度。通过调整分类右侧的滑块,可以调整显示的连线数。分 类剖面图提供算法创建的分类的总体视图,显示了分类中的每个属性以及属性的分布。分类特征可以检查分类的组成特征。分类对比可以比较两个分类的属性。状态 转换可以在选中一个分类后,可在选中的分类中浏览序列状态之间的转换。
6.时序算法
时序算法提供了一些针对连续值预测进行了优化的回归算法,并将时间序列分解成主要趋势成分,季节变化成分,并检验理论模型是否能反应现象。
在SQL Server 2008中,我们可以通过挖掘模型查看器来查看时序模型。如图6所示
在图6中,图表栏显示预测变量个产品过去值以及预测值,以及误差区间。模型将算法以完成的模型显示为树。
7.神经网络算法
神经网络是一组连接的输入输出单元,其中每一个连接都与一个权相连接。在训练学习阶段,通过调整训练网络的权,使得能够预测输入样本的正确类标号。 神经网络算法创建由多至三层神经元组成的网络。这些层分别是输入层、可选隐藏层和输出层。输入层:输入神经元定义数据挖掘模型的所有输入属性值及其概率。 隐藏神经元接收来自输入神经元的输入,并向输出神经元提供输出。隐藏层是向各种输入概率分配权重的位置。权重说明某一特定输入对于隐藏神经元的相关性或重 要性。输入所分配的权重越大,则输入的值越重要。输出神经元代表数据挖掘模型的可预测属性值。
在SQL Server 2008中,我们可以通过挖掘模型查看器来查看神经网络模型。输入选择神经网络模型将用作输入的属性和属性值。输出指定使用输出的神经网络的属性。变量指 定属性右侧的条表示指定输入属性状态所倾向的输出属性状态。 条的大小则表示输出状态倾向于输入状态的程度。
8.逻辑回归算法
逻辑回归是根据输入域值对记录进行分类的统计方法,通过建立一组方程,把输入域值与输出字段每一类的概率联系起来。模型在分析二分类或有序因变量与 解释变量的关系,用自变量去预测因变量在给定某个值的概率。一旦生成模型,便可用于估计新的数据的概率。概率最大的目标类被指定为该记录的预测输出值。逻 辑回归算法是神经网络算法的一种变体,用于确定多个因素对一对结果的影响。通过对输入和输出之间的关系进行建模。来测量每个输入对输出的影响,并权衡不同 输入在完成的模型中的作用。
9.线性回归算法
线形回归算法是一种常用的用于统计并作出预测的方法,使决策树算法的一种变体,有助于计算依赖变量和独立变量之间的线性关系,根据输入字段估计预测 输出字段的最佳线形方程,然后使用该关系进行预测。使用线性回归确定两个连续列之间的关系,代表一条直线或者平面,以评估数据列之间的关系。