第57章 構建OLAP挖掘模型(1 / 2)



注意:

在本例中,將維的主鍵作為事例鍵,因為維的其他屬性都與維的主鍵之間有1-n的關係,所以可以選擇維的其他任何屬性作為挖掘模型的事例級屬性。但也可以選擇維的其他屬性作為事例鍵,尤其是當屬性間存在層次關係。如try->State->City->er,此時我們可以選擇City作為事例鍵,而try和State和City之間有1-n的關係,這樣就可以選擇try和State作為輸入屬性來對City進行聚類。

2.創建基於嵌套表的購物籃模型

購物籃分析是流行的數據挖掘任務,在這個示例中,將基於立方體來對紐約州的客戶購買商品情況進行購物籃分析。使用的算法是Microsoft關聯規則算法。

在開始構建模型之前,需要定義購物籃和項。因為模型是用於分析客戶的購買行為的,所以購物籃的單位是客戶。客戶購買一組產品,其購買細節(被選購到購物籃中的商品)在建模時作為嵌套表。在OLAP挖掘模型中,事例表被映射到維度表er,而嵌套表則被映射到度量組,如購買產品ID,我們將要到維表product中查找出相應的產品名稱,這裏作為度量組的查找表的維表稱為嵌套維表。在本示例中,事例表為er維,而嵌套維表則為Product維。

在上例所創建的項目中,創建一個新的挖掘結構。選擇er維作為事例表,並且選擇er主鍵作為事例鍵。因為要分析的是客戶所購買的產品,而對客戶本身的信息不予關注,因此客戶維的其他屬性均無需選擇。點擊“添加嵌套表”按鈕,選擇Product維作為嵌套表,ProductID作為嵌套鍵。

注意:

也可以選擇Product維表中的其他屬性如Brand作為嵌套鍵,這樣,我們將對客戶購買的品牌分析,而不是產品之間的關聯。

因為該模型隻是用於分析產品之間的關聯,所以嵌套表中沒有必要包括其他屬性,而且也不需要添加其他的嵌套表。

在定義了挖掘結構之後,向導會提示對源立方體進行切片。由於本例是分析紐約州客戶的交叉銷售模式,因此我們選擇Dim er,找到State Proviname屬性,運算符為“等於”,點擊下拉框找到“New York”。

現在,對模型的定義已經完成,修改適當的挖掘結構和模型的名稱後,即可以進行處理。

注意:

在本例中,對客戶購買商品的時間沒有進行限製,即如果客戶在3月份購買了一瓶啤酒,然後又在9月份購買了一些尿布,那麼因為沒有指定時間的約束,所以該模型認為啤酒和尿布是有關聯的。解決這個問題有兩種方法,第一種方法是使用立方體切片將購買的時間限製到給定的某一日,因為這種方法隻是基於一天,顯然很難發現某種模式。第二種方法是在立方體上添加事務維,從而在事務表中的每一行都包含事務ID。然後指定事例表為事務維(即鍵列由客戶ID變成了事務ID,因為事務ID是針對每次的購物事件創建的,而與客戶無關),嵌套表為Product維表。通過這種方式來分析每個事務內的購買模式。



注意:

在本例中,將維的主鍵作為事例鍵,因為維的其他屬性都與維的主鍵之間有1-n的關係,所以可以選擇維的其他任何屬性作為挖掘模型的事例級屬性。但也可以選擇維的其他屬性作為事例鍵,尤其是當屬性間存在層次關係。如try->State->City->er,此時我們可以選擇City作為事例鍵,而try和State和City之間有1-n的關係,這樣就可以選擇try和State作為輸入屬性來對City進行聚類。

2.創建基於嵌套表的購物籃模型

購物籃分析是流行的數據挖掘任務,在這個示例中,將基於立方體來對紐約州的客戶購買商品情況進行購物籃分析。使用的算法是Microsoft關聯規則算法。

在開始構建模型之前,需要定義購物籃和項。因為模型是用於分析客戶的購買行為的,所以購物籃的單位是客戶。客戶購買一組產品,其購買細節(被選購到購物籃中的商品)在建模時作為嵌套表。在OLAP挖掘模型中,事例表被映射到維度表er,而嵌套表則被映射到度量組,如購買產品ID,我們將要到維表product中查找出相應的產品名稱,這裏作為度量組的查找表的維表稱為嵌套維表。在本示例中,事例表為er維,而嵌套維表則為Product維。

在上例所創建的項目中,創建一個新的挖掘結構。選擇er維作為事例表,並且選擇er主鍵作為事例鍵。因為要分析的是客戶所購買的產品,而對客戶本身的信息不予關注,因此客戶維的其他屬性均無需選擇。點擊“添加嵌套表”按鈕,選擇Product維作為嵌套表,ProductID作為嵌套鍵。