• 沒有找到結果。

jt The Analysis and Research of Clustering Algorithms and Clusters Parameters sEtksERPQ

N/A
N/A
Protected

Academic year: 2022

Share "jt The Analysis and Research of Clustering Algorithms and Clusters Parameters sEtksERPQ"

Copied!
30
0
0

加載中.... (立即查看全文)

全文

(1)

朝陽科技大學資管系

群聚演算法及群聚參數的分析與探討

The Analysis and Research of Clustering Algorithms and Clusters Parameters

陳榮昌 Chen, Rong-Chung 林育臣 Lin, Yu-Chen

朝陽科技大學資管系

(2)

群聚演算法及群聚參數的分析與探討 摘要

本研究的目的在於對群聚演算法的研究與探討,並提出群聚特性評估與群聚維度 選擇的方法,協助使用者了解群聚參數與資料維度對於群聚的影響與意義,藉此強化 群聚演算法的使用。在以往的研究中,已經有許多學者提出各種類型的群聚演算法,

這些演算法大多都需要設定群聚參數,而且群聚參數的選擇會到影響群聚後的結果,

因此,使用者必須要充分的了解群聚參數對於群聚的意義並選擇適當的群數參數來進 行群聚,才能有效的利用群聚演算法來幫助解決決策上的問題,基於以上因素,本研 究將對於群聚的資料分佈意義以及參數對群聚的意義與各群聚間的關係做更進一步 的分析與描述,找出重要的群聚特性並提出一個新的群聚評估式,以期協助決策者有 效地找出適當的群聚參數。

最後,我們將把本研究所提出的群聚評估式建構成一個自動化評估群聚參數的預 先處理工具,並應用於 k-means 群聚演算法上,使用者只要將欲分析的資料庫輸入,

該系統便會根據本研究所提出的評估式,對於資料庫進行評估分析,最後系統將主動 提供最佳的群聚參數值(如:分群數 k)給使用者作參考。

關鍵字:群聚演算法、群聚參數、群聚特性、評估式

Abstract

The goal of our research is to study the clustering algorithms and to analyze the characteristics of clusters for the decision of the parameters of the clustering algorithms. In the past researches, all kinds of the clustering algorithms are proposed for dealing with high dimensional data in large data sets. Nevertheless, almost all of clustering algorithms require input parameters while the users do not have enough domain knowledge to determine the input parameters. Thus, our researches will analyze and discuss the meaning of data distribution in a cluster and the meaning about parameters of the cluster. A formula for evaluating the important factors in a cluster is proposed to determine whether it is well clustered.

Finally, we propose a pre-processing tool for evaluating the parameters automatically and apply it to the K-means algorithm as an example. All users can use the evaluation formula to analyze databases by the helping of the evaluation system which will give a

(3)

suitable parameter (the value of parameter k) for the k-means algorithm.

Keywords: clustering algorithm, clusters parameters, characteristics of clusters, evaluation formula

一、緒論

由於企業的電子化與資料庫技術的進步,現在的企業非常倚重資料庫來儲存商業 交易資料與顧客資料等,隨著企業長期的經營,其資料庫內會累積龐大的資料,而在 這些資料中往往蘊藏著可以幫助決策者制定商業模式及策略的資訊,決策者對於如何 把資料轉成有用的商業資訊並從中找到可提供決策資訊參考有著很大的興趣,而群聚 技術(Clustering technology)便是一項很常利用來探勘這些資訊的重要利器。群聚技 術可以從龐大的資料中,找出資料的分布狀況並找到其隱藏的意義,例如當使用者面 臨要分析處理龐大的資料時,可以利用群聚技術先將這些資料分成若干個群聚,再針 對不同的群聚加以分析,如此,便可以簡化使用者分析資料時的複雜性。群聚技術的 目的是在分析資料的內容,將性質相似的資料群聚在一起,而讓不同的群聚與群聚間 資料相異性大。

有別於傳統的分類(Classification)群聚技術不預先設定分類所代表的意義,而 把資料先以群聚技術將性質內容相近的資料聚集成一群群的群聚後,再分析定義各群 聚的意義。雖然如此, 大多數的演算法還是需要使用者輸入參數,若使用者無法選擇 適合的參數來進行群聚,最後的結果可能不夠理想,因此,本研究提出了一套有效的 預先處理方法,幫助使用者解決群聚參數選擇的問題。首先我們從現有的群聚演算法 中找出重要的群聚特性,並且提出一套新的群聚評估式來評判群聚的結果,讓使用者 調整其群聚參數。我們將以 K-means 群聚演算法為例,利用本研究所提出的群聚評估 式來評估群聚結果並主動向使用者建議最佳的群聚參數,藉此以達到幫助使用者選擇 適當的群聚參數之目的。

在以下的文章中,在第二節我們對以往重要的群聚演算法進行簡單的回顧,然後 在第三節中我們將對於群聚的參數與重要的群聚特性作一番討論與分析並詳細介紹 本研究所提出的新的群聚評估式。在第四節中,我們將以 k-means 為例來進行驗證群 聚評估式之有效性並建構一個自動化的預先處理系統,主動地向使用者建議最佳的群 聚參數值。最後,重要的結論將列於第五節。

二、文獻回顧

到目前為止,群聚技術已經發展出許多的演算法,其大致上可以分為下面幾類【1】

【21】:(1)將資料庫內的資料分為 K 群的切割式群聚演算法(Partition clustering algorithms)。(2)將資料庫內的資料以樹狀架構整理的階層式群聚演算法(Hierarchical clustering algorithms)。(3)資料庫內的資料在分類時,將密度高於一個門檻值的『鄰 居 區 域 』(Neighborhood)聚集成一個群聚的密度基礎群聚演算法(Density-based

(4)

clustering algorithms)。(4)將資料空間量化成許許多多格子(Grid cells)的格子基礎群 聚演算法(Grid-based clustering algorithms),其每一個格子內皆可以隱藏許多資訊,

因而大量的減少群聚的時間。詳述如下:

一、切割式群聚演算法: 他是發展最早的群聚技術,這一類的演算法使用者必須 先決定所要分割的群聚數目,再以重心點基礎(Centroid-based)或中心點基礎

(Medoid-based)的方式進行分群。K-means【2】是最典型的以重心基礎的切割式群 聚演算法,它是以群聚的重心作為群聚的代表點(Representative objects),此方法所 得的群聚的品質很容易受到雜訊(Noises)或是離群值(Outliers)所影響。以中心點 為代表點(如PAM【3】)的群聚技術對於小型的資料集合(Data sets)有著不錯的處 理能力,但是處理大型資料庫就適合採用以取樣為基礎的 CLARA【3】演算法和 CLARANS【4】演算法。

二、階層式群聚演算法:他呈現一種樹狀的架構,可分成凝聚法(Agglomerative)

及分裂法(Divisive),如圖一所示。凝聚法是由下而上(Bottom-up)凝聚而成,演 算法一開始先將資料庫內每一筆資料當作一個群聚,接著依資料屬性的相似度開始做 合併,每次合併兩個相似度最高的群聚,直到所設定的終止群聚數目為止。而分裂法 是為由上而下(Top-down)分裂,將資料庫內所有的資料視為同一個群聚,然後將資 料相似度低的分裂呈不同群聚,直到群聚數目為所設定之終止數目為止。大部分階層 式演算法是由下而上凝聚,資料凝聚的評估式為以下幾種【1】:

j i j i

meanC C m m

d ( , )= − (2-1)

p' n p

n ) 1 C , (C

d

p Ci p' Cj

j i j i

avg

= ∑

(2-2)

' max

) ,

(

, '

max

C C p p

d

i j

=

pCi pCj

(2-3)

' min

) ,

(

, '

min

C C p p

d

i j

=

pCi pCj

(2-4) 在計算式(2-1)中 Ci與Cj分別代表第i 與 j 群,mi與mj為第i 與 j 群的重心點,其 評估方法是先以群聚的重心點mi與mj代表該群聚,計算兩個群聚的重心點的距離為 群聚距離。在計算式(2-2)中,Ci與Cj分別代表第i 與 j 群,ni與nj為第i 與 j 群內 資料的數量,P 與 P′為第 i 與 j 群內的代表點,它是計算兩群聚內所有資料點的距離 平均數來表示兩群聚的距離。而在計算式(2-3)中,Ci與Cj分別代表第i 與 j 群,P 與P′為第 i 與 j 群內的代表點,其評估方式是以兩群聚中最遠的兩資料點 P 與 P′的距 離來代表群聚的距離。計算式(2-4)中,以 Ci與 Cj代表第 i 與 j 群,P 與 P′為第 i 與 j 群內的代表點,其計算方式是以兩群聚間最近的兩資料點 P 與 P′來代表群聚距 離。如果空間上的資料點分佈良好的話,利用四種評估式合併的結果應該會很相似,

但是如果資料點分布情況不佳,則不同的評估式會產生不同的群聚結果。目前的常見 的演算法有BIRCH 【5】、CURE 【6】、ROCK 【7】、CHAMELEON 【8】、AMOEBA

(5)

【9】、AUTOCLUST 【10】等。

CURE 演算法以群聚間的相似程度(Closeness degree)為合併的依據,固定選擇 C 個點(2≤C≤N,N 為全部資料集合)代表群聚,接著將全部的代表點向重心收縮參 數α(0≤ α ≤ 1),以此將相似的群聚合併,直到我們所要的群聚數為止。CURE 演算 法適用於大型的資料集合,可以辨識任何形狀的群聚,對離群值處理較健全,但它不 適合處理類別屬性(Categorical)資料,且由於 CURE 演算法採用了取樣來進行群聚,

故需注意取樣的結果。

ROCK 演算法強調不同群聚間的資料互相鏈結(Inter-connectivity)的關係,它 對於類別屬性資料有良好的處理能力。例如圖二:使用MST 方法對資料庫內的資料 進行群聚,首先{1,2,3}與{1,2,4}將凝聚成一個群聚,而{2,3,5}與{2,4,5}將凝聚成一個 群聚,以此最後將得到 A、B 兩個群聚結果。接著我們使用相似度評估公式(2-5)

去衡量其屬性相似程度:

1 0

2 ,

1 2

1 ≥ ≤ ≤

= TTTT α α

Sim ,其中T1與T2分別代表資料庫內任兩筆資料 (2-5) 結果發現{1,2,3}與{2,4,5}雖然歸類為同一群聚,但是其屬性的相似程度只有 0.2,而 {1,2,3}與{1,2,7}被歸為不同的群聚,但是其屬性的相似程度卻有 0.5,由此可知這樣 分群的結果是不合理的,所以 ROCK 演算法根據此缺點提出了修正的方法,例如當 資料點{1, 2, 3}與資料點{1, 2, 4}凝聚的時候必須去計算兩個資料點共同鄰居數目(共 同鄰居為資料點{1, 2, 3}與{1, 2, 4}共同只差一個屬性的資料,故共有{1,2,5}、{1,3,4}

與{2,3,4}),共同鄰居數目又稱 Link 數,而 Link 數越高的,則資料間的相似度也越 高。ROCK 著重於群聚間資料互相鏈結的關係,卻忽略了群聚的相似程度,而 CURE 著重於群聚的相似程度,卻忽略不同群聚間資料互相鏈結的程度,在 CHAMELE 演 算法中針對 CURE 與 ROCK 的缺點,提出了修正。它是以相對互相鏈結(Relative Interconnectivity, RI)與相對相似(Relative Closeness, RC)為基礎的階層式群聚演算 法,它先以最近鄰居法(K-nearest neighbor)將所有的資料聚集為一群聚,接著將群 聚切割為若干子群聚(Sub-clusters),最後以 RI 與 RC 為評估方法,將子群聚合併直 到所訂定的群聚數目。

三、密度基礎群聚演算法:在群聚內資料分佈的密度應該大於群聚外資料分佈的 密度,基於此觀念所發展出來的群聚方法稱為密度基礎群聚演算法,目前較重要的方 法有DBSCAN【11】、IncDBSCAN【12】、OPTICS【13】。在 DBSCAN 演算法中,使 用者需設定鄰居區域的半徑(Eps)及至少存在於該鄰居區域的資料點數(MinPts)

兩個參數,只要在半徑Eps 鄰居區域內的資料點數大於門檻值 MinPts,則形成群聚,

如圖三所示,若以P 為圓心,以 Eps 等於 1 維半徑,搜尋鄰域內資料點數大於 MinPts 值,而形成群聚,則P 點稱為核心點(Core point),而若是將圓心移至 q 點,卻無法 形成群聚,則q 點稱為邊緣點(Border point)。接著 DBSCAN 開始由核心點向外擴 展群聚範圍,由使用者所訂定Eps 的區域可直接包含且形成群聚的資料點,稱為密度 直接到達(Directly density-reachable)。藉由邊緣點向外拓展可間接包含到的資料點,

稱為密度間接到達(Density-reachable)。如圖四所示,藉由可以包含到的資料點,群

(6)

聚不斷的向外拓展,直到所有的資料點分配完成為止。利用密度方法的特性,DBSCAN 可以有效分辨並控制離群值,但是對於處理任意形狀群聚的辨識效果較差。OPTICS 演算法是為了解決參數問題而提出了密度基礎的分群順序,它擴充 DBSCAN,根據 此順序自動去處理參數。DBCLASD【14】是另一種不需要輸入參數的演算法,它是 以分配基礎群聚演算法(Distribution based clustering algorithms),在同一群聚內資料 點到最近鄰居距離短的出現頻率應該高於距離長的出現頻率,如此會呈現機率分配。

四、格子基礎群聚演算法: 他將資料空間量化成許多格子,大量的減少群聚的時 間。在這類演算法中,較具代表性的STING【15】、WaveCluster【16】、CLIQUE【17】。

STING 演算法是將資料空間切割成格子狀(如圖五),其群聚方式是由上而下的,利 用廣度搜尋將格子內的群聚作合併。STING 探索存在格子的統計資訊,然後群聚,

其缺點是分群邊緣的形狀不是水平就是垂直,儘管有快速的群聚處理時間,但會有損 及其品質及正確率。此外,STING 是呈現階層式架構,較高的階層會儲存較低階層 資訊的總合,所以查詢的速度非常快速,其時間複雜度為O(k)(k 為最底層格子的數)。

以上幾種類型的群聚演算法因為群聚方式的不同,所以皆存在著一些限制與缺 點。近來有些學者嘗試以混合的方法,結合多種群聚技術,取其演算法的優點,如 BRIDGE【18】,它有效的結合K-means快速容易執行且可以找到最佳的群聚之特性與 DBSCAN可以屏除受離群值影響的優點,成為更好的群聚演算法。最後,我們將目前 的群聚演算法依分類及發表的年份整理成圖表(圖六)。這些群聚演算法因為有先天上 的限制或缺點其各有特色,我們可以藉由一些評量標準來判斷群聚演算法的優劣(請 參考【1】)

三、群聚特性之研究

本節研究的目的在於群聚特性的分析與制定新的群聚評估式來衡量群聚的結果。

目前大部分的群聚演算法都需要使用者輸入群聚的參數,而且這些參數的設定會影響 群聚後的結果,故使用者必須要充分了解所要解決的問題及參數對於群聚的意義,才 能選擇適當的參數進而得到較好的群聚結果。基於以上因素,本研究將根據目前重要 群聚演算法的特性,將群聚資料分佈的意義、參數對群聚的意義以及各群聚間的關係 做更進一步的分析與描述,並訂定新的群聚的評估式以便協助決策者有效地找出適當 的群聚參數,藉此強化群聚演算法來提供決策者更多的便利性。

3-1 群聚參數與群聚特性之分析

大多數的演算法都會要求設定參數,如 K-means【2】、PAM 與 CLARA【3】等 切割式的演算法,需要輸入最後所要輸出的群聚數目 K,而後來的 CLARANS【4】

演算法中雖然不再要求輸入群聚數目 K 值,但是它卻需要輸入參數最大鄰居數

(Maxneighbor)與局部最小值(Numlocal)兩個參數,其中 Maxneighbor 指的每次 測試需不需要與任意鄰居置換的最大數目,而 numlocal 指的是在局部找到最低群聚 成本數目。在階層式群聚演算裡,也是需要參數的設定,如 CURE【6】演算法必須

(7)

要輸入選擇代表點數目C 與向重心收縮參數α,而有的演算法要設定群聚分裂或凝聚 停止的數目。以密度基礎的演算法,如 DBSCAN【11】則是要設定鄰居區域的半徑 Eps 與最低資料點門檻值 MinPts 等。群聚參數會影響到群聚的品質,如切割式群聚 演算法需要的群聚數目 K 值,如果設定不恰當,其得到的群聚的群集性會不佳,在

【3】中,提到了一個計算 silhouette 係數的方法來評估最佳群聚數,其計算方式如下

(式子3-1),假設資料點 i 被歸納到群聚 A 內,以 a(i)表示此資料點到群聚內所有資 料點的平均距離,d(i,C)表示 i 點到其他群聚 C 內所有資料點的平均距離,而 b(i)為 min d(i,C),其中群聚 A≠群聚 C,其資料點 i 值的 silhouette 係數 s(i)為式子 3-1 所示。

1-[a(i)/b(i)] ,當 a(i)<b(i)

s(i)= [b(i)/a(i)]-1 ,當 a(i)>b(i) (3-1)

0 ,當 a(i)=b(i)

s(i)表示 i 點是否適合歸類到該群聚的程度,假如 s(i)接近 1,則表示資料點 i 適合被 歸類到該群聚,反之,假如假如 s(i)接近-1,則表示不適合歸納到該群聚。對於不同 的群聚數目K,我們會計算出其 s(i)總合的平均數 s(k),s(k)越高表示其群集性越好。

而其他如DBSCAN 演算法則是嘗試以固定的半徑,不同的 MinPts 進行群聚,會找到 群聚與雜訊點數量呈現山谷狀(Valley)曲線(如圖七所示),由曲線可以觀察出,當 我們將MinPts 訂定太低時,其所群聚的數量應該會變多,反之若是將 MinPts 訂定太 高,則所找到的群聚數量會變少,而大部分的資料點都會形成雜訊點,因此藉由此曲 線,我們找出其轉折的臨界點(Threshold point),此臨界點所對應到的 MinPts 與 Eps 則為較好的群聚參數值,但是這樣的方法使用者必須反覆的調整MinPts 與 Eps 值,

才能找出較為適當的臨界點,以上預先處理(Pre-processing)的分析工具都是為了方 便使用者找到適合的輸入參數,藉由適當參數的輸入進而得到群集性較佳的群聚。

綜合以上的討論與描述,我們將重要的群聚演算法之比較與其所需要的群聚參數 整理成表一,雖然以往的研究中如K-means 與 PAM..等切割式群聚演算法,可以利用 silhouette 係數的方法來評估最佳群聚數 k,而 DBSCAN 則可以利用固定 Eps,嘗試 不同的 MinPts 找出曲線圖進而找到適當的參數值,然而利用這些方法,使用者還是 無法清楚的評估出其所找出來的群聚品質是否良好,所以本研究將會利用群聚的特性 找出適當的評估式子,使用者藉由群聚的評估式不僅可以判斷群聚結果的品質狀況,

並且可以不斷的調整其群聚輸入參數,再利用我們的群聚評估式評估群聚結果,藉此 找出最適當的參數值,利用我們的評估式必能強化群聚演算法的使用。

由表一中以切割式群聚演算法來說,其群聚方式大概可以分為兩個步驟,首先使 用者依照其欲分群的數目從資料庫中選擇 K 個代表點,接下來將未選擇到的資料點 以歐式距離為評估方式,分配到最接近的代表點,最後所有的資料點都會被分配給某 個代表點形成k 個群聚。這類型的群聚方法較重要的有 K-means、 PAM 與 CLARA 等。這些演算法在進行群聚時,會先要求使用者輸入欲分群的數目 K,假設 K 值選 擇不恰當可能會導致群聚的結果不理想,因此為了找到群集性高或是較佳的群聚結 果,我們可以根據silhouette 的評估係數來評估群聚的結果。silhouette 是以距離的方 式來評判資料點歸屬到該群聚或是歸屬到相鄰的群聚的適合程度,這樣的評估方式只

(8)

考慮到資料點是不是適合分配給該群聚,並沒有對於群聚內資料點分佈的狀況加以分 析與討論,因此,雖然我們可以藉由silhouette 係數的計算找到最佳的分群數目值 K,

但是並無法從評估式中了解群聚內資料點分佈的結構狀況(如資料點分佈是否緊 密),所以在論文中,我們將改進silhouette 係數此一缺點,把分群後各群聚內資料點 的分佈情況納入考量。另外,階層式群聚演算法是以資料點的相似程度來進行分裂或 是凝聚的群聚動作,其相似程度是以歐幾里德距離公式或是相似度評估公式(3-2)

進行評估。

筆資料 分別代表資料庫內任兩

其中T1 T2 ,

1 0 2 , 1

2

1

= α α T

T T

Sim T (3-2) 密度基礎群聚方式是利用群聚內的密度會高於群聚外之密度的原理來進行分 群,其中重要的演算法有DBSCAN、DBCLASD..等。DBSCAN 要求輸入 Eps 及 MinPts 兩個參數,而這兩個參數主要的意義在於當一個鄰居區域內的資料點密度大於某一個 程度時,才能成為群聚,故由此可知當我們欲評估一個群聚的時候,也應該對於群聚 內資料點的密度加以討論。此外一些 不需要輸入參數的方法,如 AMOEBA、

AUTOCLUST、DBCLASD..等,則著重於其他的群聚特性。AMOEBA 與 AUTOCLUST 群聚演算法計算每個資料點與鄰居距離的平均長度,其認為在同一個群聚內的資料點 間的距離會小於所求出的平均長度,DBCLASD 也是利用類似的觀念,不同的是它是 以機率分配來描述,其認為在一群聚內每個資料點與最近鄰居的距離長度,距離長度 短的出現頻率會高於距離長度長出現的頻率(如圖八所示)。

由以上 AMOEBA、AUTOCLUST、DBCLASD....等群聚演算法的描述中發現這 些演算法所強調的是群聚內資料點凝聚的特性,也就是說,一個較好的群聚其內部的 資料點分佈應該是向群聚中心集中,且要夠密集,如此該群聚的群集性才是高的,因 此,在我們的群聚評估式中也將衡量群聚內資料點凝聚集中的程度,藉由這項群聚的 特性,更提高我們群聚評估式的正確性。

格子基礎的群聚演算法主要是將資料空間量化成許多格子,以格子為單位進行群 聚運算,如此可以大量的減少群聚的時間。格子基礎群聚演算法所找到的群聚很容易 受到其格子大小的影響,若是格子太大則所找出的群聚外型會比較粗糙,故使用者必 須輸入適當切割間隔值,如此才能分割出適當的格子。格狀的群聚演算法與密度式群 聚演算法相當類似,兩種演算法都強調群聚密度的特性,例如 CLIQUE 群聚演算法 就是計算格子內資料點數量來判斷是否有群聚存在,當格子內資料點數量高的時候,

該格子就成為一個群聚,然後再檢查相鄰格子是否也為群聚,如果相鄰的格子也是群 聚則可以與它合併成一個較大的群聚,由此我們可以知道格子基礎的群聚演算法也是 以群聚的密度特性為群聚之基礎。

綜合以上各演算法對於群聚性質的描述,我們發現各類型的群聚演算法因為群聚 方式的不同,都有其特別強調的群聚特性,但每種方法對於群聚特性的考量也都有不 足的地方,其中也存在著許多問題與缺點,所以本研究將對於群聚資料分布、群聚結 構及群聚與群聚間的關係做更精細的探討,並將藉由群聚性質的分析中,找出重要的

(9)

群聚特性並制定新的群聚評估式,在下一小節中,我們將會詳細介紹本研究所提出的 群聚評估式。

3-2 群聚評估

綜合各類型群聚方法所著重的群聚特性與評估上的缺點,我們根據以往研究所描 述的群聚特性與資料點分佈的狀況,篩選出三個重要且能表現出群聚特性的因素分別 為:鑑別率(Discrimination rate)、凝聚率(Agglomerate rate)與密度率(Density rate),

並將這三個群聚特性量化成評估值,藉由評估值的比較,使用者更可以清楚地了解是 否找到好的群聚結果。接下來我們將對這三個重要的群聚特性一一介紹。

3-2-1 鑑別率(Discrimination rate)

根據以往的文獻探討中我們可以知道一個好的分群是能將相似的資料聚在一起 並且很清楚的區別群聚間的不同,也就是說群聚演算法必須要能很清楚的鑑別出哪些 資料是同群,哪些資料非同群。在階層式的群聚演算法中便是以資料的相似程度作為 資料凝聚的依據,其評估資料相似度有四種,第一種是以一群聚的重心點代表一個群 聚,計算兩個群聚的重心點的距離作為相似程度的評量,第二種是以兩群聚最遠的兩 資料點的距離來表示相似程度,第三種是以兩群聚間最近的兩資料點的距離來代表群 聚相似程度,最後一種是以所有資料點的距離平均數來代表兩群聚的距離,如圖九所 示,以這些方法進行群聚凝聚,便能達到將相似的資料凝聚在一起,不相似的資料則 區隔成不同群聚的目的。

依據以上幾種評估方法我們提出了群聚鑑別率的觀念,其主要的目的是在於透過 鑑別率評估分析,便能清楚的判斷群聚與群聚間是否有很明顯的區隔,也就是說群聚 與群聚間的距離越遠則鑑別程度越高。根據我們的觀察與分析,發現第一種以計算兩 群聚重心點來代表群聚距離的方法並沒有考慮到群聚半徑範圍之因素,故採用此方法 來評估鑑別程度時會發生錯誤,例如:如圖十(a)所示,當兩群聚重心點距離一樣(即 評估出的鑑別程度一樣),假設兩群聚的半徑較大時,則群聚與群聚間的分隔相當小,

反之若是兩群聚半徑都很小時(如圖十(b)所示),則我們發現其群聚間有明顯的分 隔,所以圖十(b)群聚的鑑別程度應該是較高的。第二種是以兩群聚內最遠的資料點 距離來代表群聚距離也是未考慮到群聚半徑範圍之因素,例如,當兩群聚最遠資料點 距離一樣,但兩群聚的半徑較大時(如圖十一(a)所示),則群聚間無明顯區隔,反之 若是兩群聚半徑都很小時(如圖十一(b)所示),則群聚間有明顯區隔。第三種是以兩 群聚內最近資料點距離來代表群聚距離,雖然以此方法可以固定住群聚間的距離,而 不受群聚半徑大小的影響,然而若是未考慮群聚的半徑範圍,而把圖十二(a)與圖十二 (b)的鑑別程度視為一致是很不合理的。為了改善上述所幾種評估方法的各種缺點,

我們的鑑別率評估方法將採用第三種計算兩群聚最接近的資料點距離,保留其可以固 定群聚間的距離的優點,並且加入了群聚半徑的考量,最後我們的鑑別率計算方式如

(10)

公式3-3 所示,其鑑別率的值會介於 0~1 間,鑑別率越接近 1 則代表鑑別效果越佳。

1 鑑別率 0

兩群聚重心點的距離 , 離 兩群聚間最接近點的距

鑑別率 = ≤ ≤ (3-3)

以本研究所訂定的鑑別率來評估群聚間的鑑別程度,不但不受群聚半徑大小的影響,

並可以根據半徑大小調整出調合理的鑑別率值,如圖十三(a)所示其群聚間最近點距離 為 2,群聚重心點距離為 4,而圖十三(a)中,其群聚間最近點距離為 2,群聚重心點 距離為6,若是由以往利用最近點距離來評估,則兩個分群的鑑別距離都為 2,這樣 是不合理的,因為圖十三(a)中的群聚半徑較小,雖然兩者鑑別距離都為 2,但相對而 言,圖(a)的鑑別程度應該是較圖(b)高,而若採用我們的鑑別率評估,則可以分別得 到0.5 與 0.33,便可充分且合理的表現出群聚的鑑別程度。

3-2-2 凝聚率(Agglomerate rate)

在群聚分群中,我們除了考慮到群聚的鑑別程度外,必須還要考慮到群聚內資料 點分佈是否夠集中,在過去的研究中我們發現AMOEBA、AUTOCLUST、DBCLASD..

等群聚演算法都提到群聚內資料點緊密程度的觀念,在這些研究中認為一個好的群聚 其內部資料點分佈應該是非常緊密的,而且當一群聚內資料點分佈緊密度高時,其資 料點與資料點間的距離都是很短的,根據以上研究的理論,我們將群聚的緊密度量化 成凝聚率,利用本研究所提出的凝聚率計算式,更能有效的衡量群聚內資料點凝聚緊 密程度。

本研究所提出的凝聚率是計算群內所有資料點到群聚中心的距離,找出落在平均 距離內的資料點佔整體資料點的比率,在我們的研究中發現如果群聚資料分佈是緊密 的,則群聚內的資料點到群聚中心之距離大多較短,換言之,該群聚的凝聚程度高(如 圖十四(a)所示),反之假設群聚資料分佈是鬆散的(如圖十四(b)所示),則群聚資料 點到群聚中心會出現較長的距離值,其群聚的凝聚程度較低,所以依據以上的分析,

我們可以知道假設一個群聚內大部分的資料點都集中分佈於群聚中心附近(即資料點 落在平均距離內),則該群聚應該會得到高的凝聚率值。

計算凝聚率的目的是在於評估群聚內資料點分佈的狀況,我們利用統計中常態分 配的特性來計算之。在統計中提到,當資料呈現常態分配時,假設所有資料點到群聚 中心距離平均數為µ,其標準差為σ,則將有 99.74%的資料點會落在平均值加減三個 準差的距離範圍內(即µ±3σ)。因此我們將根據這個特性找出落在距離平均數內的資 料的個數,進而求出凝聚率。接下來我們將開始介紹凝聚率的計算方法,首先假設一 群聚內資料點個數為n,群聚中心為 x,資料點為 xi(1≤ i ≤ n),則我們可以求出所有 資料點到群聚中心的平均距離µ(式子 3-4)與標準差σ(式子 3-5)。

(11)

n x x

n

i

i

=

=1

µ

(3-4)

( )

n x x

n

i

i

=

=1

µ 2

σ

(3-5) 當我們計算出距離平均數µ與標準差σ後,接著開始計算落在距離平均數µ、µ+σ、µ+2σ 與µ+3σ內資料點的個數(落在µ+3σ外的視為雜訊點),如圖十五所示,我們認為在一 個凝聚程度越高的群聚內,大部分的資料點應會落在越內層,因此本實驗將取落在平 均數µ以內的資料點個數來計算凝聚率。

最後我們將凝聚率的計算式訂定為式子3-6,其中凝聚率介於 0~1 間,凝聚率越接近 1 則代表群聚的資料點凝聚程度越高。

1

,

0

) 3

( + ≤ ≤

=

凝聚率

凝聚率 落在三個標準差平均距離µµ內的資料點數δ 內的資料點數 (3-6)

3-2-3 密度率(Density rate)

一個好的分群結果除了要考慮到群聚與群聚間是否有明顯區隔與群內資料是否 密集外,另外還有一項非常重要的因素,那就是群聚內資料的密度。在以往的研究中,

有許多群聚演算法都強調群聚密度的觀念,如以密度為基礎的DBSCAN 群聚演算法 與格子基礎的 CLIQUE 群聚演算法,在這些方法中認為若一鄰居區域內的資料點數 達到一門檻值時才能成為群聚,如果單單只強調群聚的鑑別與凝聚程度,而未考慮群 聚內資料點的數量,則無法有效地顯現鑑別率與凝聚率的評估效果(因為資料數太 少),故本研究認為群聚的密度也是一項應該考量的群聚特性因素。

本研究是以相對的密度來計算密度率,也就是說我們將求出單一群聚的密度與整 體資料空間的密度之關係,如此才能顯現出相對於整體密度而言,其某一群聚的資料 密度程度為何。群聚密度計算方式是將資料集合內所有的資料點數除以資料點所分佈 的空間,而在我們的研究中則是以先計算出所有資料空間 Tspace(對每一維度資料點 所含之最大值與最小值之距離即為該維度的資料空間),並將標準化成為 1,並且計算 出經過標準化的各群聚資料空間,如圖十六所示,假設整理空間經過標準化後的值為 1,則群聚 A 的資料空間為 0.09。接下來計算總空間的密度值(Total density),假設 資料集合內的總資料點數為N,各群聚的資料點數為 nk,各群聚資料空間為 Sck,其 中k 表示第 k 群,則我們可以求得總空間的密度值如下(式子 3-7),求出總密度後,

則我們便要求相對各群聚的密度dk (k 表示第 k 群),密度 dk 如式子3-8 所示:

(12)

1

, density)

(Total (Tspace)N 其中總資料空間為

總密度

=

總資料空間總資料點數 (3-7)

群 代表第 其中

密度 nk , k k Sck

dk

=

(3-8) 再來我們將制定密度率的計算方法,根據我們的觀察發現各群的密度 dk 必定會大於 總密度( 即 dk> Total density),因此我們可推論相對密度 X 必然大於 1(式子 3-9),

而若是 X 值越大則表示第 k 群的密度相對於整體而言是越高的,接下來我們為了將 密度率調整為0~1,所以將 X 值取倒數為 1/X,同時也可推得 1/x 值越小,則密度越 高。最後我們將密度率評估式訂定如式子3-9 所示,密度率越高則表示該群聚相對於 整體密度而言是密度高的。

k為第k群 denisty ,

Total dk

相對密度X = (3-9)

1 0

x , - 1

1 ≤ ≤

= 密度率

密度率 (3-10) 以上的介紹中我們已經詳細的描述了鑑別率、凝聚率與密度率的重要性,並說明了這 些評估式是如何制定與計算,在下一章中我們將以K-means 為例,分別將三個資料庫 進行群聚評估分析,我們將會說明與解釋實驗所得到的結果並且將協助使用者找出最 佳的群聚參數值。

四、實驗結果

本實驗的目的在於利用我們所提出的群聚評估式,對群聚結果加以評估分析,藉 由我們的評估分析,讓使用者很容易且清楚的了解資料分群所得到之結果。本實驗的 模擬實驗平台為IBM 相容之 PC,其 CPU 為 Pentium-800MHz,RAM 具 256MB,作 業系統採用Windows 2000,開發工具軟體為 Borland Delphi 6.0。本實驗共測試了三 個資料庫,共包含了155 筆,每筆資料有 6 個維度,其中第一、二個資料庫是以 Excel 分別亂數產生,第三個資料庫則是以人工方式加入了四個群聚。

本實驗共分為兩個部分,第一部份我們利用k-means 群聚演算法將分群數固定為 4 群,分別針對資料庫 1、2 與 3 進行群聚,分群結束後則開始評估其分群的結果。

第二部分為自動化的k-means 程式,我們將利用自動分群的方式針對資料庫 3 進行群 聚分析,測試資料庫3 最佳的分群數是否為 4 群。

在本實驗中,我們將綜合最小鑑別率、平均凝聚率與平均密度率等三項評估值來 評估整體資料分群後的結果,其中最小鑑別率是計算出所有任兩個群聚間最小的鑑別 值為何,藉由最小鑑別率的分析,我們便可以得知該分群結果的鑑別程度。平均凝聚 率則為將所有群聚的凝聚率進行加總,並求其平均值,藉此來評估整體資料分群後群

(13)

聚的凝聚程度,而平均密度率則是將所有群聚的密度率進行加總,並求其平均值,藉 此來評估整體資料分群後群聚的密集程度。本實驗所求得的最小鑑別率、平均凝聚率 與平均密度率會介於0~1 間,其評估值越接近 1 則代表整體的分群結果越佳。接下來 我們開始進行第一部份的實驗,首先我們利用 k-means 群聚演算法分別針對資料庫 1、2 與 3 進行群聚(k-means 程式執行畫面如圖十七),其分群數固定為 4 群,分群 結束後則開始以最小鑑別率、平均凝聚率及平均密度率評估其分群的結果(實驗結果 分別為表二、表三和表四),評估程式畫面如圖十八所示。由於本實驗所設定的分群 數為4 群,所以在鑑別率分析表中(表二)將會看到有六種群聚的組合,在表二中我 們看到資料庫1 內,群聚 3,4 的鑑別率 0,由此可以知道這兩個群聚邊緣將會互相接 觸,再來我們看資料庫1 分群後的評估結果,由實驗數據中我們可以發現評估後的最 小鑑別率、平均密度率都相當低,由此可以知群聚分群效果不佳,因此使用者應該重 新調整分群數,重新進行群聚,直到得到較好的評估值,則該分群數才是較恰當的。

而在資料庫2 的實驗數據中可以發現除了鑑別率外,其他的數據值都有不錯的表現,

則使用者可以考慮接受該分群數(當然使用者可以嘗試不同的分群數,直到找到最滿 意的分群結果為止)。接著我們以人工資料庫(資料庫 3)進行實驗,在該資料庫中 我們藏入了四個群聚,第一個群聚的六個維度資料範圍介於0~10 之間,共 35 個資料 點,第二個群聚的資料範圍介於50~60 之間,共 40 個資料點,第三個群聚的資料範 圍介於100~110 之間,共 40 個資料點,第四個群聚的資料範圍介於 150~160 之間,

共40 個資料點,由實驗的結果可以發現其最小鑑別率、平均密度率都相當高,因此 我們可以知道只要選擇正確的分群數,且資料庫內的資料有明顯密集之分佈,藉由我 們的評估式便很正確的評估出來。最後我們看到凝聚率的實驗結果,發現三個資料庫 所得到的結果都約為 0.6,由此可知其分群所得之群聚的緊密程度還不錯,使用者可 以藉由這項評估式了解群聚內資料分佈的狀況。

接下來我們進行自動分群的實驗,在第二部分的實驗中,我們將以不同的分群數 目來分析資料庫3,並找出其最佳的分群數目。在本部分實驗中我們是計算出以不同 分群數進行群聚所得到的總評估值(式子4-1),並從中挑選出最高的總評估值,其對 應的分群數即為該資料庫最佳的分群數目。

總評估值=最小鑑別率+平均凝聚率+平均密度率,0≤總評估值≤ 3 (4-1)

當我們以不同的分群數對資料庫加以群聚分析後,將得到如表五的實驗結果,在 該表中我們可以看到當資料分為4 群時,其鑑別率、凝聚率與密度率等三項評估值都 很高,而其加總的總評估值也是最高,因此資料庫3 最佳的分群數為 4 群。接下來我 們更進一步的觀察各項評估式的實驗結果,在圖十九中我們發現到當資料分群數過多 時,很容易造成群聚與群聚間互相接觸或是鑑別距離過短,所以,當資料庫3 的分群 數大於 4 時,最小的鑑別率皆為 0。其次我們觀察到平均凝聚率的曲線(圖二十),

由圖中我們可以看到除了分群數目為6、7 群外,其他的分群數都有不錯的表現,再 來我們觀察平均密度率曲線(圖二十一),由圖中可以觀察到當資料分群數較多時,

(14)

其平均密度率也較高,最後我們將三項評估值加總得到總評估值(如圖二十二),從 總評估值曲線中我們可以看到當資料分為4 群時,其總評估值為最高。利用上述自動 化分群並評估群聚結果的方式,我們建構了一個自動化分群的k-means 系統,使用者 只要輸入欲分析的資料庫,系統便會自動的將資料作分群的評估(如圖二十三),並 將主動提供最適合的分群數給使用者作參考(如圖二十四)。

在以上的實驗我們可以知道,本研究所訂定的群聚評估方法確實能有效幫助使用 者評估其分群結果,使用者可以根據評估的結果調整其群聚的參數,直到找到最滿意 的分群結果為止,或是採用自動化評估系統找出最佳的群聚參數值。

五、 結論與未來研究方向

在本研究中,我們根據以往研究中所描述的群聚特性與資料點分佈的狀況,篩選 出三個重要且能表現出群聚特性的因素分別為:鑑別率(Discrimination rate)、凝聚 率(Agglomerate rate)與密度率(Density rate),並將這三個群聚特性量化成評估值,

藉由評估值的比較,使用者更可以清楚的了解是否找到好的結果,並可以根據評估的 結果調整其群聚的參數,直到找到最滿意的分群結果為止,最後,我們以k-means 演 算法為例,建構一個自動化評估群聚參數之程式,使用者只要輸入欲分析的資料庫,

該系統便會根據本研究所提出的評估式,對於資料庫進行評估分析,最後系統將主動 提供最佳的群聚參數值(如:分群數k)給使用者作參考,期望透過我們所提出的群 聚評估式,可以強化群聚演算法的使用並提供決策者更多的便利性。

在未來的研究中,我們將針對三項群聚特性之比重作更多的探討,希望在不同的 應用上我們可以使用不同的權重來加總得到該評估值,如此更能適應於不同的應用 另外,對於多維度資料的群聚表現也是我們一直努力研究的目標

六、參考文獻

【1】 Han J. and Kamber M. 2000. “Data Mining: Concepts and Techniques,” Morgan Kaufmann.

【2】 MacQueen J.1967. “Some Methods for Classification and Analysis of Multivariate Observations,” In Proc. 5th Berkeley Symp. Math. Stat. and Prob., Vol. 1, pp.

281-297.

【3】 Kaufman L. and Rousseeuw PJ. 1990. “Finding Groups in Data: an Introduction to Cluster Analysis,” John Wiley & Sons, 1990.

(15)

【4】 Ng R. and Han J. 1994. “ Efficient and Effective Clustering Method for Spatial Data Mining,” In Proc. 1994 Int. Conf. Very Large Databases (VLDB’94), Sept., pp.

144-155.

【5】 Zhang T., Ramakrishnan R. and Livny M. 1996. “BIRCH: An Efficient Data Clustering Method for Very Large Databases,” In Proc. 1996 ACM-SIGMOD Int.

Conf. Management of Data (SIGMOD’96), pp. 103-114.

【6】 Guha S., Rastogi R. and Shim K. 1998. “CURE: An efficient clustering algorithm for large databases,” In Proc. 1998 ACM-SIGMOD Int. Conf. Management of Data (SIGMOD’98), June, pp. 73-84.

【7】 Guha S., Rastogi R. and Shim K. 1999. “ROCK: A Robust Clustering Algorithm For Categorical Attribute,” In Proc. 1999 Int. Conf. Data Engineering (ICDE’99), Mar., pp. 512-521.

【8】 Karypis G., Han E.H. and Kumar V. 1999. “CHAMELEON: Hierarchical Clustering Using Dynamic Modeling,” IEEE Computer, Vol. 32, No. 8, pp. 68-75.

【9】 Estivill-Castro V. and Lee I. 2000. “AMOEBA: Hierarchical Clustering Based on Spatial Proximity Using Delaunay Diagram,” In Proc. 9th Int. Spatial Data Handling (SDH2000), Aug., pp. 10-12.

【10】Estivill-Castro V. and Lee I. 2000. “AUTOCLUST: Automatic Clustering via Boundary Extraction for Massive Point Data Sets,” In Proc. 5th Int. Conf.

Geo-Computation, Aug., pp. 23-25.

【11】Ester M., Kriegel H.P., Sander J. and Xu X. 1996. “Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise,” In Proc. 1996 Int.

Conf. Knowledge Discovery and Data Mining (KDD’96), Aug., pp. 226-231.

【12】Ester M., Kriegel H.P., Sander J., Wimmer M. and Xu X. 1998. “Incremental Clustering for Mining in a Data Warehousing Environment,” In Proc. 24th Int. Conf.

(16)

Very Large Databases (VLDB'98), Aug., pp. 24 – 27.

【13】Ankerst M., Breunig M., Kriegel H.P. and Sander J. 1999. “OPTICS: Ordering points to identify the clustering structure,” In Proc. 1999 ACM-SIGMOD Int. Conf.

Management of Data (SIGMOD’99), June, pp. 49-60.

【14】Xu X., Ester M., Kriegel H.P. and Sander J. 1998. “A distribution– based Clustering Algorithm for Mining in Large Spatial Databases," In Proc. 14th Int. Conf. Data Engineering (ICDE'98).

【15】Wang W., Yang and Muntz R. 1997. “STING: A Statistical Information grid Approach to Spatial Data Mining,” In Proc. 1997 Int. Conf. Very Large Data Bases(VLDB’97), Aug., pp. 186-195.

【16 】 Sheikholeslami G., Chatterjee S., and Zhang A. 1998. “WaveCluster: A multi-resolution clustering approach for very large spatial databases,” In Proc. 1998 Int. Conf. Very Large Databases (VLDB’98), Aug., pp. 428-439.

【17】 Agrawal R., Gehrke J., Gunopulos D. and Raghavan P. 1998. “Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications,” Int.

Conf. Management of Data, pp. 94-105.

【18】Dash M., Liu M. and Xu X. 2001. “`1+1>2': Merging Distance and Density Based Clustering,” In Proc. 7th Int. Conf. Database Systems for Advanced Applications(DASFAA'01), April, pp. 18-20.

【19】Huang Z. 1998. "Extensions to the k-Means Algorithm for Clustering Large Data Sets with Categorical Values," Data Mining and Knowledge Discovery, Vol. 2, pp.

283-304.

【20】Sander J., Ester M., Kriegel H.P. and Xu X. 1998. “Density-Based Clustering in Spatial Databases: The Algorithm GDBSCAN and its Applications,” In Proc. Int.

Conf. Data Mining and Knowledge Discovery, Kluwer Academic Publishers, Vol. 2,

(17)

No. 2.

【21】 A. K, Jain et. Al., Data clustering: A Review, ACM computing surveys, vol 31, No 3, Sept, 1999. pp. 264-323.

(18)

圖一: 凝聚式與分裂式的階層群聚演算法(資料來源【1】)

圖二: 以 MST 方式群聚之結果(資料來源【7】)

圖三: 核心點與邊緣點(資料來源【11】)

<1, 2, 6, 7>

{1, 2, 6}

{1, 2, 7}

{1, 6, 7}

{2, 6, 7}

<1, 2, 3, 4, 5>

{1, 2, 3} {1, 4, 5}

{1, 2, 4} {2, 3, 4}

{1, 2, 5} {2, 3, 5}

{1, 3, 4} {2, 4, 5}

群聚 A 群聚 B

p q

MinPts=5 點 半徑(Eps)=1cm

p:核心點 q:邊緣點

(19)

圖四: 密度直接到達與密度間接到達(資料來源【11】)

圖五: 將資料空間以階層式切割成格子狀(資料來源【15】)

MinPts=5 點 半徑(Eps)=1cm q

s r

p q 是由 p 可直接到

達的點。

s 點是由 p、q 與 r 點間接到達的點。

(20)

(實線代表新方法,虛線代表由上游方法所衍生之演算法) 圖六: 群聚技術發展概況

CLARA CLARANS

DBSCAN BIRCH

STING

CURE DBCLASD GDBSCAN Inc-

DBSCAN

Wave- Cluster CHAMELEON

ROCK

AMOEBA

BRIDGE

OPTICS STING+

重心點 基礎

重心點 基礎

分裂式 凝聚式

k-means 67

87

90 94 96

97 98

99 00 01

PAM

群聚技術

切割式 群聚演算法

階層式 群聚演算法

密度基礎 群聚演算法

格子基礎 群聚演算法

AUTOCLUST

年份

(21)

圖七: 參數設定的山谷狀(Valley)曲線(資料來源【11】)

圖八: 最近鄰居的距離長度出現頻率分佈圖(資料來源【14】)

圖九: 計算兩群聚相似程度的方法

最接近鄰居的 距離長度(NNdist)

距離長度出現的頻 率(f/NNdist)

0 0.5 1.0 1.5 2.5

2.0 1. 5 1. 0 0. 5 0

以兩群聚最接近的 點為距離

以兩群聚最遠的 點距離

以兩群聚的重心點 為距離

(22)

圖十 (a): 兩群聚重心點距離相等,但群聚半徑短

圖十 (b): 兩群聚重心點距離相等,但群聚半徑長

圖十一(a): 兩群聚最遠的點距離相等,但群聚半徑短

圖十一 (b): 兩群聚最遠的點距離相等,但群聚半徑長

圖十二 (a): 兩群聚最近的點距離相等,但群聚半徑短

(23)

圖十二 (b): 兩群聚最近的點距離相等,但群聚半徑長

圖十三(a): 兩群聚最近的點距離為 2,群聚間重心距離為 4

圖十三(b): 兩群聚最近的點距離為 2,群聚間重心距離為 6

圖十四(a): 群聚密集程度與距離長短出現次數關係圖

0 1 2 3 4 5 6 7

出現次數

距離

7 6 5 4 3 2 1 0

0 1 2 3 4 5 6 7

出現次數

距離

7 6 5 4 3 2 1 0

(24)

圖十四(b): 群聚密集程度與距離長短出現次數關係圖

圖十五: 群聚內資料點分佈的區域

圖十六: 所有資料點的資料空間與各群聚的資料空間 µ+σ

µ+2σ µ+3σ µ

所有點的資料 空間Tspace 群聚 A 的資料

空間Sc1

1

1 0.3

0.3

(25)

圖十七: k-means 程式之執行畫面

圖十八: 群聚分數評估之畫面

群聚時資料 點變化過程

群聚時中心 點變化過程

k-means 收斂 所需要之時間

群聚的評估 分數

各群聚詳細 的評估分數

(26)

0 0.2 0.4 0.6 0.8

1 2 3 4 5 6 7 8 9 10 分群數

鑑別率

圖十九: 不同分群數之鑑別率

0 0.2 0.4 0.6 0.8

1 2 3 4 5 6 7 8 9 10

分群數

平均凝聚率

圖二十: 不同分群數之平均凝聚率

0.9890.99 0.991 0.992 0.993 0.994 0.995 0.996 0.997 0.998 0.9991

1 2 3 4 5 6 7 8 9 10

分群數

平均密度

圖二十一: 不同分群數之平均密度率

(27)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

1 2 3 4 5 6 7 8 9 10

分群數

總分數值

圖二十二: 不同分群數之總評估值

圖二十三:不同分群數之各項分數評估畫面

不同分群數之 鑑別率。

不同分群數之 凝聚率。

不同分群數之 密度率。

(28)

圖二十四: 建議分群數之程式畫面

列出該分群數 詳細的評估資 料。

系統建議分群數為 4 群。

(29)

表一: 重要群聚演算法與參數需求比較表

演算法類型 演算法名稱 效能 適用資料庫

類型

是否需要參數

切割式群

k-means O(nkt),n 代表總數量,k 為分群數,t 為程式迴圈數

數值型資料 分群數 k 聚演算法 PAM O(k(n-k)2) 數值型資料 分群數 k CLARA O(k(10-k)2+k(n-k)) 數值型資料 分群數 k CLARANS θ(kn)2 空間資料庫 最大鄰居數

(Maxneighbor)

局部最小值

(Numlocal)

階層式群 CURE 低維度:O(n2) ,高維 度:O(n2logn)

數值型資料 收縮參數α

聚演算法 ROCK O(n2+nmmma+n2logn), mm

為最大鄰居數,ma為平均鄰 居數

類別型資料 需要參數

密度基礎 群聚演算法

DBSCAN O(n log n) 空間資料庫 鄰居區域半徑(Eps)

資料點數門檻值

(MinPts)

格子基礎 群聚演算法

CLIQUE O(cd+nd) d 為維度數 c 為常數

空間資料庫 ξ代表切割格子的寬 度

τ表示投影至該格子 之數量門檻值 STING O(k),k 為最底層格子的

數),

空間資料庫 需要參數

表二: 群聚之鑑別率分析表 資料庫名稱

鑑別率

資料庫1 資料庫2 資料庫3

群聚1,2 的鑑別率 0.6665766341775493 0.794148412327219 0.711855438161512 群聚1,3 的鑑別率 0.0484705624883266 0.294692993987647 0.843413047270076 群聚1,4 的鑑別率 0.520247784818393 0.730843113773982 0.822595247166191 群聚2,3 的鑑別率 0.482656013059844 0.699091308756637 0.829460381215375 群聚2.4 的鑑別率 0.0491629207847032 0.467863200353145 0.80523886773498 群聚3,4 的鑑別率 0 0.473354894985863 0.600205979611279 最小鑑別率 0 0.294692993987647 0.600205979611279

(30)

表三: 群聚之凝聚率分析表 資料庫名稱

凝聚率

資料庫1 資料庫2 資料庫3

群聚1 的凝聚率 0.617647058823529 0.615384615384615 0.717391304347826 群聚2 的凝聚率 0.540540540540541 0.615384615384615 0.521739130434783 群聚3 的凝聚率 0.695652173913043 0.714285714285714 0.441860465116279 群聚4 的凝聚率 0.578947368421053 0.523809523809524 0.804878048780488 平均凝聚凝聚率 0.608196785424542 0.617216117216117 0.621467237169844

表四: 群聚之密度率分析表 資料庫名稱

密度率

資料庫1 資料庫2 資料庫3

群聚1 的密度率 0.392156862745098 0.782484407484408 0.999997855146633 群聚2 的密度率 0.153699153699154 0.684915684915685 0.99999980117822 群聚3 的密度率 0.217171717171717 0.428746928746929 0.999999854119981 群聚4 的密度率 0.274853801169591 0.700772200772201 0 .9999819565136 平均密度率 0.25947038369639 0.649229805479806 0.999994866739608

表五 : 不同分群數之評估值分析表 分群數

評估值

2 群 3 群 4 群 5 群 6 群

最小鑑別率 0 0.3946949 0.6002059796 0 0 平均凝聚率 0.63690476 0.61542443 0.6214672371 0.59796425 0.5270138076 平均密度率 0.99321370 0.99679693 0.9999948667 0.99999588 0.9999968716 總評估值 1.63011846 2.00691627 2.3333175420 1.597960147 1.5522127669 分群數

評估值

7 群 8 群 9 群 10 群

最小鑑別率 0 0 0 0

平均凝聚率 0.52701380 0.59696135 0.6173565509 0.54180310 平均密度率 0.99999732 0.99999766 0.9999979076 0.99999855 總評估值 1.52701113 1.59695901 1.6173544586 1.541801652

參考文獻

相關文件

Srikant, Fast Algorithms for Mining Association Rules in Large Database, Proceedings of the 20 th International Conference on Very Large Data Bases, 1994, 487-499. Swami,

The research proposes a data oriented approach for choosing the type of clustering algorithms and a new cluster validity index for choosing their input parameters.. The

In the past researches, all kinds of the clustering algorithms are proposed for dealing with high dimensional data in large data sets.. Nevertheless, almost all of

important to not just have intuition (building), but know definition (building block).. More on

Additional Key Words and Phrases: Topic Hierarchy Generation, Text Segment, Hierarchical Clustering, Partitioning, Search-Result Snippet, Text Data

Know how to implement the data structure using computer programs... What are we

• Recorded video will be available on NTU COOL after the class..

– Take advantages of the global and local behavior of lighting by clustering and rendering per-slice columns in the transport matrix. – 3x – 6x performance improvement compared to