摘 要:要建立自己的決策支持系統(tǒng)就必然要應(yīng)用數(shù)據(jù)倉庫、數(shù)據(jù)挖掘技術(shù),企業(yè)應(yīng)根據(jù)自身要求合理建立特定主題的數(shù)據(jù)倉庫,在此基礎(chǔ)上還要結(jié)合實際問題選擇相應(yīng)的挖掘模型,從而得到最有價值的挖掘分析結(jié)果,以利于企業(yè)的經(jīng)營發(fā)展。
關(guān)鍵詞:數(shù)據(jù)倉庫;數(shù)據(jù)挖掘;決策樹
0 引言
數(shù)據(jù)倉庫與數(shù)據(jù)挖掘是近年來剛剛興起并逐步發(fā)展起來的一門新興交叉學(xué)科,它把對數(shù)據(jù)的應(yīng)用從低層次的簡單查詢,提升到從數(shù)據(jù)中挖掘知識,并提供決策支持。此門學(xué)科涉及到許多領(lǐng)域的知識,包括數(shù)據(jù)庫技術(shù)、人工智能技術(shù)、數(shù)理統(tǒng)計、可視化技術(shù)、并行計算、機器學(xué)習(xí)等,匯集了多門學(xué)科的知識并在綜合運用這些學(xué)科知識的基礎(chǔ)上產(chǎn)生出新的知識和方法。此門學(xué)科的應(yīng)用主要在于構(gòu)建企業(yè)的決策支持系統(tǒng),此系統(tǒng)正是目前幫助企業(yè)提高自身競爭力的重要手段。
在數(shù)據(jù)倉庫與數(shù)據(jù)挖掘?qū)W科中涉及了許多概念、設(shè)計方法及諸多挖掘算法,本文將就其中的一些內(nèi)容結(jié)合SQL Server Analysis Service應(yīng)用實例加以闡述與說明,以加深對理論的理解,并逐步掌握此門學(xué)科所提供的更多技術(shù)。
1 數(shù)據(jù)倉庫的規(guī)劃與設(shè)計
數(shù)據(jù)倉庫是一個面向主題的、集成的,時變的、非易失的數(shù)據(jù)集合,支持部門管理的決策過程,數(shù)據(jù)中的每一個數(shù)據(jù)單元在實踐上都是和某個時刻相關(guān)的。數(shù)據(jù)倉庫也被看作是某個組織的數(shù)據(jù)存儲庫,用于支持戰(zhàn)略決策。數(shù)據(jù)倉庫的功能是以集成的方式存儲整個組織的歷史數(shù)據(jù),這些數(shù)據(jù)會影響到這個組織和企業(yè)的多個方面。數(shù)據(jù)倉庫的特點是:數(shù)據(jù)常常來自于多個數(shù)據(jù)源;其存放模式一致;駐留在單個站點;數(shù)據(jù)已經(jīng)清理、變換、集成與裝載并定期刷新;數(shù)據(jù)量巨大。
數(shù)據(jù)倉庫構(gòu)建方法同一般數(shù)據(jù)庫構(gòu)建方法最大的不同在于數(shù)據(jù)倉庫的需求分析是從用戶的決策問題入手,其目的是直接針對問題的主題,而一般數(shù)據(jù)庫系統(tǒng)是以事務(wù)處理為出發(fā)點。下面結(jié)合具體實例說明數(shù)據(jù)倉庫的設(shè)計步驟。
1.1 確定用戶需求,為數(shù)據(jù)倉庫中存儲的數(shù)據(jù)建立模型
通過數(shù)據(jù)模型得到企業(yè)完整而清晰的描述信息。數(shù)據(jù)模型是面向主題建立的,同時又為多個面向應(yīng)用的數(shù)據(jù)源的集成提供了統(tǒng)一的標(biāo)準(zhǔn)。
例如:FoodMart是一家大型的連鎖店,在美國、墨西哥和加拿大有銷售業(yè)務(wù)。市場部想要按產(chǎn)品和顧客分析1998年進(jìn)行的所有銷售業(yè)務(wù)數(shù)據(jù)。該公司現(xiàn)在急需進(jìn)行銷售方面的數(shù)據(jù)分析,以找到一些潛在規(guī)律來促進(jìn)銷售業(yè)務(wù)的進(jìn)一步拓展從而擴大銷售渠道、加大銷售量、提高銷售利潤、增強公司競爭力。該連鎖店銷售的產(chǎn)品總體上被分為若干個大類,細(xì)節(jié)上分為若干個小類;客戶廣泛分布于不同地區(qū)、不同國家。該連鎖店在銷售信息管理系統(tǒng)中長期保存并不斷更新著產(chǎn)品、產(chǎn)品分類、商店、銷售、促銷、客戶等記錄表,依次為:產(chǎn)品表(PRODUCT)、產(chǎn)品分類表(PRODUCT_CLASS)、商店表(STOR)、1998年銷售記錄表(Sales_fact_1998)、促銷表(PROMOTION)、客戶表(CUSTOMER)等。
FoodMart連鎖店保存并不斷更新的數(shù)據(jù)庫是事務(wù)處理型數(shù)據(jù)庫,其結(jié)構(gòu)是面向應(yīng)用而設(shè)計的。要進(jìn)行數(shù)據(jù)挖掘就必須建立面向主題的數(shù)據(jù)倉庫,為了進(jìn)行1998年銷售方面的數(shù)據(jù)挖掘,要設(shè)計的數(shù)據(jù)倉庫必須以1998年銷售數(shù)據(jù)為主題,輔之以日期、產(chǎn)品、產(chǎn)品分類、商店、促銷、客戶等其它數(shù)據(jù)信息。具體來講,即創(chuàng)建以1998年銷售為主題的數(shù)據(jù)倉庫,采用星型/雪花模式構(gòu)建事實表。
1.2 分析數(shù)據(jù)源,完成數(shù)據(jù)倉庫的設(shè)計工作
基于用戶的需求,著重于1998年銷售主題,開發(fā)數(shù)據(jù)倉庫中數(shù)據(jù)的物理存儲結(jié)構(gòu),即設(shè)計多維數(shù)據(jù)結(jié)構(gòu)的事實表和維表。1998年銷售事實表包含5個維表和3個度量。這5個維表分別是日期、客戶、產(chǎn)品、促銷和商店維表,3個度量分別為銷售金額、倉儲成本、銷售單位??紤]到將來要根據(jù)顧客的年收入情況進(jìn)行顧客會員卡種類方面的數(shù)據(jù)分析,另外增加了年收入維度(yearly income,取自于customer表)。為便于分析挖掘出有關(guān)時間因素的信息,特增加了時間表time。
1.3 生成物理的數(shù)據(jù)倉庫,并從各種源系統(tǒng)中獲取數(shù)據(jù)裝入數(shù)據(jù)倉庫中 在SQL Server Analysis Service manager中建立物理的數(shù)據(jù)倉庫可以通過ODBC數(shù)據(jù)源方式指定原有數(shù)據(jù)庫,再通過Microsoft OLE DB Provider for ODBC進(jìn)行連接的方式完成原有數(shù)據(jù)庫到數(shù)據(jù)倉庫的映射。運用SQL Server Analysis Service manager提供的功能建立數(shù)據(jù)倉庫的多維數(shù)據(jù)集,指定此數(shù)據(jù)倉庫的度量值與維度,至此數(shù)據(jù)倉庫建立完畢。其中緯度與度量值如圖2所示。
2 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘(Data Mining)又稱為數(shù)據(jù)庫中的知識發(fā)現(xiàn)(Knowledge Discovery in Database,KDD),就是從大量數(shù)據(jù)中獲取有效的、新穎的、潛在有用的、最終可理解的模式的非平凡過程。簡言之,數(shù)據(jù)挖掘就是從海量數(shù)據(jù)中提取隱含在其中的有用信息和知識的過程。數(shù)據(jù)挖掘可以幫助企業(yè)對數(shù)據(jù)進(jìn)行微觀、中觀乃至宏觀的統(tǒng)計、分析、綜合和推理,從而利用已有數(shù)據(jù)預(yù)測未來,幫助企業(yè)贏得競爭優(yōu)勢。數(shù)據(jù)挖掘的方法是建立在聯(lián)機分析處理(On Line Analytical Processing,OLAP)的環(huán)境基礎(chǔ)之上的。
整個數(shù)據(jù)挖掘過程主要可分幾個階段,依次為:問題定義、數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘以及結(jié)果的解釋和評估。
2.1 問題定義
問題定義就是要清晰地定義出業(yè)務(wù)問題,確定數(shù)據(jù)挖掘的目的。對于FoodMart連鎖店來說,它的問題定義就是:FoodMart連鎖店的市場部想增加客戶滿意度和客戶保有率,于是實行了創(chuàng)造性的方法以達(dá)到這些目標(biāo)。
其方法之一是對會員卡方案重新進(jìn)行定義,以便更好地為客戶提供服務(wù)并且使所提供的服務(wù)能夠更加密切地滿足客戶的期望。
為了重新定義會員卡方案,市場部想分析當(dāng)前銷售事務(wù)并找出客戶人口統(tǒng)計信息(婚姻狀況、年收入、在家子女?dāng)?shù)等等)和所申請卡之間的模式,然后根據(jù)這些信息和申請會員卡的客戶的特征重新定義會員卡。
2.2 數(shù)據(jù)預(yù)處理
最初為數(shù)據(jù)挖掘所準(zhǔn)備的所有原始數(shù)據(jù)集通常都很大,它們當(dāng)中存在許多臟數(shù)據(jù)。造成臟數(shù)據(jù)的原因主要源自于收集與傳送過程的錯誤、濫用縮寫詞以及不同的慣用語、重復(fù)記錄、數(shù)據(jù)輸入錯誤、拼寫變化、不同的計量單位、過時的編碼、集成時的空值與丟失值以及不同的數(shù)據(jù)源等。臟數(shù)據(jù)主要有以下一些表現(xiàn)形式:
(1)數(shù)據(jù)不完整。表現(xiàn)為:感興趣的屬性缺值;缺乏感興趣的屬性;僅包含聚集數(shù)據(jù)等。例如:CUSTOMER表中的LNAME=“”
(2)數(shù)據(jù)噪聲。即包含錯誤的屬性值或存在偏離期望的孤立點值。一個屬性的值與事實完全不吻合的情況,例如:CUSTOMER表中的在家子女?dāng)?shù)num_children_at_home=200
(3)數(shù)據(jù)不一致。如果在臟數(shù)據(jù)上進(jìn)行數(shù)據(jù)挖掘?qū)⒑芸赡軐?dǎo)致錯誤的判斷甚至完全相反的分析結(jié)果,也就是說,沒有高質(zhì)量的數(shù)據(jù)就沒有高質(zhì)量的挖掘結(jié)果。由于決策質(zhì)量依賴于數(shù)據(jù)質(zhì)量,因此需要在數(shù)據(jù)挖掘之前進(jìn)行數(shù)據(jù)預(yù)處理,以保證數(shù)據(jù)倉庫內(nèi)包含的是高質(zhì)量的、一致的數(shù)據(jù)。所謂數(shù)據(jù)預(yù)處理其實就是對數(shù)據(jù)倉庫中的數(shù)據(jù)進(jìn)行提取、清理、轉(zhuǎn)換,從而保證數(shù)據(jù)的高質(zhì)量,具體來講包括以下幾種操作:
(1)數(shù)據(jù)清理(data cleaning)。
(2)數(shù)據(jù)集成(data integration)。將多個數(shù)據(jù)源中的數(shù)據(jù)合并存放在一個統(tǒng)一的數(shù)據(jù)存儲(如數(shù)據(jù)倉庫、數(shù)據(jù)庫等)中,數(shù)據(jù)源可以是多個數(shù)據(jù)庫、數(shù)據(jù)立方體或一般的數(shù)據(jù)文件。
(3)數(shù)據(jù)變換(data transformation)。即數(shù)據(jù)的標(biāo)準(zhǔn)化與聚集,將數(shù)據(jù)變換成適于挖掘的形式。例如:屬性數(shù)據(jù)可以規(guī)范化,使得它們可以落入某個小區(qū)間。
(4)數(shù)據(jù)歸約(data reduction)。
2.3 選擇挖掘模型,進(jìn)行數(shù)據(jù)挖掘。
參考文獻(xiàn)
[1][美] MEHMED KANTARDZIC.數(shù)據(jù)挖掘——概念、模型、方法和算法[M].北京:清華大學(xué)出版社,2013.
[2]李才華.OLAP技術(shù)在生產(chǎn)評價中的應(yīng)用[J].計算機技術(shù)與自動化,2009,(4).
[3]張美虎.OLAP技術(shù)在BI系統(tǒng)中的應(yīng)用[J].寧波職業(yè)技術(shù)學(xué)院學(xué)報,2016,(5).
[4]熊擁軍,陳春穎.基于DW和OLAP技術(shù)的數(shù)字圖書館資源訪問分析[J].現(xiàn)代情報,2009,(11)
作者簡介:
蔡鑫輝,男(1996年12月——),浙江省嘉興市桐鄉(xiāng)市人,西北民族大學(xué)本科學(xué)生,研究方向為數(shù)據(jù)挖掘,軟件工程方法學(xué)等。