交叉验证(SQL Server 数据挖掘外接程序)
交叉验证是分析中的一个标准工具,同时也是一项重要的功能,可帮助您开发和优化数据挖掘模型。 在创建了一个挖掘模型之后,可使用交叉验证来确定该模型的有效性,并将其结果与其他相关的挖掘模型进行比较。
交叉验证包括两个阶段:定型阶段和报表生成阶段。 您将完成下列步骤:
选择一个目标挖掘结构或挖掘模型。
指定目标值(如果适用)。
指定要将结构数据分区到其中的横段数或 折叠数。
然后 ,交叉验证 向导在每个折叠上创建新模型,在其他折叠上测试模型,然后报告模型的准确性。 完成后, 交叉验证 向导将创建一个报表,其中显示每个折叠的指标,并提供模型的汇总摘要。 此信息可用于确定基础数据对模型的有益程度,或对基于同一数据的不同模型进行比较。
使用交叉验证向导
可以对存储在 Analysis Services 实例上的临时模型和模型使用交叉验证。
创建交叉验证报告
在“数据挖掘”功能区的“准确性和验证”组中,单击“交叉验证”。
在 “选择结构或模型 ”对话框中,选择现有的挖掘结构或挖掘模型。 如果选择结构,该向导将对所有基于该结构且具有相同可预测属性的模型都使用交叉验证。 如果选择模型,则该向导将只对该模型使用交叉验证。
在 “指定交叉验证参数 ” 对话框的 “ 折叠计数 ” 框中,选择要在其中划分数据集的折叠数。 折叠是随机选择的数据交叉部分。
(可选)通过在“最大行数”文本框中键入数字来设置交叉验证中使用的最大 行 数。
注意
使用的行越多,得到的结果就越精确。 但是,处理时间也会显著增加。 选择的行数取决于您的数据,但是通常情况下,应该在不牺牲性能的前提下选择最大的行数。 为了提高性能,也可以指定较少的折叠。
从“ 目标属性” 下拉列表中选择一列。 该列表只显示那些在最初创建该模型时配置为可预测属性的列。 该模型可能包含多个可预测属性,但是您只能选择其中的一个。
从“ 目标状态 ”下拉列表中选择一个值。
如果可预测列包含连续数值数据,则此选项不可用。
(可选)指定要用作 目标阈值 的值,以便准确计算预测。 该值表示为概率,它是一个 0 到 1 之间的数字,其中 1 表示保证该预测准确,0 表示该预测不可能正确,.5 相当于随机推测。
如果可预测列包含连续数值数据,则此选项不可用。
单击“完成”。 将创建名为 “交叉验证”的新工作表。
注意
在将模型分区到折叠中并对每个折叠进行测试时,Microsoft Excel 可能会暂时停止响应。
要求
若要创建交叉验证报表,您必须已经创建了数据挖掘结构和相关的模型。 该向导提供一个对话框,可帮助您从现有结构和模型中进行选择。
如果您选择了一个支持多个挖掘模型的挖掘结构,并且这些模型使用不同的可预测属性,则交叉验证向导将只对那些共享同一可预测属性的模型进行测试。
如果您选择同时支持聚类分析模型和其他类型模型的结构,则不会对聚类分析模型进行测试。
了解交叉验证结果
交叉验证的结果显示在新工作表中,标题为<“属性名称>的交叉验证报告”。 新工作表包括多个部分:第一部分是一个摘要,提供有关已测试模型的重要元数据,以便您了解这些结果分别属于哪个模型或结构。
报表中的第二部分提供一个统计信息摘要,指示原始模型的有效程度。 在此摘要中,针对三个关键度量值分析了为每个折创建的模型之间的差异: 均方根误差、 平均绝对误差和 对数分数。 这些是标准的统计度量值,不仅用于数据挖掘,还用在大多数类型的统计分析中。
对于其中的每个度量值,交叉验证向导都会将模型作为一个整体来计算平均值和标准偏差。 它指示在预测不同的数据子集时该模型的一致程度。 例如,如果标准偏差非常大,则指示为每个折叠创建的模型具有完全不同的结果,因此该模型定型时可能与特定数据组的关联过于紧密,因而不适用于其他数据集。
下面介绍用于评估模型的度量值。
测试和度量值
除了有关数据中的折叠数以及每个折叠中的数据量的一些基本信息之外,工作表还显示有关每个模型的按测试类型分类的一组指标。 例如,聚类分析模型的准确性是由与您将用于预测模型的测试不同的测试评估的。
下表列出了测试和指标,并附有指标含义的说明。
聚合和常规统计信息度量值
报表中提供的聚合度量值指示您在数据中创建的折叠之间的差异。
平均偏差和标准偏差。
一个模型的所有分区中相对于特定度量值平均值的偏差的平均值。
分类:通过/失败
没有为可预测属性指定目标值时,此度量值用于分类模型中。 例如,如果您创建了一个可预测多种可能性的模型,此度量值将指示该模型在预测所有可能的值时的有效程度。
通过/失败是通过对满足以下条件的事例计数来计算 的:如果 概率最高的预测状态与输入状态相同,并且概率大于为 状态阈值指定的值,则传递;否则会 失败。
分类:真正、假正、真负和假负
此测试可用于具有指定目标的所有分类模型。 该度量值指示根据对以下问题的回答,每个事例如何分类:模型预测什么内容和实际结果如何。
度量值 | 说明 |
---|---|
真正 | 满足以下条件的事例计数: 事例包含目标值。 模型已预测事例包含目标值。 |
假正 | 满足以下条件的事例计数: 实际值等于目标值。 模型已预测事例包含目标值。 |
真负 | 满足以下条件的事例计数: 事例不包含目标值。 模型已预测事例不包含目标值。 |
假负 | 满足以下条件的事例计数: 实际值不等于目标值。 模型已预测事例不包含目标值。 |
提升
提升 是一种与可能性关联的度量值。 如果使用模型时的结果比随机猜测结果更可能,则模型会提供 正提升。 但是,如果模型进行的预测的可能性低于随机概率,则提升分数为 负数。 因此,此指标指示通过使用模型可获得的改善程度,分数越高越好。
提升的计算方法为:测试事例中实际预测概率与边缘概率的比率。
对数评分
对数分数也称为预测的对数可能性分数,表示转换为对数刻度的两个概率之间的比率。 由于概率用小数表示,因此,对数评分始终是负数。 接近 0 的分数是较好的分数。
原始分数可以具有非常不规则或扭曲的分布,而对数评分与百分比相似。
均方根误差
rmse) (均方根误差是统计中的一种标准方法,用于查看不同数据集的比较方式,并平滑输入比例可能引入的差异。
RMSE 表示预测值与实际值进行比较时的平均误差。 它的计算方式为:所有分区事例的平均误差的平方根除以分区中的事例数,不包括目标属性缺失值的行。
平均绝对误差
平均绝对误差是预测值与实际值的平均误差。 其计算方法为:获取误差的绝对值之和,然后找出这些误差的平均值。
此值可帮助您了解分数与平均值之间的差异大小。
事例可能性
此度量值只用于聚类分析模型,它指示一个新事例属于特定分类的可能性。
在聚类分析模型中存在两种分类成员身份,具体取决于创建模型所用的方法。 在某些模型中,根据 K-means 算法,新的事例应该只属于一个分类。 但是,默认情况下,Microsoft 聚类分析算法使用期望最大化方法,该方法假设新事例可能可以属于任何分类。 因此,在这些模型中,一个事例可以有多个 CaseLikelihood
值,但默认情况下报告的值是该事例属于某分类的可能性,该分类是最适合新事例的分类。