⑴ 分类数据的属性集
让我们考察这种方法的一个例子。
例2-7 根据每个属性的不同值的个数产生概念分层。假定用户从AllElectronics数据库中选择了关于location的属性集:street, country, province_or_state和city,但没有指出这些属性之间的层次序。
location的概念分层可以自动地产生,如图2-24所示。首先,根据每个属性的不同值个数,将属性按升序排列,其结果如下(其中,每个属性的不同值数目在括号中):country(15), province_or_state(365), city(3567), street(674 339)。其次,按照排好的次序,自顶向下产生分层,第一个属性在最顶层,最后一个属性在最底层。最后,用户考察所产生的分层,必要时,修改它以反映属性之间期望的语义联系。在这个例子中,显然不需要修改所产生的分层。
图2-24 基于不同属性值个数的模式概念分层的自动产生
注意,这种启发式规则并非完美无缺的。例如,数据库中的时间维可能包含20个不同的年,12个不同的月,每星期7个不同的天。然而,这并不意味时间分层应当是“year < month < days_of_the_week”,days_of_the_week在分层结构的最顶层。
只说明部分属性集:在定义分层时,有时用户可能不小心,或者对于分层结构中应当包含什么只有很模糊的想法。结果,用户可能在分层结构说明中只包含了相关属性的一小部分。例如,用户可能没有包含location所有分层相关的属性,而只说明了street和city。为了处理这种部分说明的分层结构,重要的是在数据库模式中嵌入数据语义,使得语义密切相关的属性能够捆在一起。用这种办法,一个属性的说明可能触发整个语义密切相关的属性组“拖进”, 形成一个完整的分层结构。然而必要时,用户应当可以选择忽略这一特性。 例2-8 使用预先定义的语义关系产生概念分层。假定数据挖掘专家(作为管理者)已将五个属性number, street, city, province_or_state和country捆绑在一起,因为它们关于location概念语义密切相关。如果用户在定义location的分层结构时只说明了属性city,系统可以自动地拖进以上五个语义相关的属性,形成一个分层结构。用户可以选择去掉分层结构中的任何属性,如number和street,让city作为该分层结构的最低概念层。