Microsoft关联算法

Microsoft关联算法是由 Analysis Services 提供的关联算法,对于建议引擎很有用。 建议引擎根据已购买的项目或已指示兴趣的项目向客户推荐产品。 Microsoft关联算法是一种有用的购物篮分析工具。 有关市场篮分析的示例,请参阅数据 挖掘教程中的第 3 课:构建市场篮方案(中间数据挖掘教程 )。

关联模型基于数据集构建,其中包含各个事例的标识符和事例包含的项的标识符。 事例中的一组项称为 项集。 关联模型由一系列项集和规则组成,这些规则描述这些项如何在事例中组合在一起。 算法标识的规则可用于根据客户购物车中已存在的项预测客户可能的未来购买。 下图显示了项集中的一系列规则。

关联模型的一组规则

如图所示,Microsoft关联算法可能会在数据集中找到许多规则。 该算法使用两个参数(支持和概率)来描述它生成的项集和规则。 例如,如果 X 和 Y 表示购物车中的两个项目,则支持参数是数据集中包含项目组合的事例数,X 和 Y。通过使用支持参数与用户定义的参数( MINIMUM_SUPPORT 和MAXIMUM_SUPPORT)结合使用 算法控制生成的项集数。 概率参数(也称为 置信度)表示包含 X 且还包含 Y 的数据集中事例的分数。通过使用概率参数与 MINIMUM_PROBABILITY 参数结合使用,算法控制生成的规则数。

示例:

Adventure Works Cycle 公司正在重新设计其网站的功能。 重新设计的目标是增加产品的销售。 因为公司在交易数据库中记录每一次销售,所以他们可以使用 Microsoft 关联算法来识别经常一起购买的产品组合。 然后,他们可以根据客户购物篮中已有的项目预测客户可能感兴趣的其他项目。

算法的工作原理

Microsoft关联算法遍历数据集以查找在事例中一起出现的项。 然后,该算法会将满足MINIMUM_SUPPORT参数所指定的最小支持度的任何关联项分组成项集。 例如,项目集可以是“Mountain 200=Existing, Sport 100=Existing”,并且可能支持 710。 然后,该算法从项集生成规则。 这些规则用于根据算法标识为重要项的其他特定项的存在来预测数据库中是否存在项。 例如,规则可以是“如果 Touring 1000=存在 和 Road bottle cage=存在,则水瓶=存在”,并且其概率可能为 0.812。 在这个例子中,该算法是通过识别购物篮中有 Touring 1000 轮胎和水瓶笼来预测水瓶也可能出现在篮子中。

有关算法的更详细说明,以及用于自定义算法行为并在挖掘模型中控制结果的参数列表,请参阅 Microsoft关联算法技术参考

关联模型所需的数据

准备要在关联规则模型中使用的数据时,应了解特定算法的要求,包括需要多少数据以及如何使用数据。

关联规则模型的要求如下:

  • 单个键列 每个模型必须包含一个唯一标识每个记录的数字或文本列。 不允许复合键。

  • 单个可预测列 关联模型只能有一个可预测列。 通常,它是嵌套表的键列,例如列出已购买产品的字段。 这些值必须是离散的或离散化的。

  • 输入列 。 输入列必须是离散的。 关联模型的输入数据通常包含在两个表中。 例如,一个表可能包含客户信息,而另一个表包含客户购买。 可以使用嵌套表将此数据输入到模型中。 有关嵌套表的详细信息,请参阅嵌套表(Analysis Services - 数据挖掘)。

有关关联模型支持的内容类型和数据类型的更多详细信息,请参阅 Microsoft关联算法技术参考的“要求”部分。

查看关联模型

若要浏览模型,可以使用 Microsoft关联查看器。 查看关联模型时,Analysis Services 会从不同的角度呈现相关性,以便更好地了解数据中找到的关系和规则。 查看器中的 “项集 ”窗格提供最常见的组合或项集的详细细分。 “ 规则 ”窗格显示已从数据通用化的规则列表,添加概率计算,并按相对重要性对规则进行排名。 通过依赖项网络查看器,你可以直观地了解各个不同项的连接方式。 有关详细信息,请参阅 使用Microsoft群集查看器浏览模型

若要了解有关任何项集和规则的更多详细信息,可以在 Microsoft泛型内容树查看器中浏览模型。 为模型存储的内容包括对每个项集的支持、每个规则的分数和其他统计信息。 有关详细信息,请参阅关联模型的挖掘模型内容(Analysis Services - 数据挖掘)。

创建预测

处理模型后,可以使用规则和项集进行预测。 在关联模型中,预测会告诉你,给定指定项的存在时,可能出现的项目是什么,预测可以包括概率、支持度或重要性等信息。 有关如何针对关联模型创建查询的示例,请参阅 关联模型查询示例

有关如何针对数据挖掘模型创建查询的常规信息,请参阅 数据挖掘查询

性能

创建项集和计数相关性的过程可能非常耗时。 尽管Microsoft关联规则算法使用优化技术来节省空间并加快处理速度,但你应该知道性能问题可能发生在以下情况下:

  • 数据集很大,包含多个单独的项。

  • 设置的最小项集大小太低。

为了尽量减少处理时间并减少项集的复杂性,可以在分析数据之前尝试按类别对相关项进行分组。

注解

  • 不支持使用预测模型标记语言(PMML)来创建挖掘模型。

  • 支持钻取。

  • 支持使用 OLAP 挖掘模型。

  • 支持创建数据挖掘维度。

另请参阅

数据挖掘算法(Analysis Services - 数据挖掘)使用Microsoft关联规则查看器浏览模型关联模型内容挖掘(Analysis Services - 数据挖掘)Microsoft关联算法技术参考关联模型的查询示例