什么是数据挖掘?它和传统的商业智能有什么区别?数据挖掘是从一个数据集提取隐藏知识来帮助你制定决策的过程通过隐藏的知识基于一个模型通过对其他上千个客户的总结来预测一个客户可能会购买哪个产品或者客户的哪些属性最能影响他们的购买模式?思考统计可能性集群相关性和代替趋势和总结的预测
一般查询和报表OLAP或其他分析工具能够很好地获得你想制定的一类决策的细节我们可以定义公制和维度并向下钻取和报表以及状态面板因为我们通常知道我们需要什么我们只是不知道涉及的产品地区和客户一个用户可能知道怎样定义一个好的客户是怎样的以及商业智能系统可以开发这个规则来显示谁是最好的客户但是一个新客户是怎样的呢——他们是好客户还是差客户?你能使他们变得更好吗?
因为不同之处不多那这两个可以一起使用吗?答案是绝对的而这是Oracle与其它相比所提供的独特能力
基于Oracle的将功能扩展进数据库引擎中去的理念ODM包括在Oracle R数据库引擎中在数据库中的独特架构和可以通过PL/SQL或Java APIs来访问使得其它所有功能可以放置到Oracle平台来使用——例如并行索引物化视图安全性高可用性等等这么做的其它主要好处是它可以节省数据转移到数据库之外到一个数据挖掘工具例如SAS——在许多情形下花费的大量时间
数据挖掘过程比传统的商业智能要复杂得多有了数据挖掘你的第一个目标是建立一个模型它是这个软件从一个你首先要清理的示例数据集创建出来的这个模型(你可以把它想成可以在一个记录上调用的高级功能)然后可以部署到一个单独记录或一整个数据集上
使用一个单独记录在前沿应用程序中是很有用的在这里可以进行实时计分就可以预测概率或结果这里最常用的例子是在一个呼叫中心环境中的是基于打进来的电话和客户一个预测就是对于这个客户最可能的响应是什么(如果这听起来很像Oracle实时决策(RTD通过Siebel通过Sigma Dynamics来获得)那么你是对的在这类商业智能工具中Oracle计划销售两个产品这两个产品在功能方面有些交迭)这个场景中记录是实时记录的没有很好的批处理而这是典型商业智能系统(OBI EE)能做到的尽管数据挖掘功能可以从SQL直接访问到但是目前的OBI EE不能生成这些SQL扩展当然你可以通过使用不透明视图(Opaque View)或数据库视图并简单匹配一个字段来做到这个是你不想做的但是在一些极个别情况中可以使用
第二个方式是对整个记录集计分的能力——在晚上或每周的ETL加载中执行一个UPDATE语句设置一个字段为由数据挖掘模型计算出来的一个值在这种情况下这个结果就是简单的一个表中的一个字段这样我们任何普通的技术都可以应用到这个字段上——它可以是可用于过滤或活动分区的空间属性或者它可以用作公制例如Avg期望值使用它真的很有用令人兴奋的是将一个经验丰富的预测模型的结果集成到一个规则商业智能状态面板中去的可能性与OBI EE在一个大型组织中分享高质量信息的期望一致你现在可以比使用传统数据挖掘系统更广阔地利用你的数据挖掘的结果