[摘要]分析目前數據挖掘領域中可視化方法的研究狀況,并結合可視化數據挖掘工具(WEKA)闡述可視化技術的應用,對可視化數據挖掘技術的發展進行展望。
[關鍵詞]數據挖掘 數據可視化可視化數據挖掘 WEKA
[文獻編碼]doi:10.3969/j.issn.0450-9889(C).2011.08.060
信息時代飛速發展的今天,掌握信息就是掌握商機,但決策者面對大量的數據,是很難作出正確的評估和決策的。因此,從大量數據中提取有用的信息并且用一種用戶一目了然的方式呈現出來,對于商家來說是至關重要的。可視化數據挖掘應運而生。
可視化(Visualization)是利用計算機圖形學和圖像處理技術,將數據轉換成圖形或圖像在屏幕上顯示出來,并進行交互處理的理論、方法和技術。它將符號或數據轉換為直觀的幾何圖形,便于研究人員觀察其模擬和計算過程。可視化包括了圖像綜合,這就是說,可視化是用來解釋輸入到計算機中的圖像數據,并從復雜的多維數據中生成圖像的一種工具。可視化數據挖掘可認為是從數據到可視化形式再到人的感知系統的可調節的映射。它指的是采用可視化的方式檢查、理解交互數據挖掘算法,它利用數據可視化技術作為計算機和用戶之間信息溝通的渠道,從而發現新穎而又易于理解的模式。
一、可視化技術介紹
一般來說,對于人而言圖像在信息傳播過程中比文字、聲音更有效,可視化技術的目標是幫助人們增強認知能力。可視化在現實數據和用戶認知之間建立起一個反饋環,實現數據的圖形或圖像表現形式。數據可視化的方法根據其可視化的原理不同可以劃分為基于幾何的技術、面向像素技術、基于圖標的技術、基于層次的技術、基于圖像的技術和分布式技術,等等。
(一)傳統的可視化方法
低維數據一般采用傳統的可視化方法,包括條形圖、柱狀圖、折線圖、餅圖、鋸齒圖、散點圖、局部回歸曲線圖、等高線圖、時序圖、核曲線、數據立方體。
當維度為三維時,可以采用數據立方體的方法通過切片、切塊、旋轉、鉆取等各種分析動作來觀察數據庫中的數據。但是,數據立方體在表現上缺乏直觀性,其數據的采集和表示都比較困難。

(二)新興的可視化技術
1.基于幾何投影技術的可視化方法。基于幾何投影技術的可視化方法的目標是抽取多維數據集中令人感興趣的少數維度數據的投影進行分析。如格架圖、安德魯斯曲線技術、散點矩陣技術、測量圖、平行坐標可視化技術和放射性可視化技術。
2.基于圖像技術的可視化方法。基于圖像技術的可視化方法是把每個多維數據項映射為一個圖像,這種技術限制了可視化維度的數目。如線條圖、圖標、色彩圖等。
3.面向像素的可視化方法。面向像素的可視化方法把每個數據項的屬性映射到彩色像素中,在不同的子窗口表現不同數據屬性的值。其優點是可以盡可能大的描述信息并且不會產生重疊,發現數據聚類以及其他有價值的關系。如空間添充曲線技術、遞歸模式技術、循環分段技術,SNA KE SPR IN G技術、SNA KE-AXES技術,以及組合技術。
4.數據管技術。數據管技術可認為是面向像素技術的一種擴充。它是指將循環分段的思想運用于三維空間中,用戶通過在管道中的漫游來獲取有用的知識。
5.分層技術的可視化方法。分層技術對k維空間進行再分,并以分層的方式來表示子空間。典型分層技術可視化方法是維度層積。每個維都離散化為子圖像柵格。子圖像根據兩個更多維度的箱數被進一步分解。分解過程持續遞歸,直到指定所有的維為止。
二、數據挖掘領域中的可視化
數據挖掘中的可視化按照應用階段總體上可以分為數據預處理可視化、數據挖掘過程可視化、數據挖掘結果可視化等幾個部分,而每一個部分中涉及的技術和研究內容相當多。
(一)數據預處理過程中的可視化
數據預處理階段的可視化主要是對數據的可視化,用到可視化技術的主要是數據可視化。現代的數據可視化(datavisualization)技術指的是運用計算機圖形學和圖像處理技術將數據轉換為圖形或圖像在屏幕上顯示出來并進行交互處理的理論、方法和技術。它涉及計算機圖形學、圖像處理、計算機輔助設計、計算機視覺及人機交互技術等多個領域。科學家們不僅需要通過圖形圖像來分析由計算機算出的數據,而且需要了解在計算過程中數據的變化。隨著計算機技術的發展,數據可視化概念也在不斷地擴展,它不僅包括科學計算數據的可視化而且包括工程數據和測量數據的可視化。

數據可視化是可視化技術在非空間數據領域的應用,它改變了傳統的通過關系數據表來觀察和分析數據信息的方式,使人們能夠以更直觀的方式看到數據及其結構關系,發現數據中隱含的信息。數據可視化的基本思想是將數據庫中的每個數據項作為一個圖形元素表示,大量的數據構成數據圖像,同時將數據的各個屬性值以多維數據的形式表示,可以從不同的維度觀察數據,從而對數據進行更深入的觀察和分析。
(二)數據挖掘過程中的可視化
數據挖掘的主要任務是關聯分析、聚類、分類、預測、偏差分析和時序模式等。
1.關聯分析(association analysis)。關聯分為簡單關聯、時序關聯和因果關聯。關聯分析是在時間集合中分析事項之間同時發生的規律,使得所挖掘的規則更符合需求。
2.聚類(clustering)。聚類是把數據按照一定規則劃分成若干類別,類內數據相似,類間數據相異。聚類分析可以從宏觀發現數據的分布模式,以及可能的數據屬性之間的相互關系。
3.分類(classification)。分類就是提取描述重要數據類,它代表了這類數據的整體信息,即該類的內涵描述,一般用規則或決策樹模式表示。
4.預測(predication)。預測是利用歷史數據找出變化規律,建立連續值函數模型,并由此模型對未來的數據趨勢進行預測。預測通常用預測方差來度量。
5.偏差分析(deviation)。偏差分析是探測數據現狀、歷史記錄或標準之間的顯著變化和偏離,在偏差中包括很多有用的知識和異常情況。偏差檢驗的基本方法就是尋找觀察結果與參照之間的差別。
6.時序模式flime-series pattern)。時序模式是指在時間序列中搜索出重復發生概率較高的模式,用已知的由所處時間的不同的變量得到的數據預測未來的值。
在傳統的數據挖掘中,上面的各個過程都是不可見的,用戶只有等到數據挖掘結束后才能看到效果,這樣的做法有以下弊端:
7.用戶無法預知數據挖掘的結果,又無法直接參與數據挖掘過程,當算法需要時間過長或者過短時,用戶將對挖掘的結果產生懷疑。
8.用戶可能會改變數據挖掘初衷,如某一用戶開始需要的是分類來進行預測,后來又臨時決定使用決策樹來進行預測,而這種和用戶毫無關系的數據挖掘將使得用戶被迫等待上個過程結束,才能開始自己現在需要的工作。
9.用戶可能希望控制結果的范圍和數量,如用戶希望能獲得10條關聯規則或者5個分類,一般的數據挖掘算法事先預訂好了這些參數,用戶無法干預數據挖掘過程,最后只好向挖掘算法妥協,顯然是不合理的。
由上面的分析可以看出數據挖掘過程中需要用戶的干預,需要運算結果的初步可視化。這個可視化主要是將數據挖掘的初步結果呈現給用戶,由用戶決定數據挖掘的最終結果顯示方式、顯示內容和挖掘方法。在數據挖掘過程中用到的可視化中用到的可視化技術是信息的可視化技術,即將數據挖掘過程中得出的關聯規則,聚類、分類等以用戶可以理解的方式表達出來,整個過程如下:

信息可視化(Information Visualiza-tion)在研究大規模非數值型信息資源的圖像表現,如軟件系統之中眾多的文件或者一行行的程序代碼,以及利用圖形圖像方面的技術與方法,幫助人們理解和分析數據,加快檢索速度。隨著可視化技術的不斷發展,數據可視化與信息可視化的分界已越來越不明顯。
(三)數據挖掘結果的可視化
數據挖掘結果的可視化是對抽象知識的可視化。數據挖掘結果可視化將數據挖掘后得到的知識和結果用可視化形式表示出來,這些形式包括散點圖、盒圖、柱狀圖等。其中,數據挖掘的過程仍然由數據挖掘的算法完成,可視化的結果表示能使用戶輕松地理解數據挖掘得到的信息。
根據數據挖掘算法選擇的不同,數據挖掘結果可視化選用的方法也各有千秋,以下以數據挖掘中最常用的關聯規則、聚類和分類來分別說明數據挖掘結果的可視化。
1.關聯規則:根據關聯規則的特點,這種數據挖掘算法的最終結果將表示成二位的分布圖或者三維的雷達圖。圖5是用雷達圖表示的多種復合劑對頭發、皮膚、眼睛的影響。

2.聚類分析:聚類分析的最后結果是一個個集合,該集合適合于用二維的散點分布圖來表示。圖6是對客戶和市場分類的二維散點圖表示。
3.分類:分類的結果是一個能將給定實例進行歸類的規則,最常用的是決策樹,圖7中是由工資和年齡判斷社會階層的決策樹。
三、結合WEKA分析可視化技術的應用
WEKA(Waikato Environment forKnowledge Analysis)作為一個公開的數據挖掘工作平臺,集合了大量能承擔數據挖掘任務的機器學習算法,包括對數據進行預處理,分類,回歸、聚類、關聯規則以及在新的交互式界面上的可視化。
跟很多電子表格或數據分析軟件一樣,WEKA所處理的數據集是如圖8一樣的一個二維的表格。
“Exploer”是WEKA使用最多的模塊。現在我們先來熟悉它的界面,然后利用它對數據進行預處理。首先載人數據。預處理頁頂部的前4個按鈕用來把數據載入WEKA,載入之后可以看到最初的可視化數據圖。如圖9所示。
載人數據后,預處理面板就會顯示各種信息。包括各種屬性、關系和實例。當點擊屬性列表中的不同行時,右邊Selectedattribute一欄的內容隨之改變。這一欄給出了列表中當前高亮顯示的屬性的一些描述。在預處理階段,可以定義篩選器來以各種方式對數據進行變換。Filter一欄用于對各種篩選器進行必要的設置。
WEKA的可視化頁面可以對當前的關系作二維散點圖式的可視化瀏覽。如圖表10所示。
選擇了Visualize面板后,會為所有的屬性給出一個散點圖矩陣,它們會根據所選的class屬性來著色。在這里可以改變每個二維散點圖的大小,改變各點的大小,以及隨機地抖動(jitter)數據(使得被隱藏的點顯示出來)。也可以改變用來著色的屬性,可以只選擇一組屬性的子集放在散點圖矩陣中,還可以取出數據的一個子樣本。
四、可視化數據挖掘技術的發展趨勢
可視化數據挖掘技術的未來發展包括兩個方面,一是針對非線性信息結構如Web數據和文本等數據開發中運用可視化挖掘方法加以表達;二是以基于可視化的人類決策代替一個分析過程中的某一數學步驟,當決策不再能夠自動生成時,以可視化支持由人類來處理決策,把快速、自動的數據挖掘算法與人腦的認知能力、判斷能力結合起來,提高可視化數據挖掘過程的速度和改善挖掘質量。
事實已經證明,可視化數據挖掘在處理大型數據庫和探索性數據分析中極具使用價值。在將來可使用的可視化類型將會越來越多。可視化的形式將從靜態圖表轉變為動態交互方式,可以可視化的數據將會更多和更復雜。
(責編 黎原)