模型标记(数据挖掘)

可以使用 SQL Server Analysis Services 中的建模标志向数据挖掘算法提供有关事例表中定义的数据的其他信息。 该算法可以使用该附加信息生成更精确的数据挖掘模型。

某些建模标志是在挖掘结构的级别定义的,而其他标志是在挖掘模型列的级别定义的。 例如, NOT NULL 建模标志用于挖掘结构列。 可以根据用于创建模型的算法,在挖掘模型列上定义其他建模标志。

注释

除 Analysis Services 预定义的模型标志外,第三方插件可能还有其他建模标志。

建模标志列表

以下列表描述了 Analysis Services 中支持的建模标志。 有关特定算法支持的建模标志的信息,请参阅用于创建模型的算法的技术参考主题。

NOT NULL
指示属性列的值不应包含 null 值。 如果在模型训练过程中 Analysis Services 遇到此属性列的 null 值,则会出现错误。

仅限模型存在
指示列将被视为具有两种状态: MissingExisting。 如果值为 NULL,则它被视为缺失。 MODEL_EXISTENCE_ONLY标志应用于可预测属性,大多数算法都支持该标志。

实际上,将MODEL_EXISTENCE_ONLY标志设置为 True 更改值的表示形式,以便只有两种状态: MissingExisting。 所有非缺失状态合并为单个 Existing 值。

此建模标志的典型用途是在状态 NULL 具有隐式意义的属性中,而状态 NOT NULL 的显式值可能不如列中具有任何值这一事实重要。 例如,如果合同从未签署,[DateContractSigned] 列可能是 NULL;如果合同已签署,则可能是 NOT NULL。 因此,如果模型的目的是预测合同是否会签名,则可以使用MODEL_EXISTENCE_ONLY标志来忽略事例中的 NOT NULL 确切日期值,并仅区分协定所在的 Missing 事例或 Existing

注释

缺少是算法使用的特殊状态,与列中的文本值“Missing”不同。 有关详细信息,请参阅“缺失值”(Analysis Services - 数据挖掘)。

REGRESSOR
指示列是处理过程中用作回归器的候选列。 此标志在挖掘模型列上定义,只能应用于具有连续数值数据类型的列。 有关使用此标志的详细信息,请参阅本主题中的“ REGRESSOR 建模标志的使用”部分。

查看和更改建模标志

可以通过查看结构或模型的属性来查看与数据挖掘设计器中的挖掘结构列或模型列关联的建模标志。

若要确定哪些建模标志已应用于当前挖掘结构,可以使用如下所示的查询,针对仅返回结构列的建模标志的数据挖掘架构行集创建查询:

SELECT COLUMN_NAME, MODELING_FLAG  
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS  
WHERE STRUCTURE_NAME = '<structure name>'  

可以使用数据挖掘设计器和编辑关联列的属性来添加或更改模型中使用的建模标志。 此类更改要求重新处理结构或模型。

可以使用 DMX 或 AMO 或 XMLA 脚本在新的挖掘结构或挖掘模型中指定建模标志。 但是,不能使用 DMX 更改现有挖掘模型和结构中使用的建模标志。 必须使用语法 ALTER MINING STRUCTURE....ADD MINING MODEL创建新的挖掘模型。

REGRESSOR 模型标志的用途

当您在某一列上设置 REGRESSOR 建模标识时,您是在指示算法该列包含潜在的回归器。 模型中使用的实际回归器由算法确定。 如果不对可预测属性进行建模,则可以放弃潜在的回归器。

使用数据挖掘向导生成模型时,所有连续输入列都会标记为可能的回归量。 因此,即使未在列上显式设置 REGRESSOR 标志,该列也可能用作模型中的回归器。

可以通过对挖掘模型的架构行集执行查询来确定实际在处理模型中使用的回归器,如以下示例所示:

SELECT COLUMN_NAME, MODELING_FLAG  
FROM $system.DMSCHEMA_MINING_COLUMNS  
WHERE MODEL_NAME = '<model name>'  

注意 如果修改挖掘模型并将列的内容类型从连续更改为离散,则必须手动更改挖掘列上的标志,然后重新处理模型。

线性回归模型中的回归器

线性回归模型基于Microsoft决策树算法。 即使不使用Microsoft线性回归算法,任何决策树模型也可以包含表示连续属性回归的树或节点。

因此,在这些模型中,不需要指定连续列表示回归量。 即使未在列上设置 REGRESSOR 标志,Microsoft决策树算法也会将数据集分区为具有有意义的模式的区域。 区别在于,当你设置建模标志时,算法将尝试查找以下形式的回归公式,以适应树节点中的模式。

a*C1 + b*C2 + ...

然后,计算残差的总和,如果偏差太大,则会在树中强制拆分。

例如,如果要使用 Income 作为属性预测客户购买行为,并在列中设置 REGRESSOR 建模标志,该算法将首先尝试使用标准回归公式来适应 收入 值。 如果偏差太大,则放弃回归公式,树将在其他属性上拆分。 然后,决策树算法将尝试在拆分后的每个分支中为收入拟合一个回归模型。

可以使用 FORCE_REGRESSOR 参数来保证算法将使用特定的回归器。 此参数可与决策树算法和线性回归算法一起使用。

使用以下链接了解有关使用建模标志的详细信息。

任务 主题
使用数据挖掘设计器编辑建模标志 查看或更改建模标志(数据挖掘)
为算法提供提示以推荐可能的回归变量 指定要用作模型中回归器的列
请参阅特定算法支持的建模标志(在每个算法参考主题的建模标志部分) 数据挖掘算法 (Analysis Services - 数据挖掘)
详细了解挖掘结构列和可在这些列上设置的属性 挖掘结构列
了解数据挖掘模型中的列和可在模型级别应用的建模标志 挖掘模型列
请参阅在 DMX 语句中使用建模标志的语法 建模标志 (DMX)
了解缺失值以及如何处理它们 缺失值(Analysis Services - 数据挖掘)
了解如何管理模型和结构和设置使用情况属性 移动数据挖掘对象