【IT专家网独家稿件】在SQL Server 2008数据库中,对这商务智能方面的功能做了很大的优化。笔者结合相关的案例来谈谈这些优化,希望对各位数据库工程师有所帮助。
优化一:支持多个挖掘模型的交叉验证。
在数据挖掘中有一个基础两个核心。基础就是数据,而核心则是挖掘模型与数据挖掘算法。在商务智能中,只有通过这三方面的共同作用,才能够得出正确的结果。在以前的版本中,由于采用的挖掘模型不同,最后产生的结果会相差很大,有时候甚至风马牛不相及。如在SQL Server 数据中,提供了聚类分析模型、决策树模型、逻辑回归模型、顺序分析和聚类分析模型等等数据挖掘模型。即使这些模型采用的数据与计算方法相同,最后得出的结果很有可能都是不同的。为了提高数据挖掘的准确性,在2008中对此进行了优化。主要是提供了多个数据挖掘模型交叉验证的方法,来提高结果与决策的准确性。
多个数据挖掘模型之间的交叉验证是用于评估数据挖掘模型准确性的常用方法之一。在这交叉验证中,数据库工程师可以将挖掘结果分为若干个子集。然后利用这些子集的数据生成对应的子集模型。最后通过衡量每个分区的模型的准确性来判断某个数据挖掘模型是否准确。通过对最后返回的统计信息的分析,可以判断这个挖掘模型的可靠程度,或者说用户所采用的数据挖掘模型是否适用。而且在交叉验证中,用户还可以选择几个相同结构的模型进行对比,以发现相同结构不同模型之间结果的差异。有时候最终的结果可能没有多大的价值,但是中间的分析过程或者结果之间的差异往往会给企业带来意外的收获。如在实际工作中,可以查找差异的原因,从而找到影响某个结果或者决策的关键因素。
在SQL Server 2008数据库版本中,用户可以在两个地方调用这个交叉验证。一是在数据挖掘设计器向导中,可以在“挖掘准确性图表”视图中调用交叉验证;二是通过数据分析存储过程来对挖掘结构分区,调用交叉验证。最后数据库可以根据用户的需要,生成相关的交叉验证报表。在这个报表中,会反映各种可能性以及对应的均方根误差。如果采用聚合模型的话,还会有聚合模型的所有度量值的平均偏差和标准偏差等相关的统计信息。
不过这里需要注意的是,即使采用再复杂的交叉验证模型,也不能够保证最后结构与事实相符。这也是到目前为止商务智能的一个局限性。最后通过数据挖掘所得到的结果,还是要跟用户的相关工作经验进行结合进行判断、甄别决策的准确性。