建模标志(数据挖掘)

适用于: SQL Server 2019 及更早版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中弃用了数据挖掘,现已在 SQL Server 2022 Analysis Services 中停止使用。 对于已弃用和停止使用的功能,文档不会更新。 若要了解详细信息,请参阅 Analysis Services 向后兼容性

在SQL Server SQL Server Analysis Services中,建模标志为数据挖掘算法提供有关事例表中数据的详细信息。 该算法使用此信息生成更准确的数据挖掘模型。

你在挖掘结构级别定义某些建模标志,在挖掘模型列级别定义另一些标志。 例如,对挖掘结构列使用 NOT NULL 建模标志。 用于创建模型的算法确定可以在挖掘模型列上定义的其他建模标志。

注释

第三方插件可能包括建模标志,这些标志超出了SQL Server Analysis Services定义的标志。

建模标志列表

SQL Server Analysis Services支持以下建模标志。 有关特定算法支持的标志的信息,请参阅创建模型的算法的技术参考。

NOT NULL
指定属性列不能包含 null 值。 在模型训练期间,如果遇到此列中的 null 值,SQL Server Analysis Services将返回错误。

MODEL_EXISTENCE_ONLY
将列视为具有两种状态: MissingExisting。 如果值为 NULL,则算法将其视为 Missing。 MODEL_EXISTENCE_ONLY标志适用于可预测属性,大多数算法都支持该标志。

将MODEL_EXISTENCE_ONLY标志设置为 True 时,模型表示只有两种状态的值: MissingExisting。 它将所有非缺失状态合并成一个 现有 值。

此标志在建模中的典型用途是对于这些属性,NULL 状态有隐含的意义,而 NOT NULL 状态的明确值可能不如列中存在某个值这一事实更为重要。 例如,如果协定从未签名,则 [DateContractSigned] 列可能是 NULL ;如果协定已签名,则 为 NOT NULL 。 因此,如果模型的目的是预测协定是否会签名,则可以使用MODEL_EXISTENCE_ONLY标志忽略 NOT NULL 事例中的确切日期值,并且仅区分 缺少 协定或 现有协定的情况。

注释

缺少是算法使用的特殊状态,与列中的文本值“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 - 数据挖掘)
了解如何管理模型和结构和设置使用情况属性 移动数据挖掘对象