向结构中添加挖掘模型(Analysis Services - 数据挖掘)

挖掘结构定义数据域,而挖掘模型则定义如何将该域中的数据应用于特定问题。创建挖掘结构之后,可以向该结构中添加多个挖掘模型。每次创建模型时,都可以针对一个不同的业务问题。例如,您可能更改参数以使用稍稍不同的方法,或者使用不同的数据子集以获取不同的结果,或提取特定于目标填充的模式。

有关详细信息,请参阅:创建新的挖掘结构数据挖掘向导(Analysis Services - 数据挖掘)在数据挖掘设计器中管理挖掘结构

创建新挖掘模型

有两种生成挖掘模型的方法。可以定义挖掘结构,然后试验都使用该结构的不同模型。或者,可以创建需要的模型,然后使用生成的结构来创建其他模型。

使用“数据挖掘向导”创建新的挖掘模型时,应当先创建一个挖掘结构。然后此向导将提供一个选项,用于向结构中添加初始挖掘模型,并在该结构内配置一个定型和测试数据集。但是,不需要立即创建模型。如果仅仅创建结构,则不需要决定将哪一列用作可预测的属性,或者如何在特定模型中使用这些数据。您只需设置要在将来使用的通用数据结构,之后即可使用数据挖掘设计器来添加基于此结构的新挖掘模型。

如果您已经知道要生成的挖掘模型的类型,则可以生成此结构,然后使用数据挖掘向导将第一个模型添加到挖掘结构中。在向导完成之后,可以将更多模型添加到此结构中。

注意注意

在 DMX 中,CREATE MINING MODEL 语句以挖掘模型开头。也就是说,您只需定义想要的挖掘模型,Analysis Services 会自动生成基础结构。之后可使用 ALTER STRUCTURE… ADD MODEL 语句继续向该结构中添加新的挖掘模型。

有关详细信息,请参阅:在数据挖掘设计器中管理挖掘模型

挖掘模型的定义

  1. 定义数据域之后,应通过指定列的内容和列的使用来通知 Analysis Services 如何使用数据中的每一列。您不必在新的挖掘模型中使用数据挖掘结构中包括的每一列。即使两个模型基于同一个结构,您也可以通知 Analysis Services 忽略其中一个模型的特定列。有关详细信息,请参阅逻辑体系结构(Analysis Services - 数据挖掘)

选择算法

若要向结构中添加模型,必须选择要在该模型中使用的数据挖掘算法。每种算法都执行一种不同类型的分析,有一些算法在用于输入或预测的数据列的数目和类型上有不同的要求。

因此,您包括在挖掘结构中的某些数据列可能会被忽略,或者可能需要转换为另一种数据类型,或者可能需要删除值,具体取决于您选择的算法。“数据挖掘”向导会自动更改某些值以使模型工作。但是,在其他情况下,建议您先修复数据,或者添加一个必需的列,如事例键。

在某些情况下,您可以更改模型中使用的算法,但模型定义中的大部分更改都要求您重新处理模型及其数据。通常,只要您更改了模型中使用的算法,就应将它视为一个必须重新处理的全新模型。

有关详细信息,请参阅:数据挖掘算法(Analysis Services – 数据挖掘)

指定列的用法

选择了算法后,必须指定此算法如何处理结构中的数据。这包括选择一个或多个可预测的列,(如果模型需要)选择要充当输入的列,并指定事例或嵌套表键。对于每个模型,这些列定义可能会有变化,即使模型使用相同的数据也是如此,因为每种算法的需求是不同的。建议您尝试仅仅选择对于分析最为有用的列,因为包括不必要的数据会增加处理时间,并且会影响结果的质量。“数据挖掘”向导包括一个可选的**“建议”**功能,此功能分析结构中包括的列,并使用基于平均信息量的得分来推荐提供大部分信息的列。

有关详细信息,请参阅:挖掘模型列设置挖掘模型的属性

指定列内容

  1. 对于某些列,可能还需要指定“列内容”。在 SQL Server 数据挖掘中,每个数据列的“内容类型”属性都通知算法应如何处理该列中的数据。例如,如果数据包括一个具有可变值的“收入”列,则您必须通过将内容类型设置为“连续”来指定该列包含连续数。但是,您还可以通过将内容类型设置为“离散化”并选择指定存储桶的准确数目,来指定“收入”列中的数分成存储桶。您可以创建以不同方式处理列的不同模型:例如,您可能尝试使用一种模型将客户分成三个年龄组,而另一个模型则将客户分成 10 个年龄组。

有关详细信息,请参阅:数据类型(数据挖掘)内容类型(数据挖掘)