技术开发 频道

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

  【IT168 技术文档】为一个数据挖掘模型定型后,可以通过使用 SQL Server Management Studio 或 Business Intelligence Development Studio 中提供的自定义查看器来浏览此模型。但是,如果您希望进行预测或者从模型中获取更深入的或更具体的信息,则必须依据此数据挖掘模型创建一个查询。在以下情况下,查询可帮助您更好地理解和处理模型中的信息:

  进行单个预测和批预测。

  了解有关模型发现的模式的更多信息。

  查看有关模型的特定模式或子集的详细信息或定型事例。

  在挖掘模型中钻取到事例的详细信息。

  提取有关全部或部分模型和数据的公式、规则或统计信息。

  SQL Server Analysis Services 提供用于创建查询的图形设计界面,以及一种称为数据挖掘扩展插件 (DMX) 的查询语言,这种语言对于创建自定义预测和复杂查询很有用。若要生成 DMX 预测查询,可以使用 SQL Server Management Studio 和 Business Intelligence Development Studio 中均提供的查询生成器。SQL Server Management Studio 中还提供了一组 DMX 查询模板。

  有关如何使用查询生成器的详细信息,请参阅使用预测查询生成器创建 DMX 预测查询。

  有关如何使用 DMX 查询模板的详细信息,请参阅在 SQL Server Management Studio 中创建 DMX 查询或如何在 SQL Server Management Studio 中使用模板。

  预测查询

  许多数据挖掘项目的主要目标是使用挖掘模型来进行预测。例如,您可能要在十二月期间预测公司明年销售的产品数量,或者可能要预测在某个广告活动后潜在客户是否会购买产品。

  创建预测时,通常会提供一些新数据,并要求模型基于新数据生成一个预测。可以通过在“预测联接”中将模型映射到一个外部数据源来以批方式进行预测。或者,可以通过创建一个“单独”查询一次提供一个值。

  单独预测查询和批预测查询都使用 PREDICTION JOIN 语法来定义新数据:不同之处在于预测联接输入端的指定方式。在单独查询中,数据是作为查询的一部分内联提供的。在批查询中,数据来自使用 OPENQUERY 语法指定的外部数据源。有关详细信息,请参阅 OPENQUERY (DMX)。

  此外,使用时序模型可以仅仅基于模型来进行预测,即不需要提供任何新数据,而仅仅基于现有序列来请求预测。

  下面提供有关如何创建上述每一类查询的信息:

  查询类型  查询选项 
  单独预测查询
  针对在查询中键入的单个新事例或者多个新事例进行预测。
 
  批预测
  将外部数据源中的新事例映射到模型并进行预测。
 
  时序预测
  基于现有模型预测指定数目的将来步骤。

  通过添加新数据来扩展现有模型,并基于组合序列来进行预测。

  通过使用 REPLACE_MODEL_CASES 选项向新数据序列应用现有模型。
 
  除了预测特定值,例如,下个月的销售额,或者要向客户建议的产品,您还可以自定义预测查询,以返回与预测有关的各种类型的信息。例如,知道预测正确的概率可能很有帮助,这样您就可以决定是否向用户提出建议。

  若要自定义预测查询所返回的信息,应向查询中添加“预测函数”。每个模型或查询类型都支持特定的函数。例如,聚类分析模型支持特殊预测函数,这些函数提供有关模型创建的分组的额外详细信息。时序模型支持计算随时间的变化的预测函数。还有可处理几乎所有模型类型的通用预测函数。有关不同查询类型支持的预测函数的列表,请参阅将函数映射到查询类型 (DMX)。有关预测函数的完整列表,请参阅数据挖掘扩展插件 (DMX) 函数参考。

  单独查询
  如果要实时创建简单预测,则单独查询很有用。例如,您可能通过使用网站从客户那里获取信息,然后使用这些数据返回预测,这些预测以特定于该客户的建议信息的形式呈现。或者,您也可能分析电子邮件的内容,然后使用现有分类模型来对电子邮件进行分类,并相应地传送邮件。

  单独查询不需要包含输入的单独表。只需将一行数据传递给模型,便会实时地返回一个预测。您还可以将单独查询扩展为进行多个预测,方法是键入包含单个事例的 SELECT 语句,再添加 UNION 运算符,然后键入另一个 SELECT 语句以指定另一个事例。

  可以通过以下方式基于现有模型创建单独查询:

  使用数据挖掘设计器。

  使用单独查询模板。

  以编程方式或者在另一个 Analysis Services 客户端中创建 DMX 语句。

  创建单独查询时,必须以 PREDICTION JOIN 的形式向模型提供新数据。这意味着即使不映射到实际表,也必须确保新数据与挖掘模型中的现有列匹配。如果新数据列与新数据完全匹配,则 Analysis Services 将自动映射列。这称为“NATURAL PREDICTION JOIN”。但是,如果列不匹配,或者新数据在类型和量上与模型所包含的数据并不相同,则必须指定模型映射中的哪些列映射到新数据,或者指定缺少的值。

0
相关文章