引 言
數據挖掘最早出現在1966年在統計學的論文中,到1989年這個詞組就不再是負面意義了,它的產生和發展為人們從海量的數據信息中發現有用的知識提供了一條有效的途徑,數據挖掘可以幫助用戶發現隱藏在大型數據庫中的規律和模式 [1]。數據挖掘系統從體系結構上分可視化、API接口、數據挖掘引擎DME和存儲四個部分[2],可視化技術是其中重要的一方面?梢暬夹g運用到數據挖掘系統的基本思想就是將數據庫中的每一個數據項作為圖形元素輸出,大量的數據集構成數據圖像,同時將數據的各個屬性值以多維數據的形式來表示[4],可以從不同的維度觀察數據,從而對數據進行更深入的觀察和分析。
數據挖掘算法有聚類算法,分類算法,關聯規則算法等,分類算法是其中的一種,本文通過對分類算法中KNN算法的研究,將用各種可視化技術展現出來,從而更直觀明了的分析數據,發現規律。
1 可視化技術
可視化技術分為基于幾何的技術,基于圖標的技術,基于層次的技術,基于像素的技術等等;趲缀蔚募夹g有散列圖(Scatter plots)、超盒圖(Hyperbox)、地形圖(Landscapes)、映射追蹤(Projection Pursuit)、平行坐標(Parallel Coordinates)等方法;趫D標的技術有表長法(Table Lens)、臉譜圖(Chemoff Face)、形狀編碼(Shape Coding)、枝形圖(Stick Figures)、顏色圖標(Color Icon)等等;趯哟蔚募夹g有維堆(Dimensional Stacking)、樹圖(Tree map)、維嵌套(Worlds within Worlds)、錐形樹(Cone Trees)、雙曲線樹(Hyperbolic Trees)等方法;谙袼氐募夹g有遞歸模式技術(Recursive Pattern Technique)、圓周分段技術(Circle Segments Technique)等等。(數據挖掘可視化技術的研究與應用)將詳細介紹以下幾種可視化技術。
1.1平行坐標系技術
平行坐標法是最常見的可視化方法,它的的基本思想是將n維數據屬性空間用n條等距離的平行軸映射到二維平面上,每條軸線對應一個屬性維,坐標軸的取值范圍從對應屬性的最小值到最大值均勻分布。平行坐標數學思想就是將n維數據點映射到處于n條平行的坐標軸上的彼此相連的n-1條線段。這n-1條線段與n條軸相交的n個點分別代表了數據點的n維數據。這條折線可以用方程表示出來。如下
,
由上面的公式可以推導出
;其中,
表示斜率,
表示在
平面中
軸上的截距[5]。
1.2散點圖技術
散點圖(sacettprlot)是將數據集中的每一條記錄(行)映射成x和y坐標系或z(2一D)中的相應的點。散點圖的橫坐標軸上的值從左向右增加,表示“潛在原因”,縱坐標軸上的值表示“結果”。對于一個k維變量,散點圖矩陣為k行k列,其中的每行每列均唯一定義一個散點圖[6]。
1.3星型坐標系技術
星形坐標也是將n維數據映射到一個二維平面上,它的基本思想是在二維平面的圓上以兩軸之間有相同角度來排列坐標軸,圓點是圓的中心。最初,所有軸間夾角相等,所有的軸具有相同的長度,軸的長度與數據值成比例,最小值映射到圓點,最大值映射到軸的另一端,計算單位向量。通過調整軸長和角度,可以調整數據集在二維平面上的分布,從而實現數據挖掘。
星型坐標系的數學思想是星形坐標是一種曲線坐標系統,它可以通過定義二維點即原點
和一個代表坐標軸的二維向量
映射到笛卡爾坐標系統上。將數據元素(Dj)從數據集D中映射到二維笛卡爾坐標系上的點(Pj),C為各個坐標軸對應向量。
,其中
,
,
,
,
為各個坐標軸對應的向量[7]。
1.4多邊形技術
SBP(single–point Broken-line Parallel-coordinate)算法是數據表中的每一條記錄的中每一個數據維的數據值被稱為表格細胞,它的數據值就是部件向量,每一個部件向量,以一個不同的角度顯示。一條記錄中,每一個數據維對應于一個部件向量,向量的長度是依據每一個數據型數據維的屬性的大小或者名詞性屬性的值的不同來事先確定,而且一個數據維的部件向量的起點是在前一個數據維部件向量的終點,并且以固定的角度增加,而且這個角度是與數據表的維數相關。
Six=Si-1x+ai*cos(180/a*i)*L;
Siy=Si-1y+ai*sin(180/a*i)*L;
其中n是數據表中的屬性維的個數,L為空間與數據值的比例長度,方便調節多邊形在空間的大小。Six和Siy分別代表視覺元素在二維視覺空間的x坐標和y坐標。由維數所決定的a=180/n。依次將Vi={S1,…,S2}的Si端點連接起來,最后將連S1 Sn接起來,構成一個封閉的多邊形。
2 分類算法
數據挖掘算法多種多樣,分類算法是其中的一種。分類算法就是把未知類別的樣本根據分類器映射到給定類別中的某一類。分類可以用于預測。分類算法有決策樹,Knn算法,Svm算法,Vsm算法,Bayes算法,神經網絡算法等等。以Knn算法為例子,即K最近鄰(k-Nearest Neighbor,KNN)分類算法,該方法的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。Knn算法不僅可以用于分類,還可以用于回歸。通過找出一個樣本的k個最近鄰居,將這些鄰居的屬性的平均值賦給該樣本,就可以得到該樣本的屬性。更有用的方法是將不同距離的鄰居對該樣本產生的影響給予不同的權值(weight),如權值與距離成正比[8]。
3 多種可視化技術在分類算法中的應用
3.1 實驗數據
實驗數據采用的是常用的鳶尾花數據集(Iris),該數據集從加州大學厄文分校(UCI)的機器學習庫中得到。該數據集分三類(Setosa、Versicolour和Virginica),每類50個實例,每個實例有5個特征屬性,即類(class),萼片長度(sepal-length),萼片寬度(sepal-width),花瓣長度(petal-length),花瓣寬度(petal-width)。
3.2模型介紹
數據挖掘可視化技術可分為數據可視化,數據挖掘過程可視化,數據挖掘結果可視化。
它的基本思想如圖1,
圖1 挖掘結果可視化
將數據挖掘結果可視化的基本思想就是首先數據進行預處理成為符合要求的數據,然后調用不同的數據挖掘算法得到其結果對其進行可視分析,再可以選擇不同的可視化方法展示不同的可視化模型結果。
3.3 平行坐標系技術在Knn的應用[9]
將鳶尾花數據集(Iris)的在Knn算法分析下,將數據挖掘[10]的結果以平行坐標系技術展示出來如圖,清楚明了?梢钥吹綄ⅧS尾花數據集(Iris)完全分類。分成三類,不同類不同簇不同的顏色。Knn算法將數據集分類。從圖中可以看出平行坐標技術的優點在于可以在有限的二維空間中顯示多維數據,數據挖掘的結果更清楚的展示出來,便于分析各個維度的關系,判斷聚類和分類結果。但是平行坐標系技術也有一些不足,只適合維度不多的數據集,它的維度取決與屏幕的寬度,當維度過多時軸線離得距離很近,分析數據的結構難度就增大,所以不適合維度過多的數據。并且通過觀察可以看到只適合數據集實例不太多的情況,否則折線密度增加會產生產生大量交疊線 ,難于辨識。從圖中還可以看到如果坐標軸的位置交換了也影響互相的觀察順序。
3.4 散點圖技術在Knn的應用
將鳶尾花數據集(Iris)的在Knn算法分析下,將數據挖掘的結果以散點圖技術展示如圖:
從圖中可以看到不同類聚集比較緊密,黑色與藍色和綠色分離的比較遠,而藍色和綠色離的比較近。散點圖的優點在于清晰反應多個變量兩兩之間的對應關系,散點圖中的對角線反應變量標記和變量的取值范圍。不足之處也在于僅限于反應多個變量兩兩之間的對應關系,不能反應剩下維度的關系。矩陣也會受到屏幕大小的限制,維數過多屏幕將無法顯示。
3.5 星型坐標系技術在Knn的應用
將鳶尾花數據集(Iris)的在Knn算法分析下,將數據挖掘的結果以星型坐標系技術展示出來如圖,
通過圖可以看到數據集的分布情況,綠色和黑色拉比較長,藍色與其明顯區別開。當如果拉長坐標軸時,可以使結果變的更清晰,便于分辨結果。從圖中可以觀察到星型坐標技術適用于高維數據集,但是如果超過一定維數過高的時候將不能很清晰的表示,數據集實例相對也很多,但是如果數據集實例個數過于龐大將會出現數據重疊現象,將不利于觀察。
3.6 多邊形技術在Knn的應用
將鳶尾花數據集(Iris)的在Knn算法分析下,將數據挖掘的結果以多邊形技術展示出來如圖,
通過圖形可以看出,第一個簇結果不是很清晰,具有不規則性。第二個簇和第三個簇相比第一簇效果好,相似度高,通過觀察多邊形的面積和形狀進行比較,形狀越相似的多邊形,距離越是接近,只有第二簇有一條折線不規則。通過觀察可以看到多邊形技術的優點在于屏幕空間利用高,維數可以很大。
3.7幾種可視化技術的比較
可視化技術多種多樣,從本文研究的這四種可視化技術,平行坐標系技術,散點圖技術,星型坐標技術,多邊形技術分析,各有優缺點。對分類聚類的結果要求準確顯示的適用于平行坐標系技術,為了反映變量兩兩之間相互關系的采用散點圖技術,對于維數比較多采用多邊形技術,它對屏幕空間利用率高。通過變動維度長短可以采用星型坐標技術。
結論
本文將數據挖掘的一種分類算法Knn算法[12]以各種可視化形式表現出來,對研究該算法有很大幫助,將復雜的結果以直觀的顯示在用戶面前,加深對用戶對算法的理解。通過本文一個算法可以說明的可視化技術運用到各種數據挖掘算法將同樣有很大幫助,將數據挖掘的結果以多維數據的形式來表示,可以從不同的維度觀察數據,從而對數據進行更深入的觀察和分析,用戶可以通過一些方法改善挖掘結果,更好的學習數據挖掘算法。
可見,可視化技術在數據挖掘研究中很幫助。接下來的工作是將可視化技術應用到其他數據挖掘算法中去,更深刻的理解數據挖掘算法。
參 考 文 獻
[1] 陳安,陳寧,周龍驤等 數據挖掘技術及應用[M] 北京:科學出版社 2006
[2] 司建輝 數據挖掘系統框架及其元數據管理的研究[D] 北京:北京工業大學,2006
[3] 李云強,徐艷 淺談可視化數據挖掘技術與工具[J] 大眾科技 2006,3:40-41
[4] 車名華 數據挖掘技術在分析型CRM中的應用研究[D] 遼寧:大連海事大學 2008
[5] 翟旭君 基于平行坐標的可視化數據挖掘技術研究[D] 北京:清華大學 2004
[6] 崔彬 數據挖掘中多維數據可視化的研究[D] 湖北:武漢理工大學 2006
[7] E.Kandogan,Visualizing Multi-dimensional Clusters,Trends,andOutliers using Star Coordinates,Proceedings of the Seventh ACMSIGKDD International Conference on Knowledge Discovery and DataMining,ACM press,2001,107-116.
[8] http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm
[9] Harri Siirtola, Kari-Jouko Raiha. Interacting with parallel coordinates[J]. Interacting with Computers, 2006:1-32
[10] 毛國君,段立娟,王實,等.數據挖掘原理與算法[M].北京:清華大學出版社,2005
[11] Zhu Jianqiu. A Survey on Data Mining System Evolution[OL]. http://www.dmgroup.org.cn / zhujianqiu/dmsystem.pdf, 2004-10
作者簡介
劉玲,(1985-),河北邢臺人,北京工業大學在讀碩士,研究方向是數據挖掘系統中的可視化技術。09912