【IT168 技术文档】在 Microsoft SQL Server Analysis Services 中,可以定义挖掘结构中各列的数据类型,以便影响创建挖掘模型时算法对这些列中数据的处理方式。不过,定义列数据类型只向算法提供有关列中数据的类型的信息,而不提供有关该数据的行为的信息。因此,Analysis Services 中的每个数据类型都支持一种或多种数据挖掘内容类型,可以使用这些内容类型来说明列包含的内容的行为。例如,如果列内容以特定的间隔(如一周中的某几天)重复,则可以将该列的内容类型指定为循环。
有些算法要求提供特定的数据类型和内容类型才能正常工作。例如,Microsoft Naive Bayes 算法的输入不能为连续列,并且不能预测连续值。某些内容类型(如 Key Sequence)只能由特定算法使用。有关算法以及每种算法所支持的内容类型的列表,请参阅数据挖掘算法(Analysis Services – 数据挖掘)。
下表介绍了数据挖掘中使用的内容类型,并标识了支持每种类型的数据类型。
Discrete
离散意味着列包含数值之间没有连续体的有限数量的数值。例如,性别列是一个典型的离散属性列,这是因为该数据表示特定数量的类别。
离散属性列中的值不能意味着排序,即使这些值为数值也是如此。此外,即使用于离散列的值为数值,也无法计算小数值。电话区号即为数值离散数据的典型示例。
所有数据挖掘数据类型均支持 Discrete 内容类型。
Continuous
此列包含的值表示某一允许中间值的范围中的数值数据。与表示有限、可数数据的离散列不同,连续列表示可缩放度量,且数据可能包含无限数目的小数值。温度列即为连续属性列的示例。
以下数据类型支持 Continuous 内容类型:Date、Double 和 Long。
Discretized
该列包含表示组或存储桶的值,这些值属于从连续列派生的值。存储桶被视为有序的离散值。
离散化是将一组连续数据的值放入存储桶的过程,以便得到有限数目的可能值。只能离散数值数据。
您可以手动离散数据,以确保获取所需的存储桶,还可以使用 SQL Server Analysis Services 中提供的离散方法。某些算法自动执行离散。有关详细信息,请参阅如何更改挖掘模型中列的离散化。
以下数据类型支持 Discretized 内容类型:Date、Double、Long 和 Text。
Key
该列唯一地标识一行。在事例表中,键列通常为数值或文本标识符。将内容类型设置为 key 可指示该列不应用于分析,而仅应用于跟踪记录。
嵌套表也有键,但嵌套表键的用法稍有不同。如果某列是您需要分析的属性,则在嵌套表中将内容类型设置为 key。嵌套表键的值对于每个事例来说都必须唯一,但在整个事例集中可以重复。
例如,如果分析的是客户购买的产品,则可以对于事例表中 CustomerID 列将内容类型设置为键,然后对于嵌套表中 PurchasedProducts 列再次将内容类型设置为键。
注意:
只有在使用已被定义为 Analysis Services 数据源视图的外部数据源中的数据时,嵌套表才可用。
以下数据类型支持此内容类型:Date、Double、Long 和 Text。
Key Sequence
将内容类型设置为 key sequence 时,它指示列包含表示一个事件序列的值。这些值是有序值,但不必按等差排列。
以下数据类型支持此内容类型:Double、Long、Text 和 Date。
Key Time
将内容类型设置为 key time 时,它指示两件事情:第一,值按顺序排列并表示时间刻度。第二,模型必须为时序模型或顺序分析和聚类分析模型。只有在这些模型中,您才可以将列指定为键时间。
以下数据类型支持此内容类型:Double、Long 和 Date。
Table
嵌套表为列的一种特殊类型,它包含另外一个数据表,该数据表中有一列或多列和一行或多行。对于事例表中的任意特定行,此列可以包含多个值,所有的值均与父事例记录相关。例如,如果主事例表包含一个客户列表,则可能有多个包含嵌套表的列,例如,ProductsPurchased 列,嵌套表在该列中列出了此客户过去购买的产品,Hobbies 列出了该客户的兴趣。
此列的数据类型始终为 Table。
Cyclical
该列包含表示循环有序集的值。例如,一周内顺序编号的七天便是循环有序集,因为第一天紧跟第七天。
循环列就内容类型而言既有序又离散。
Analysis Services 中所有的数据挖掘数据类型都支持此内容类型。但是,大多数算法将循环值视为离散值,不会进行特殊处理。
Ordered
Ordered 内容类型定义了序列或顺序;但是,用于排序的值并不表示该集中值之间的任何差或量级关系。例如,如果有序属性列包含按照等级顺序从一到五排列的有关技术等级的信息,则技术等级之间的差并不包含什么暗示信息;技术等级五不一定比技术等级一好五倍。
有序属性列就内容类型而言是离散的。
Analysis Services 中所有的数据挖掘数据类型都支持此内容类型。但是,大多数算法会将已排序值视为离散值,不会进行特殊处理。
Classified
除了前面列出的可通用于所有模型的内容类型以外,对于某些数据类型,还可以使用已分类列定义内容类型。