SQL Server 2008中使用数据挖掘模型(二)

日期: 2009-02-08 来源:TechTarget中国 英文

  批预测查询

  执行预测联接时,应将模型映射到新数据源,之后Analysis Services将基于模型中的模式针对新数据中的每一行进行预测。如果表或其他外部数据源中有许多信息,并且您要使用经过定型的模型来进行预测,则预测联接很有用。

  可以通过以下方式基于现有模型创建批预测查询:

  • 使用数据挖掘设计器。
  • 使用模板。
  • 以编程方式或者在另一个Analysis Services客户端中创建DMX语句。

   如果通过使用数据挖掘设计器来创建批预测查询,则必须先将外部数据源定义为一个数据源视图。

   如果使用DMX来创建预测联接,则可以通过使用OPENQUERY、OPENROWSET或SHAPE命令来指定外部数据源。DMX模板中的默认数据访问方法是OPENQUERY。有关这些方法的信息,请参阅<source data query>。

   无论您如何定义外部数据,指定的数据源都必须包含其数据与模型中的数据类似的列。但是,新的信息可以是不完整的。例如,您的客户列表可能包含年龄列,但不包含有关收入的信息。即使在为模型定型时使用了收入数据,仍可以将新数据映射到该模型并创建一个预测;但是,在某些情况下,缺少完整的信息可能会影响预测的质量。

   为获得最佳结果,应当在新数据与模型之间联接尽可能多的匹配列。但是,即使没有匹配项,查询也会成功。如果不联接任何列,则查询将返回边缘预测,这与不含PREDICTION JOIN子句的语句SELECT <predictable-column> FROM <model>是等效的。

   处理预测查询的结果

   预测查询与关系数据库中的查询不同。您添加到查询中的每个预测函数都返回它自己的行集。因此,当您针对一个事例进行预测时,结果可能是一个预测的值,以及包含其他详细信息的几个嵌套表列。

   只要在一个查询中组合多个函数,返回结果都将组合为一个分层行集。但是,如果提供程序无法处理分层的行集,则可以通过在预测查询中使用FLATTEN关键字来对结果进行平展处理。

   时序挖掘模型中的预测

   在使用新数据和创建预测的方法这一方面,时序模型具有更高的灵活性。您既可以在需要创建预测时使用此模型,也可以向模型提供新数据,以基于最近的趋势更新预测。如果您添加新数据,则可以指定新数据的使用方式,以扩展或更换模型事例。

   扩展模型事例时,应向时序模型添加新的事实数据,从而使进一步的预测基于新的组合序列。更换模型事例时,应保留定型后的模型,但将基础事例更换为新的一组事例数据。

   无论您使用那种方法,预测的起点都总是原始序列的终点。

   例如,假定您有一个现有的时序模型,它的上一年销售数据已定型。收集了几个月的新销售数据后,您决定更新今年的销售预测。您可以添加新数据并扩展模型以进行新预测,从而创建更新模型的预测联接。

   或者,可以基于现有数据生成模型,然后创建将事例数据更换为新数据的预测联接。这在某些情况下是很有用的,例如,当一个存储缺少很多数据,并且您希望使用基于其他存储数据生成的模型来进行预测时。有关如何在时序模型上创建预测联接的详细信息,请参阅“查询时序模型”或PredictTimeSeries (DMX)。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐