• 沒有找到結果。

衡量分類關聯規則的新方法

N/A
N/A
Protected

Academic year: 2021

Share "衡量分類關聯規則的新方法"

Copied!
51
0
0

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

全文

(1)國立高雄大學電機工程研究所 碩士論文. 衡量分類關聯規則的新方法 New Metrics of Association Rules for Classification. 研究生:王瀞誼 撰 指導教授:吳志宏 博士. 中華民國九十六年七月.

(2) 衡量分類關聯規則的新方法 指導教授:吳志宏 博士 國立高雄大學電機工程研究所. 學生:王瀞誼 國立高雄大學電機工程研究所. 摘要. 在資料探勘的研究領域裡,關聯式規則被用來找出資料庫間資料屬性彼此的相關 性,藉以提供有用的資訊給使用者,關聯式規則亦可應用在資料的分類上,如何產生正 確度高的關聯式規則且應用在資料分類上即為本文的研究重點。在過去的研究裡,產生 關聯式規則的方法可能根據支持度(support)、可靠度(confidence)或是熵值(entropy)等, 各種判斷資料相關程度的評估依據,本研究中提出一種新的關聯式規則演算法,測試資 料可依據在關聯式規則所佔的重要程度而進行分類,以達到分類正確的目的。最後透過 實驗的證明,可知此關聯規則演算法確實能提供測試資料高準確度的分類結果。. 關鍵字:關聯式規則、分類、資料探勘. ii.

(3) New Metrics of Association Rules for Classification Advisor: Dr. Chih-Hung Wu Department of Electrical Engineering National University of Kaohsiung. Student: Jing-Yi Wang Department of Electrical Engineering National University of Kaohsiung. ABSTRACT. Classification based on association rules need to consider the stress of rules on describing relationships among data and the number of effective rules. Previous studies use simple criteria like support and confidence for deriving association rules, which usually overestimate the relationships among data. In this thesis, we present a new criterion for generating association rules for classification; which considers the interestingness, importance, overlapping relationships among data. To reduce the number of meaningless rules, a pruning procedure is developed based on information gain. At last, experimental results shows that the algorithm provide better accuracy than the state-of-the-art algorithms in classification of some problems.. Keywords: association rule, classification, data mining. iii.

(4) 致謝 在碩士班求學間,首先感謝指導教授吳志宏老師的諄諄教誨。謝謝您耐心的指導與 教誨,除了在研究上的指導,還有做人處事上該有的態度,讓我學會“耐煩”這兩個字, 無論是做研究或是處理事情,常常都要耐得住“煩”的感覺,也讓我更懂得設身處地站在 別人的立場上去思考事情,使我在這段求學期間獲益匪淺。. 感謝口試委員洪宗貝老師和賴智錦老師在口試時給於學生有關論文的完善建議,讓 論文的內容更加完整。. 感謝實驗室所有成員,吉原、瓊輝、彥良、鴻儒、宇傑等學長們、千慧學姊、香君 學姊和韋瀚以及其它大學部的銘宏、佳霖等學弟妹陪我走過這兩年的日子,除了在研究 上的幫忙,我們也度過一起發牢騷、嬉鬧,一起打球的日子,謝謝大家給我精神上的鼓 勵,在完成論文的最後階段,耳邊聽到的盡是 “瀞誼加油!”,因此讓我能勇於面對壓力, 因為有你們,讓我喜歡上這個實驗室。. 感謝電機系碩士班的所有同學,大家一起分享研究上的知識,一起為了考試組讀書 會,謝謝你們在這兩年對本人的協助,在我需要幫忙的時候,總是有人適時地對我伸出 援手,讓我感受到同儕間的溫暖,也感謝系辦助理姿蓉平常在行政事務上給予的幫忙。. 最後,感謝我身邊的家人和朋友們對我的支持,謝謝你們!. 瀞誼 誌於 國立高雄大學理工第一實驗大樓 智慧計算與應用實驗室 民國 96 年 7 月 31 日 iv.

(5) 目錄 摘要............................................................................................................................................ii ABSTRACT............................................................................................................................. iii 致謝...........................................................................................................................................iv 表目錄.......................................................................................................................................vi 圖目錄......................................................................................................................................vii 第一章. 緒論............................................................................................................................1. 1.1 1.2 1.3. 研究背景....................................................................................................................1 研究動機....................................................................................................................3 論文架構....................................................................................................................6. 第二章. 文獻探討....................................................................................................................7. 2.1. APRIORI 演算法 .........................................................................................................7. 2.2 2.3. KNN 演算法............................................................................................................10 基於關聯規則分類演算法......................................................................................11. 第三章. CARC 演算法..........................................................................................................13. 3.1. 規則衡量標準..........................................................................................................13. 3.2 CONDENSENESS ........................................................................................................18 3.1 演算法流程..............................................................................................................20 3.3.1 CAR 演算法 ........................................................................................................23 3.3.2 分類演算法..........................................................................................................26 3.3.3 預設類別演算法..................................................................................................27 第四章. 實驗結果..................................................................................................................32. 4.1 4.2 4.3. 實驗一......................................................................................................................32 實驗二......................................................................................................................34 實驗三......................................................................................................................37. 第五章. 結論與討論..............................................................................................................41. 參考文獻..................................................................................................................................42. v.

(6) 表目錄 表 2-1 超級市場交易資料庫....................................................................................................8 表 3-1 交易資料庫 .................................................................................................................13 表 3-2 CARC 資料庫..............................................................................................................19 表 3-3 訓練資料分類 .............................................................................................................25 表 3-4 CAR..............................................................................................................................27 表 3-5 CONDENSENESS DISTANCE ............................................................................................31 表 4-1 資料庫列表..................................................................................................................32 表 4-2 實驗參數設定列表......................................................................................................32 表 4- 3 實驗四參數設定 ........................................................................................................39. vi.

(7) 圖目錄 圖 1-1 資料探勘應用................................................................................................................1 圖 1-2 基於關聯的分類............................................................................................................2 圖 1-3 規則緊密性 ...................................................................................................................5 圖 2-1 APRIORI 例子 ..................................................................................................................9 圖 2-2 KNN (6-NN).................................................................................................................10 圖 3-1 CARC 演算法流程......................................................................................................21 圖 3-2 CARC 演算法詳細流程..............................................................................................21 圖 3-3 LK 流程圖 .....................................................................................................................24 圖 3-4 NOT_BE COVERED RULE ...............................................................................................28 圖 3-5 預設類別例子..............................................................................................................30 圖 4-1 實驗一 (A) ...................................................................................................................33 圖 4-2 實驗一 (B) ...................................................................................................................33 圖 4-3 實驗一 (C) ...................................................................................................................34 圖 4-4 實驗二 (A) ...................................................................................................................35 圖 4-5 實驗二 (B) ...................................................................................................................35 圖 4-6 實驗二 (C)...................................................................................................................36 圖 4-7 實驗三 (A) ...................................................................................................................37 圖 4-8 實驗三 (B)...................................................................................................................38 圖 4-9 實驗三 (C)...................................................................................................................38 圖 4-10 實驗四 (A) .................................................................................................................39 圖 4-11 實驗四 (B) .................................................................................................................40 圖 4-12 實驗四 (C) .................................................................................................................40. vii.

(8) 第一章. 緒論. 1.1 研究背景 在資訊爆炸的時代裡,資料庫中儲存著大量的資料,而資料中又隱藏了許多 未被發現的有用資訊,為了能夠找出資料庫中隱藏有意義的資訊,資料探勘(Data Mining)[15][14]即是探討如何從龐大的資料庫中挖掘出有用的知識,以提供決策 者做決策時的依據,其技術又可分為關聯式規則(Association Rule)[16][17][2]、分 類法(Classification)、群聚分析(Clustering)等。資料探勘的技術被廣泛運用在各個 領域裡,例如:市場行銷、顧客關係管理、財務金融、知識管理、生物資訊、醫 學診斷及數位圖書館等。(如圖 1-1 所示). 應用. 資料探勘 資料倉儲. 知識. 資訊. 市場行銷、 顧客關係管理、 財務金融、 知識管理、 生物資訊、 醫學診斷、 數位圖書館等. 圖 1-1 資料探勘應用. 在 分 類法 (Classification) 中 資 料 庫 裡 的 每 一 筆 資 料 都 有 其 不 同 的 屬 性 值 (Attribute)和分類標籤(Categorical Label)(註:分類標籤亦稱做“類別”),利用資料 庫中現有資料的資料屬性值和分類標籤,建立一個資料分類的模型,依此分類模 型可用來預測未知類別的測試資料該屬於哪一種分類標籤。以一個銀行信用額度 核准為例,銀行可根據現有顧客的基本資料和信用狀況建立顧客信用狀況的分類 模型,將信用申請者的風險屬性,區分為高度風險申請者,中度風險申請者及低 度風險申請者,當有一個新顧客時,銀行可根據分類模型預測顧客未來的信用狀 況進而決定核准多少信用額度。其中決策樹歸納法(Decision Tree Induction)[5]、 1.

(9) 貝式分類(Bayesian Classification)、類神經網路(Neural networks)[22]、遺傳演算法 (Genetic Algorithms)[4][3]、k-最鄰近分類演算法(K-Nearest Neighbor)、基於關聯 的分類(Association-based Classification)等,皆為常見的分類方法。. 上述方法中的基於關聯的分類(Association-based Classification)為資料探勘 技術裡的關聯式規則(Association Rule)與分類法的整合。“基於關聯的分類”是透 過產生的關聯規則當作資料分類的準則;而關聯式規則是指從大量的資料中,透 過資料屬性值找出資料間是否有相關的特性,並找出規則。在關聯規則演算法中 所探討的只是資料屬性間的相關性,並未將“類別”此屬性加入規則的產生過程 中。基於關聯的分類則是在資料的屬性中增加了不同於一般屬性性質的“分類標 籤”,再依關聯規則演算法產生規則並和傳統的分類演算法加以整合,建立一分 類模型,最後未知類別的資料即可經由此分類模型進行分類的動作,當資料根據 分類的結果無法被分類任何一個類別時,則將資料分類至預設類別(Default Class)(如圖 1-2)。 測試資料. 分類. 資料庫. 依關聯規則建立分類模型. 分類結果. 預設類別. 圖 1-2 基於關聯的分類. 基於關聯的分類在各個領域的應用上,以醫療診斷為例,醫院可根據病患過 去的就診紀錄進行資料的分析,每一筆資料即代表著每一患者的病例,產生的疾 2.

(10) 病徵兆則是每一筆資料的屬性值,最後,病名表示資料的類別標籤;透過對病歷 資料的分析可產生疾病徵兆和病名之間的關聯規則,醫師可根據病患發病的症狀 並夠過關聯規則進行診斷以找出疾病發生原因。再舉例而言,在產品行銷上可根 據顧客個人資料,如年齡,收入,職業和信譽,和過去購買商品的紀錄,將顧客 加以分類,當有新產品推出時可針對購買可能性高的顧客進行產品促銷的宣傳, 如此不但可省下對全部顧客宣傳產品的宣傳費用,也可達到產品宣傳的目的並增 加銷售率。. 過去關聯式規則演算法裡,以 Apriori 演算法最為大家所耳熟能詳的。在 Apriori 演算法當中,Apriori 演算法的關聯式規則如何產生,將會在第二章第一 節詳述之。產生關聯式規則的演算法裡常會利用到支持度(Support)、可靠度 (Confidence)、熵(Entropy)[10][11]等評估方法,藉以評估屬性間的相關程度進而產 生有用的規則。關聯規則演算法是以疊代的方式先產生候選項目集合(Candidate Itemset),再從候選項目集合中過濾找出支持度大於支持度門檻值(MinSup)者並 產生頻繁項目集合(Frequent Itemsets),最後依頻繁項目集合推導出規則。. 在 Apriori 演算法產生頻繁項目集合的過程中需要產生大量的候選項目集 合,當資料的屬性過多時,候選項目集合將以幾何的速度在增加,且需要多次掃 描資料庫以求得其支持度的值,因為以上原因,將會導致演算法的整體執行效率 不佳;支持度門檻值設定的高低也會影響演算法的準確性,門檻值太高,重要的 規則無法產生;門檻值太低,產生過多無意義的規則,因此,門檻值的設定也是 影響演算法結果的重要因素。. 1.2 研究動機 根據上節所述,可知在過去研究裡關聯式規則演算法本身會有些許的問題產 3.

(11) 生,例如:產生大量的候選項目集合、為了產生頻繁項目集合需要多次掃描整個 資料庫以致程式執行時間過長、產生的規則過於繁瑣無意義或重要有意義的規則 未被產生等。針對以上各個問題,相繼有研究學者提出改善的演算法。. 針對“產生的規則過於繁瑣無意義或重要有意義的規則未被產生”此項問題 以及其他影響基於關聯的分類準確度的因素,將會在以下詳加描述。上述影響準 確度的因素主要可分成四部分加以分析討論:. (1) 支持度門檻值 支持度門檻值太高:當支持度門檻值設定過高,會造成多數候選項目集合其 支持度值小於門檻值,則無法生成頻繁項目集合,也就導致多數規則無法產生, 重要有意義的規則亦被涵蓋在多數規則中,最後許多重要有意義的規則並未被生 成,將會影響演算法的正確性。. 支持度門檻值太低:當支持度門檻值設定過低時,多數候選項目集合將會輕 易通過支持度門檻值,過多的候選項目集合造成程式在執行上的時間過長,因為 需要反覆搜尋資料庫求得候選項目集合的支持度值;而通過門檻值所產生的關聯 規則,也會因為門檻值太低產生許多不重要無意義的規則,過多無意義的規則被 產生亦會影響演算法的可信度。. (2) 緊密性 關聯規則的緊密性是指產生的關聯規則前項和後項稠密的程度,也就是以單 一規則而言其前項和後項一起出現的機率高低,某些規則支持度可能很低,但是 規則的緊密性很高也就是說規則會集中在某一類別,如圖 1-3 所示,可觀察出項 目集合{W, Y}明顯地集中在 Class3 中,規則“W, Y→Class3”緊密性很高。 4.

(12) 資料庫 A, B, C A, B, C, D A, B, D, E A, B, C, D A, B ... A, D A, B, C, D ... A, B, C, D B, C, D A, B, C, E A, B, C, D A, B, D A, B, D, E .... → Class1 → Class1 → Class1 → Class1 → Class1. W, X, Y, Z W, Y, Z W, Y W, X, Y .... → Class3 → Class3 → Class3 → Class3. → Class2 → Class2. 規則支持度高. → Class2 → Class2 → Class2 → Class3 → Class3 → Class3. 規則支持度低,緊密性高. 圖 1-3 規則緊密性. (3) 規則衡量標準 在傳統基於關聯的分類中產生關聯規則的方法裡,支持度是最常被用來當作 過濾規則的門檻,但是,當規則的支持度很低時,緊密性卻很高時,表示此規則 為重要有意義的,卻會因為使用“支持度”此規則衡量標準將重要的規則忽略掉以 致影響資料分類的結果。若是能在產生規則的過程中除了支持度門檻值外,也加 入其他規則衡量標準當作規則過濾的門檻值,不但可以產生支持度高的規則,亦 可保留住支持度低但卻緊密性高的規則。. (4) 預設類別 5.

(13) 當未知類別的測試資料無法根據關聯規則所建立出的分類模型進行分類 時,則需有一預設類別能對資料進行最終分類的判斷。因此,好的預設類別演算 法也是影響分類結果的因素之一。. 根據以上四項分析討論,為了解決基於關聯的分類所造成的問題,並將關聯 規則整合應用在分類上,因此,本論文中提出 CARC(Condensed Association Rule on Classification)演算法,一種新的基於關聯規則的分類演算法,所產生的關聯式 規則在本文中以 CAR(Condensed Association Rule)稱之。藉由此方法能改善因為 支持度設得太高或太低所造成的問題,產生出重要的關聯規則並提高資料分類的 精確度,將測試資料正確無誤進行分類,並 能更加廣泛應用於各個領域,實際 活用在現實生活上。 在規則的緊密性中,舉例來說,以醫院病歷為例,常見醫院診療中會出現一 些罕見的家族病例史,這些病例,只是鎖定某些特定族群,我們如何根據這些病 例資料找出病患間的共同特徵(即找出病患特徵和疾病間的關聯規則),進而預防 避免疾病的發生。從上述醫院病歷例子中可得知,罕見病例史即為關聯規則中支 持度低但是重要性高且聚集性高的規則。. 1.3 論文架構 本論文後續章節內容簡述如下:第二章簡介關聯式規則相關文獻探討;第三 章提出一種有效的關聯式規則應用於分類上的 CARC 演算法,能夠有效解決資 料庫所產生的關聯規則支持度的值過低,但叢聚性高且有意義的規則被忽略的問 題;第四章中以實驗將 CARC 演算法和其他演算法相互比較,根據實驗結果證 明 CARC 演算法的有效性與可行性;最後,結論與未來研究方向將會在第五章 加以說明。. 6.

(14) 第二章. 文獻探討. 2.1 Apriori 演算法 在過去產生關聯式規則的方法中,Apriori 演算法[18]可說是研究關聯式法則 時最具代表性的演算法之一。由 Agrawal & Srikant 等兩位學者於 1994 年首先 提出,之後又出現許多以 Apriori 為基礎的演算法。Apriori 演算法其利用循序漸 進的方式,找出資料庫中項目的關係,以便形成規則。 執行步驟如下:. (1) Apriori 演算法使用了候選項目集合的觀念,首先產生出項目集合,稱 為候選頻繁項目集合,若候選項目集合的支持度大於或等於支持度的門 檻值,則該候選項目集合為頻繁項目集合(Frequent Itemsets)。. (2) 在 Apriori 的演算法中,首先由資料庫讀入所有的交易,得出候選單項目 集 合 (Candidate 1-itemset) 的 支 持 度 , 再 找 出 頻 繁 項 目 集 合 (Frequent Itemsets),並利用這些頻繁項目集合的結合,產生候選 2-項目集合 (Candidate 2-itemset)。. (3) 再掃描資料庫,得出候選 2-項目集合的支持度以後,再找出頻繁 2-項目 集合,並利用這些頻繁 2-項目集合的結合,產生候選 3-項目集合。. (4) 重覆掃描資料庫並與支持度的門檻值進行比較,產生頻繁項目集合,再 結合產生下一級候選項目集合,直到不再產生出新的候選項目集合為止。. 我們已得知資料彼此間的相關性可讓我們獲得所需要的資訊,並將這些資訊 藉由下述的表示方法呈現。資料間的相關性我們以關聯式規則來表示,用符號 7.

(15) X→Y 來代表,其中 X、Y 稱為項目集(Itemset),X 為前項(Antecedent),Y 為後項 (Consequent)。而在資料庫裡,每個項目集在資料庫中出現的頻率稱為支持度 (Support)。支持度常被用來表達關聯式規則相關性程度的大小,支持度的值越 高,表示規則前後項的相關程度越大。. 在關聯規則中以”購買麵包也會購買牛奶”為例,”購買麵包也會購買牛奶”此 規則通常以符號”麵包→牛奶”表示,前項:麵包;後項:牛奶。接著再以一簡單 例子說明何謂支持度,資料庫中已有的資料如下表 2-1 所示:. 表 2-1 超級市場交易資料庫 TID. Itemset. 1. 麵包,牛奶. 2. 餅乾,牛奶. 3. 麵包,牛奶. 4. 麵包,牛奶,可樂. 5. 可樂. 在上表資料庫中,TID 表示每一筆交易的名稱,因此共有 5 筆交易。假設已知規 則:麵包→牛奶,支持度以 Sup(麵包→牛奶)表示,得到 Sup(麵包→牛奶) = 3/5, 式子中 3 為麵包和牛奶在資料庫中同時出現的次數;式子中 5 為資料庫中總交易 筆數。. 以下我們將以例子說明 Apriori 演算法流程,如圖 2-1:. 8.

(16) I ={A,B,C,D,E} min Sup.count=2 Database TID. Itemset. 1. ACD. 2. BCE. 3 4. C1 Itemset. Sup.count. {A}. 2. {B}. 3. ABCE. {C}. BE. Scan Database. C2. {AB}. join. Itemset. Sup.count. {A}. 2. {B}. 3. 3. {C}. 3. {D}. 1. {E}. 3. {E}. 3. Itemset. Sup.count. {AC}. 2. {BC}. 2. ≥ MinSup.count. C2. Itemset. Scan. L2. Itemset. Sup.count. {AB}. 1. ≥ MinSup.count. {AC}. 2. {AE}. {AE}. 1. {BE}. 3. {BC}. {BC}. 2. {CE}. 2. {BE}. {BE}. 3. {CE}. {CE}. 2. {AC}. Database. C3 join. L1. Itemset {BCE}. C3 Scan Database. L3. Itemset. Sup.count. {BCE}. 2. ≥ MinSup.count. 圖 2-1 Apriori 例子. 9. Itemset. Sup.count. {BCE}. 2.

(17) 2.2 KNN 演算法 在上一章中,已經介紹過分類的各種方法,本節將會介紹何謂 k-最鄰近分類 演算法。在分類演算法中,k-最鄰近分類演算法(K-Nearest Neighbor,簡稱 KNN) 是指給定一未知類別的測試資料,為了找出測試資料該屬於的類別,先找出 k 個 最“鄰近”測試資料的訓練資料,“鄰近性”則是根據兩資料間的距離判斷,距離越 大表示越鄰近,而距離一般是以歐基里德距離(Euclidean Distance)定義(如公式 2-1 所示)。在公式 2-1 中以 X,Y 分別表示兩筆資料,X = (x1, x2 ,..., xn),Y = (y1, y2 ,..., yn),其中 1 ≤ i ≤ n ,xi,yi,分別表示 X,Y 的屬性值。. Euclidean Distance d ( X , Y ) =. n. ∑ (x i =1. i. − yi ) 2. (2-1). 最後未知類別的測試資料被分類到 k 個最鄰近中最公共的類別(即 k 個訓練 資料中,歸於該類別的訓練資料佔最多數)。在圖 2-2 中 ● 表示未知類別的測 試資料,□、○、△分別表示各自不同的三種類別標籤,以 6-NN 為例,黑色粗 體圓圈框出最靠近測試資料的 6 個訓練樣本所屬的類別,發現 □ 此類別只佔 1 個,○ 則佔了 5 個,因此最後的分類結果,測試資料將會被分類至 ○ 此類別 中。. 圖 2-2 KNN (6-NN). 10.

(18) 2.3 基於關聯規則分類演算法 在本節中我們將簡介有關“基於關聯規則分類演算法”相關文獻探討,並將於 第四章實驗結果針對本文提出的 CARC 演算法和其他演算法相互比較。. CBA演算法由Bing Liu等學者於1998年提出[5],演算法主要分成以下兩部 分,“CBA-RG” 和 “CBA-CB”。CBA-RG為規則產生器(Rule Generator),演算法 目的為產生關聯式規則,關聯式規則的產生則是根據Apriori演算法為基礎,在 Apriori演算法中所產生的是頻繁項目集合,為交易資料庫中項目所構成的集合, 而在CBA-RG中所產生的為規則集合,不單單只是項目的集合,亦加入了類別這 個屬性。舉例來說,Apriori所產生的頻繁項目集合以<X>表示之,CBA-RG所產 生的規則則加入類別標籤以<X,Y>代表,其中X表示項目的集合,Y則表示類別 的標籤,<X,Y>是指X這些項目集合是屬於Y類別,亦可以X→Y表示之。在Apriori 演算法中,只能處理資料屬性為離散的資料庫,為了讓CBA也能解決資料屬性為 連續的資料庫,CBA在處理CBA-RG此步驟前會將資料庫的資料做事先的處理, 也就是說先將連續型的屬性的資料進行離散化,CBA-CB為分類器(Classifier Builder),測試資料依據CBA-RG所產生的關聯規則,進行分類,若是資料無法 被分類到任何類別,則再根據測試資料和關聯規則之間的相似程度找出Default Class,並將此測試資料歸類到此Default Class。. “Lazy Associative Classification”[1]的作者於 2006 年提出之演算法,並非像 一般的關聯規則分類演算法,利用所有的訓練資料產生關聯規則並用在分類上, 而是選擇性地從訓練資料中挑選某部分資料進行訓練,被挑中的訓練資料是其屬 性有包含測試資料中的屬性才會被挑選,如此的作法可以保證所產生的規則必定 和測試資料有關,避免產生和測試資料完全無關的規則。. 11.

(19) CMAR[23]演算法由 Wenmin Li 等學者於 2001 年所提出之演算法,提出改 良的規則衡量標準,以 “weighted x2” 稱之,關聯性越高的規則其重要將越被突 顯出來,改善 CBA 演算法中單純以支持度和可靠度當作衡量依據,並提出一種 新的資料結構 CR-tree,用來儲存大量的關聯規則和提升程式執行效率,在關聯 規則產生過程並以比 Apriori-like 演算法還要更有效率的 FP-growth 方法產生規 則。. Ke Wang 等 學 者 於 2000 年 提 出 一 個 整 合 關 聯 式 規 則 和 決 策 樹 的 ADT(Association based Decision Tree)演算法[13],作者認為以可靠度當作分類的 參考顯得比支持度還要來得重要,因此,在 ADT 演算法當中先以可靠度找出規 則,並根據這些規則建立分類的決策樹 ADT,由於找規則的步驟中未考慮支持 度的高低,可能會導致建構出來的決策樹某部分所表示的規則是無意義的,為了 解決此種問題,最後再用 pessimistic estimation [6]的方法進行樹的修剪。. 12.

(20) 第三章. CARC 演算法. 3.1 規則衡量標準 在介紹 CARC 演算法之前,以下將先列舉出各種規則衡量標準的定義 [20][24],本節中並皆以表 3-1 舉例說明之。在交易資料庫中每一筆資料都包含 交易編號和一組購買的商品項目,資料庫以 D 表示,|D|表示資料庫中所有的交 易筆數,項目集合(Itemset)I 為一群項目(Items)所構成的集合,可表示為 I={I1, I2, I3..., Im},其中 Ij(1 ≤ j ≤ m),m 表示所有不同項目的個數,每一個交易有一個標識 符號,稱做 TID。在關聯規則中以 X→Y 表示之。其中 X、Y ⊆ I,且 X ∩ Y = Φ , 在 以 下 定 義 中 將 用 P(L) 表 示 項 目 集 合 L 的 冪 集 合 (Power Set) , 即 P ( L) = {A | A ⊆ L} 。. 表 3-1 交易資料庫. 定義1. TID. Itemset. 1. ACD. 2. BCE. 3. ABCE. 4. BE. 支持度(Support)[19] 針對項目集合 L 的衡量指標,表示項目集合在資料庫中所出現的機率。 Sup ( L) =. {d | L ⊆ d ∧ d ∈ D} D. 例: Sup (BE) =. 3 = 0.75 ,因 BE 在資料庫中一起出現的次數是 3 次,分 4. 別是在 TID2,TID3,TID4 三次交易中,且資料庫總筆數為 4,所以,. Sup (BE) =. 3 。 4 13.

(21) 定義2. Any-Confidence[7] 針對項目集合 L 的衡量指標,分子為項目集合 L 在資料庫中出現的次 數,分母為 L 的所有子集(不包含空集合和 L 本身)裡在資料庫中出現頻 率最低的次數。. Any-Confidence(L) =. {d | d ∈ D ∧ L ⊂ d }. MIN {i | ∀l (l ∈ P ( L) ∧ l ≠ Φ ∧ l ≠ L ∧ i = {d | d ∈ D ∧ l ⊂ d })}. 例:{ABC}的子集 = {A, B, C, AB, BC, AC}. {A, B, C, AB, BC, AC}中每一元素在資料庫中出現的次數分別為 2, 3, 3, 1, 1, 2 且 MIN{2, 3, 3, 1, 1, 2} = 1 Any-Confidence(AC) =. 定義3. 1. MIN {2, 3, 3, 1, 1, 2}. =. 1 1. = 1. All-Confidence [7] 針對項目集合 L 的衡量指標,分子為 itemset L 在資料庫中出現的次數, 分母為 L 的所有子集裡在資料庫中出現頻率最高的次數。. All-Confidence (L). =. {d | d ∈ D ∧ L ⊂ d }. MAX {i | ∀l (l ∈ P ( L) ∧ l ≠ Φ ∧ l ≠ L ∧ i = {d | d ∈ D ∧ l ⊂ d })}. 例:{ABC}的子集 = {A, B, C, AB, BC, AC}. {A, B, C, AB, BC, AC}中每一元素在資料庫中出現的次數分別為 2, 3, 3, 1, 1, 2 且 MAX{2, 3, 3, 1, 1, 2}=3 All-Confidence(AC) =. 1. MAX {2, 3, 3, 1, 1, 2}. = 1/3 14.

(22) 定義4. Bond[7] 針對項目集合L的衡量指標,定義項目集合 L 在資料庫 D 中出現的次 數和資料庫中包含項目集合 L 子集合的交易次數,兩者之間比例的關 係。. Bond (L) =. {d | d ∈ D ∧ L ⊂ d } {d | d ∈ D ∧ ∃l (l ∈ P( L) ∧ l ≠ Φ ∧ l ⊂ d )} | {ABCE} | | {ACD, BCE, ABCE, BE} | =1 4. 例:Bond (ABC) =. 因項目集合{ABC}只出現在 TID3 = ABCE 此筆交易中,所以分子值為 1;在分母中所得到之集合為 {ACD, BCE, ABCE, BE} ,是因 TID1 中包 含{ABC}的子集{A}、{C}和{AC},因此 TID1 = ACD 被納入分母的集 合當中;TID2 中包含{ABC}的子集{B}、{C}和{BC},因此 TID2=BCE 亦被納入分母的集合當中;最後可得 {ACD, BCE, ABCE, BE} 此集合, {ACD, BCE, ABCE, BE} = 4 。. 定義5. 可靠度(Confidence)[19] 針對規則 X → Y 的衡量指標,可視為一種條件機率,是指當在前項發 生的情況下,此規則所發生的機率,也就是說可靠度值越高,若是交易 包含 X 那麼也有很高的機率包含 Y。 Conf ( X → Y ) =. Sup( X ∪ Y ) Sup( X ). 例:Conf (B → C) =. 定義6. Sup (B ∪ C) 2 4 = = 2 / 3 = 0.6667 Sup(B) 34. 增益(Lift)[12] 15.

(23) 針對規則 X → Y 的衡量指標,所衡量的是前項和後項之間獨立的程 度,如果值接近 1,怎表示前後項間越沒有關係。 lift ( X → Y ) =. Sup ( X ∪ Y ) Conf ( X → Y ) = Sup (Y ) Sup( X ) Sup(Y ). 例:Lift (B → C) =. 定義7. Sup (B ∪ C) 24 = = 1 / 3 = 0.333 Sup(B) Sup(C) (2 4) (3 4). Conviction[21]. 針對規則 X → Y 的衡量指標,亦為衡量前後項間的獨立程度,若是值 越接近 1,表示前後項越獨立。 conv( X → Y ) =. Sup( X ) Sup (¬Y ) Sup( X ∪ ¬Y ). 例: conv(B → C) =. 定義8. Sup(B) Sup (¬C) (2 4) (1 4) = =2 Sup(B ∪ ¬C) 14. Dependency[9]. 針對規則 X → Y 的衡量指標,衡量前後項的獨立程度,值介於 0 與 1 之間。 dep( X → Y ) =. Sup( X ∪ Y ) − Sup( X ) Sup(Y ) Sup ( X ). 例: dep(B → C) =. 定義9. Sup (B ∪ C) − Sup (B) Sup (C) 2 4 − (3 4)(3 4) = = 1 12 34 Sup (B). Novelty[8]. 針對規則 X → Y 的衡量指標,當前後項完全獨立時,其值為 0 。且 Novelty 其絕對值相當於 Dependency 的值乘於後項 Y 出現的機率。. nov( X → Y ) = Sup( X ∪ Y ) − Sup( X ) Sup(Y ) 例: nov (B → C) = Sup (B ∪ C) − Sup (B) Sup (C) = 2 4 − (3 4)(3 4) = −1 16. 16.

(24) 定義10 Satisfaction[9] 針對規則 X → Y 的衡量指標,當前後項完全獨立時,其值為 0。 sat ( X → Y ) =. Sup ( X ∪ Y ) − Sup( X ) Sup(Y ) Sup( X ) Sup(¬Y ). 例: sat (B → C) =. Sup(B ∪ C) − Sup(B) Sup(C) 2 4 − (3 4)(3 4) = = −1 3 (3 4)(1 4) Sup (B) Sup(¬C). 在上述所列的定義中,可以發現並非每項衡量指標皆為針對規則而定義,定 義 1 至定義 4 中所定義的對象是針對項目集合,主要在於衡量項目集合和資料庫 間的關係;另外,定義 5 至定義 10 則是針對規則前後項關係所定義,因為規則 是由前項和後項所構成,前項集合出現與否會影響到後項出現的機率,也就是前 項與後項之間獨立的程度。且當前項 X 和後項 Y 為獨立的關係時,則 Sup ( X ∪ Y ) = Sup ( X ) Sup(Y ),Sup ( X ∪ Y ) − Sup ( X ) Sup(Y ) = 0,最後可得定義 8, 9,10 中 dep( X → Y ) = nov( X → Y ) = sat ( X → Y ) = 0 。. 17.

(25) 3.2 Condenseness 在本文第 1.2 節中提到傳統關聯規則中會面臨的問題,可能找出不合適的規 則,如圖 1-3 所示,項目集合{A, B, C, D}其出現在各類別中的頻率都相當高,若 以 Apriori 演算法找出關聯規則,Support 高於規定的門檻值,即可生成規則,必 定會出現多個前項相同,後項不同的規則,如: A, B → Class1、 A, B → Class2 、 A, B → Class3 ,且此三個規則 Support 皆相當高,造成無法提供資料在分類上有. 明顯的區別,進而導致分類錯誤。. 除了以上項目集合在各類別中皆有極高的支持度會造成分類的問題,在圖 1-3 中,可發現項目集合{W, X, Y}雖然出現的頻率很低,但是,卻集中出現在 “Class3”中,以規則 W, Y → Class3 為例,此規則支持度值很低,但是可靠度的值. 卻是極高,此類型的規則,在資料探勘的領域裡是有意義的,假使仍然以 Apriori 的方法產生關聯規則,則此項規則必定無法被生成,因為支持度值太低。為了保 留住此類的規則,在本研究中提供支持度太低的項目集合,第二次生成規則的機 會,當項目集合第一階段無法通過支持度門檻值時,將會進入第二階段的篩選, 確保可靠度高的規則不被刪除。最後希望藉由本文所提出之規則衡量標準 Condenseness,能產生出即使支持度值很低,但是可靠度高,緊密性高的規則。. 為了達到上述之目的,因此提出 CARC 演算法,在介紹演算法前,將先介 紹本文中自行定義的規則衡量指標 Condenseness。承上節所述,已知 D、|D|、I、 m,分別表示資料庫、資料庫中所有交易筆數、資料庫內所有相異項目的集合、. 項目集合內元素的個數。其中 I = {I1, I2, I3..., Im}。另外,在此我們規則 X→Y 以 R 表示之,X、Y ⊆ I,且 X ∩ Y= Φ 。. 18.

(26) 表 3-2 CARC 資料庫 TID. Itemset. 1. ACD. 2. BCE. 3. ABCE. 4. BE. 5. BCDE. 6. ABCD. 7. CDE. 8. BDE. 9. AC. 10. ACE. 定義11 Condenseness 關聯規則基於分類的一種規則衡量指標。 m ∑ lift ( R j ) j =1 ,R j = ( I − {I j }) → I j Condenseness ( I ) = m. 例:I = {A, B, C, D},m = 4 R1 = BCD → A. Lift ( R1 ) =. 1 10 =1 (2 10) (5 10). R2 = ACD → B. Lift ( R2 ) =. 1 10 = 0.8333 (2 10) (6 10). R3 = ABD → C. Lift ( R3 ) =. 1 10 = 1.25 (1 10) (8 10). R4 = ABC → D. Lift ( R4 ) =. 1 10 =1 (2 10) (5 10). 19.

(27) Condenseness ( I ) 4 ∑ lift ( R j ) j =1 = 4 lift ( R1 ) + lift ( R2 ) + lift ( R3 ) + lift ( R4 ) = 4 1 + 0.8333 + 1.25 + 1 = 4 = 1.0208. 定義12 CAR(Condensed Association Rule) 根據 Condenseness 規則衡量指標所產生的關聯規則,此類的規則的特 性是 Support 值夠大或是 Condenseness 值夠好的項目集合才會被生成 CAR。. 3.1 演算法流程 CARC 演算法主要流程(如圖 3-1 所示),藉由訓練資料(Training Data)產生 CAR,測試資料(Testing Data)再根據所產生的規則進行分類,若測試資料無法根. 據規則進行分類,則將資料分類至預設類別中。演算法主要可分成以下三部分:. (1) CAR 演算法 (2) 分類演算法 (3) 預設類別演算法. 有別於一般傳統關聯式規則演算法並不考慮類別此屬性,CARC 演算法是利 用規則進行分類,因此必須考慮類別此屬性,CARC 首先須將資料庫中的訓練資 料根據各自不同類別標籤進行分類,再各自產生該類別的 CAR,最後,測試資 料依據所有不同類別所產生的規則進行分類的動作(如圖 3-2 所示)。 20.

(28) Default Class. Condensed Association Rule. Training Data. Testing Data. 圖 3-1 CARC 演算法流程. Classify. Classify Result. 資料庫 (Data Base). 類別1 (Class 1). 類別2 (Class 2). 類別3 (Class 3). 類別m (Class m). ‧‧‧‧. 產生頻繁項目集. 關聯式規則1 Condensed AR_1. 關聯式規則2 Condensed AR_2. 關聯式規則3 Condensed AR_3. ‧‧‧. 關聯式規則n Condensed AR_n. 測試資料 (Testing Data). 預設類別 (Default Class). 分類 (Classification). 分類結果 (Result). 圖 3-2 CARC 演算法詳細流程 21.

(29) 演算法詳細步驟將在以下三個小節中詳加介紹,第 3.3.1 節 Condensed Association Rule 演算法,說明如何利用 Condenseness 此種規則衡量標準將資料. 庫中包含類別屬性的資料生成 CAR;第 3.3.2 節分類演算法則提出測試資料怎樣 利用 CAR 進行分類的動作;最後,第 3.3.3 節預設類別演算法則根據測試資料和 CAR 間的關係,提出能找出最適合當作測試資料預設類別的演算法。. 22.

(30) 3.3.1. CAR 演算法. 本節中將說明如何利用 Condenseness 規則衡量指標和改善傳統關聯規則演 算法產生 CAR,並舉例加以說明。. CAR 演算法步驟如下所示:. 步驟1. 將資料庫中的訓練資料,根據類別進行分類,分類好的訓練資料各 自進行以下步驟以求得Li,其中i = 1, 2, 3, ...。. 步驟2. 首先 i = 1,針對單一類別訓練資料,產生長度為 1 且 Support 值大 於 MinSup 的頻繁項目集合 L1。. 步驟3. 利用 Li 組合成 Ci+1,組合方式同 Apriori 演算法。 當 i = 1 時,即利用 L1 組合成 C2。. 步驟4. 若 Sup(Ci+1) ≧ MinSup,則 Ci+1 加入 Li+1。 當 i = 1 時,Sup(C2) ≧ MinSup,則 C2 加入 L2。. 步驟5. 若 Sup(Ci+1) ≦ MinSup,但 Condenseness(Ci+1) ≧ MinCond 則 Ci+1 亦可加入 Li+1; 當 i = 1 時,若 Sup(C2) ≦ MinSup 且 Condenseness(C2) ≧ MinCond 則 C2 亦可加入 L2。. 步驟6. Ci+1 不符合步驟 4 和 5,則刪除之;. 當 i = 1 時,C2 不符合步驟 4 和 5,則刪除之。 步驟7. i = i+ 1 並重複以上步驟 3~6,利用 Li 產生 Li+1 直到無法再產生頻繁. 項目集合 Li+1。(如圖 3-3 所示). 23.

(31) 開始. Ck. 否 ≧MinSup. 否 ≧MinCond. 是. 是 刪除. 加入 Lk. 結束. 圖 3-3 Lk 流程圖 例: 步驟1. 如表3-3所示,將訓練資料根據類別標籤(Class Label)分成三類。. 步驟2. 在以下步驟中將以表3-3中,Class Label為1的資料庫為例。 設定MinSup = 30%,MinCond = 70% Sup(A) = 0.5 ≧ MinSup Sup(B) = 0.6 ≧ MinSup Sup(C) = 0.8 ≧ MinSup Sup(D) = 0.5 ≧ MinSup Sup(E) = 0.7 ≧ MinSup. 所以,得到L1 = {A, B, C, D, E} 步驟3. L1 = {A, B, C, D, E},. 組合成C2 = {AB, AC, AD, AE, BC, BD, BE, CD, CE, DE}. 24.

(32) 表 3-3 訓練資料分類 TID. Itemset. Class Label. 1. ACD. 1. 2. BCE. 1. ABCE. 1. TID. Itemset. Class Label. 1. ACD. 1. 3. 2. BC. 2. 4. BE. 1. BCDE. 1. ABCD. 1. 3. BCE. 1. 5. 4. ABCE. 1. 6. 5. AEF. 2. 7. CDE. 1. BDE. 1. 6. BE. 1. 8. 7. BCDE. 1. 9. AC. 1. 8. DEF. 3. 10. ACE. 1. 9. ABE. 3. 10. ABCD. 1. 11. CDE. 1. TID. Itemset. Class Label. 1. BC. 2. 2. AEF. 2. TID. Itemset. Class Label. 1. DEF. 3. 2. ABE. 3. 3. BF. 3. 4. EF. 3. 12. BF. 3. 13. EF. 3. 14. BDE. 1. 15. AC. 1. 16. ACE. 1. 步驟4. MinSup = 30% Sup(AB) = 0.2 ≦ MinSup Sup(AC) = 0.5 ≧ MinSup Sup(AD) = 0.2 ≧ MinSup Sup(DE) = 0.3 ≧ MinSup L2 ={ AC, BC, BD, BE, CD, CE, DE } {AB, AD,AE}為Support值小於MinSup. 步驟5. 從步驟4中得知{AB, AD,AE}為Support值小於MinSup的集合 Cond(AB) = 0.6666 ≦ MinCond Cond(AD) = 0.8 ≧ MinCond Cond(AE) = 0.5714 ≦ MinCond. 因為Cond(AD) ≧ MinCond 所以,{AD}可加入L2 25.

(33) L2 = { AC, BC, BD, BE, CD, CE, DE, AD }. 步驟6. {AB,AE}不被加入L2中,並刪除之。. 步驟7. 利用得到之L2重複以上步驟產生L3,直到無法產生頻繁項目集合。. 3.3.2. 分類演算法. 步驟1. 找出測試資料所有子集所構成的集合 S ,且此集合元素的長度 需大於1。. 步驟2. 根據CAR演算法中所產生的規則,挑出步驟1中集合中有被包含在 CAR 中 的 元 素 , 並 累 計 其 Support 值 的 總 和 , 以 SumSupport(S,ClassLabel)表示之。. 步驟3. 重複步驟2,找出在各類別資料庫中,其Support值的總和為最大的 類別,並將測試資料分類至該類別。. 例:測試資料 = {cde},假設產生的CAR如表3-4所示。 步驟1. 測試資料 = {cde},測試資料所有子集且長度大於1 = {cd, de, ce, cde}。. 步驟2. {cd, de, ce, cde}元素皆不被包含在表3-3 Class Label 1資料庫內,所. 以,元素Support值總和為0, SumSupport({cd, de, ce, cde}, Class1) = 0. 步驟3. {cd, de, ce, cde}在表3-3資料庫內,出現在Class Label 2中有 Sup(cd) = 0.5 Sup(ce) = 0.3 SumSupport({cd, de, ce, cde}, Class2) = 0.5 + 0.3 = 0.8;. 而出現在Class Label 3中有 Sup(cd) = 0.1 26.

(34) SumSupport({cd, de, ce, cde}, Class3) = 0.1. 因為SumSupport({cd, de, ce, cde}, Class2) = 0.8值最大,因此,測試 資料 = {cde},將被分類至 “類別2” 中。. 表 3-4 CAR Condensed Association Rule. 3.3.3. Itemset. Support. Class Label. Itemset. Support. Class Label. B. 0.6. 1. c. 0.2. 3. E. 0.6. 1. d. 0.3. 3. D. 0.4. 1. cd. 0.1. 3. C. 0.4. 1. A. 0.1. 3. BC. 0.4. 1. B. 0.2. 3. DE. 0.4. 1. AB. 0.1. 3. Itemset. Support. Class Label. c. 0.75. 2. d. 0.5. 2. e. 0.4. 2. ce. 0.3. 2. cd. 0.5. 2. 預設類別演算法. 介紹預設類別演算法之前,先以一簡單例子說明什麼是 “Not_be_Covered Rule” 。在演算法中將會用 Not_be_Covered Rule 產生最合適的預設類別。 Not_be_Covered Rul 從字面上的意思就是沒有被包含的規則,換句話說,即訓練. 資料中完全不被 CAR 所包含的規則,以公式 3-1 表示之。. Not _ be _ Covered Rule = {r | r ∈ Tr ∧ ∀c(c ∈ Cr ∧ c ⊆ r ∧ r ∩ c = φ ∧ r.class = c.class)} Tr:Training Data 27. (3-1).

(35) Cr:CAR r.class:r 的類別標籤 c.class:c 的類別標籤. Not_be_Covered Rule 的例子說明如下:若是訓練資料和 CAR 如圖 3-4 所示,在. 訓練資料中有一筆為{Class1, a, b, c},此筆資料的任一子集並未出現在 CAR 中類 別標籤同為“Class1”的規則中,也就是說{Class1, a, b, c}未被 CAR 的任一規則所 包含,因此,此一訓練資料被視 Not_be_Covered Rule;同理,{Class2, x, y, z}的 任一子集亦未出現在類別標籤為“Class2”的 CAR 中,所以,{Class2, x, y, z}也會 被加入 Not_be_Covered Rule。. CAR Class1, 0.1, A Class1, 0.1, B Class1, 0.1, A, B Class1, 0.1, A, B, C. ..... Training data. Class2, 0.1, B Class2, 0.2, C. Class1, A, B, C, D. Class2, 0.1, A, B, C. Class3, A, D, E. Not_be_Covered Rule. Class2, A, C Class1, A, D. Class1, a, b, c. Class1, a, b, c. ....... ........ Class2, x, y, z. Class2, x, y, z. 圖 3-4 Not_be Covered Rule. 28.

(36) 另外,再介紹演算法中會用到項目集合相似度的算法,本文中以 Condenseness Distance 表示兩項目集合之間的距離,也就是兩項目集合間的相似. 程度。I1,I2 分別為兩項目集合,其中 I1 ={I11, I12, I13..., I1m},I2={I21, I22, I23..., I2n}, 如公式(3-2)所示。. ⎛ I1 ∩ I 2 ⎞ ⎛ I1 ∩ I 2 ⎞ ⎟⎜ ⎟ Condenseness Distance( I 1 , I 2 ) = ⎜⎜ ⎟ ⎜ Length ( I ) ⎟ ( ) Length I 1 ⎠⎝ 2 ⎠ ⎝. (3-2). 其中 I 1 ∩ I 2 = {i | i ∈ I 1 ∧ i ∈ I 2 } , Length(I)=|{I1, I2, I3, Im}| = m , 因 此 , Length ( I 1 ) = m,Length ( I 2 ) = n ,舉例來說,假設 I1={A, B, C}和 I2={B, C, D,. E} ,可得到 I 1 ∩ I 2 = {B C } , I 1 ∩ I 2 = 2 , Length ( I 1 ) = 3 ,Length ( I 2 ) = 4 ,最 ⎛2⎞⎛2⎞ 後可算出 Condenseness Distance ( I 1 , I 2 ) = ⎜ ⎟ ⎜ ⎟ = 1 3 。 ⎝3⎠⎝4⎠. 預設類別演算法如以下步驟所示: 步驟1. 找出Not_be_Covered Rule. 步驟2. 根據KNN演算法找出和測試資料最接近的類別,並將此類別 設 為 預 設 類 別 , 其 中 KNN 所 採 用 的 距 離 公 式 為 上 述 所 提 到 的 Condenseness Distance。. 例: 步驟1. 以 圖 3-5 為 例 , 設 定 MinSup = 30% , MinCond = 10% , 可 得 CAR={A, B, C, {A, B}, {B, C}, a, b, c, d, {a, c}, {a, d}, {b, c}},. 接著找出訓練資料(Training data)中完全不被CAR所包含的項目集 合即為Not_be_Covered Rule。 步驟2. 測試資料 = {E, W, X},可算出測試資料和Not_be_Covered Rule間 的Condenseness Distance,在這例子中採取4NN,其結果如表 3-5 29.

(37) 所示,可以發現被挑出的 4 個規則中 ( 即表 3-5 中打勾的部分 ) , “class1”佔了3個, “class2”只佔一個,因此,class1佔了較多數,得. 到測試資料{E, W, X}的預設類別為class1。. Training data. CAR. class1,A,B. class1,A. class1,A,B. class1,B. class1,A,B. class1,C. class1,A,C. class1,A,B. class1,E,F. class1,B,C. class1,A,B,C. class2,a. class1,A,B,C. class2,b. class1,A,B,C. class2,c. class1,B,C,D. class2,d. class1,B,C,D. class2,a,c. class1,B,C,D. class2,a,d. class1,E,F,X. class2,b,c. Not_be_Covered Rule. class1,X,Y. class1,W,X,Y. class1,W,X. class1,X,Y. class1,W,X,Y. class1,W,X. class2,a,d. class1,E,F,X. class2,b,c. class1,E,F. class2,b,c. class2,E,F,Y. class2,b,c. class2,E,W. class2,a,c,d class2,a,b,c class2,a,c,d class2,E,F,Y class2,E,W. 圖 3-5 預設類別例子. 30.

(38) 表 3-5 Condenseness Distance Condenseness Distance. 4NN. class1, W, X, Y. 4 / 9 = 0.444. 9. class1, X, Y. 1 / 6 = 0.166. class1, W, X. 4 / 6 = 0.666. 9. class1, E, F, X. 4 / 9 = 0.444. 9. class2, E, F, Y. 1 / 9 = 0.111. class2, E, W. 4 / 6 = 0.666. Rule. 31. 9.

(39) 第四章. 實驗結果. 在實驗方面,本論文中以 UCI Machine Learning[25]中所提供的資料庫進行 演算法效果的比較。本研究實驗程式的撰寫是採用 JAVA 語言實作,CBA 實驗部 分以 CBA 資料探勘工具[26]進行實驗的模擬,在 CARC 實驗參數設定如表 4-2 實驗參數設定列表所列。以下列出實驗中用到的 UCI3 個資料庫(如表 4-1)和 CBA 演算法比較的結果,並分別在第 4.1、4.2、4.3 節中針對不同資料庫進行實. 驗的比較。. 表 4-1 資料庫列表 資料筆數. 屬性個數. led7. 3200. 7. Balance. 625. 4. pima. 768. 6. UCI DataBase. 表 4-2 實驗參數設定列表 MinLift. 0.1. MinAnte(%). 1. MinConse(%). 1. K(%). 40. 4.1 實驗一 在實驗中為解決資料庫中資料屬性連續的問題,須先將有連續性屬性的資料 離散化,在 CARC 實驗的部份先以 CBA 資料探勘工具對資料進行離散化,使得 CARC 和 CBA 能針對相同的資料庫內容進行演算法精確度的比較。在實驗一中 “DB”表示 UCI 中資料庫的名稱,其中 “CBA_MinConf”表示 CBA 演算法中參數. 的不同設定值,實驗一中所針對的資料庫為“led7”,並設定不同比例的 TestingData 進行實驗的比較,如圖 4-1 至圖 4-3,TestingData 占資料庫的比例分別是 70%、 32.

(40) 80%和 90%。. DB: led7 CARC. TrainingData: 70%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. Accuracy(%). 100 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5. 10. 15. 20. 25. 30. MinSup(%). 圖 4-1 實驗一 (a). DB: led7 CARC. TrainingData: 80%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. Accuracy(%). 100 80 60 40 20 0 0.01 0.05. 0.1. 0.5. 1. 5. 10. MinSup(%). 圖 4-2 實驗一 (b). 33. 15. 20. 25. 30.

(41) DB: led7. CARC. TrainingData: 90%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. 100 Accuracy(%). 80 60 40 20 0 0.01 0.05. 0.1. 0.5. 1. 5 10 MinSup(%). 15. 20. 25. 30. 圖 4-3 實驗一 (c). 4.2 實驗二 在實驗二中以資料庫 “Balance”進行 CARC 和 CBA 的比較,可以從圖 4-4 實驗二 (a) 至圖 4-6 中觀察出,當 MinSup 值超過 20% 時, CBA 參數設定 CBA_MinConf=30%的情況下,CBA 從近 80%的準確率降到 20%,但 CARC 卻. 能依然維持 60%以上的正確率,不受 MinSup 設定值太高而影響。. 34.

(42) DB: Balance. CARC. TrainingData: 70%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. 100 Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5. 10. 15. 20. 25. 30. MinSup(%). 圖 4-4 實驗二 (a). DB: Balance CARC. CBA_MinConf=80%. TrainingData: 80% CBA_MinConf=50%. CBA_MinConf=30%. 100. Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5. 10. MinSup(%). 圖 4-5 實驗二 (b). 35. 15. 20. 25. 30.

(43) DB: Balance CARC. TrainingData: 90%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. 100. Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5. 10. MinSup(%). 圖 4-6 實驗二 (c). 36. 15. 20. 25. 30.

(44) 4.3 實驗三 在資料庫為“pima”,實驗三(如圖 4-7 實驗三 (a)至圖 4-9 實驗三 (c))中, 可觀察出 CBA 的實驗結果不同於實驗一和實驗三中會因為 MinSup 值設定太高 精確率而有所降低,從圖中可發現 CARC 和 CBA 兩者準確率不相上下,但是依 然可觀察出 CARC 有稍微較高的準確率。. 圖 4-7 實驗三 (a) DB: pima. CARC. TrainingData: 70%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. 100 Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5 10 MinSup(%). 37. 15. 20. 25. 30.

(45) DB: pima CARC. TrainingData: 80%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. 100. Accuracy(%). 80 60 40 20 0 0.01 0.05. 0.1. 0.5. 1. 5. 10. 15. 20. 25. 30. MinSup(%). 圖 4-8 實驗三 (b). CARC. DB: pima. TrainingData: 90%. CBA_MinConf=80%. CBA_MinConf=50%. CBA_MinConf=30%. 100. Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5 10 MinSup(%). 圖 4-9 實驗三 (c). 38. 15. 20. 25. 30.

(46) 4.4 實驗四 針對 CARC 裡預設類別使用到 KNN 的方法,為了證明預設類別的選擇也是 影響準確率的因素之ㄧ。實驗四則是根據不同的 k 值去做比較,並以 UCI 中 “Balance”這個資料庫進行分準確度的比較,在此實驗中參數的設定如表 4-3,實. 驗結果如圖 4-10、圖 4-11 和圖 4-13 所示。. 表 4- 3 實驗四參數設定 MinLift. 0.1. MinAnte. 1%. MinConse. 1%. K(%). 5、10、40、60. DB: Balance. TrainingData: 70%. k=10%. k=40%. k=5%. k=60%. 100. Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5. 10. MinSup(%). 圖 4-10 實驗四 (a). 39. 15. 20. 25. 30.

(47) DB: Balance. k=5%. TrainingData: 80%. k=10%. k=40%. k=60%. 100. Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5. 10. 15. 20. 25. 30. MinSup(%). 圖 4- 11 實驗四 (b). DB: Balance. k=5%. TrainingData: 90%. k=10%. k=40%. k=60%. 100. Accuracy(%). 80 60 40 20 0 0.01. 0.05. 0.1. 0.5. 1. 5. 10. MinSup(%). 圖 4- 12 實驗四 (c) 40. 15. 20. 25. 30.

(48) 第五章. 結論與討論. 從以上實驗中我們確實可以觀察出 CARC 演算法比 CBA 演算法有更好的準 確度,在實驗一中可以發現當 MinSup 的值超過 5%時,CBA 的準確度明顯降低, 那是因為當 Support 值設得太高時,所產生的關聯規則變少,許多重要的規則未 被產生,因此造成要對測試資料進行分類的判斷時,會導致分類錯誤的產生。. 除了因為 Support 值設定太高造成產生之規則過少,預設類別的選擇也是影 響分類錯誤的重要因素之ㄧ。從實驗一中可得知 CARC 並不因為 MinSup 值過大 而導致準確度的降低,依然維持著相當高的準確率。從實驗二和實驗三中亦可看 出 CARC 精確度比 CBA 高或是不相上下。在實驗參數設定的部份,鑒於 MinSup 過高會產生太多無意義的規則,設定太低又會有許多規則無法被產生,因此,在 實驗中將 MinSup 值設定在 0.01%和 30%之間。另外,在實驗四中也可發現當 k 最小設定為 5 時,準確率大致上是比較低的,所以,可知預設類別的選擇也是影 響準確度因素之ㄧ。. 本論文所提出之 CARC 演算法經實驗結果證明,確實能達到良好的正確率, 找出正確的規則,不但可以找出 Support 高的規則,亦可以找出 Support 低卻緊 密性高的規則,並能提供好的預設類別演算法,將測試資料分類正確,提高演算 法的準確率。CARC 演算法在產生規則的部份是以 Condenseness 為過濾規則的 指標,其中 Condenseness 的求值公式又與 Lift 值的大小有關聯,因此,在未來 研究上可以針對此部分加以探討,因為除了 Lift 這種衡量規則間關係的衡量指 標,尚有其他衡量指標(如第 3.1 節中所介紹的各種規則衡量標準)可以加以整合 利用,以達到較高準確率的分類結果。. 41.

(49) 參考文獻 [1] A. Veloso, W. Meira Jr., M. J. Zaki, “Lazy Associative Classification,” in Proceedings of the Sixth International Conference on Data Mining 2006 IEEE, 2006. [2] Anthony K. H. Tung, H. Lu, J. Han and L. Feng. “Efficient Mining of Intertransaction Association Rules,” In IEEE Transactions on Knowledge and Data Engineering,” vol.15, no.1, January/February 2003. [3] T. Bäck, U. Hammel, and H. P. Schwefel, “Evolutionary Computation: Comments on The History and Current State,” IEEE Transactions on Evolutionary Computation, vol. 1, no. 1, pp. 3-17, 1997. [4] Bäck, Thomas, “Evolutionary Algorithms in Theory and Practice,” Oxford University Press, New York, 1996. [5] B. Liu, W. Hsu, Y. Ma, “Integrating Classification and Association Rule Mining,” The Fourth International Conference on Knowledge Discovery and Data Mining, New York, USA, 1998. [6] L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone, “Classification and Regression Tree,” Wadsworth, 1984. [7] Edward R. Omiecinski, “Alternative Interest Measures for Mining Associations in Databases, ” IEEE Transaction on Knowledge and Data Engineering, 2003. [8] G. Piatetsky-Shapiro, “Discovery, Analysis, and Presentation of Strong Rules,” AAAI/MIT Press, Chapter 13, 1991. [9] H. Cherfi, Y. Toussaint. “How Far Association Rules and Statistical Indices help Structure Terminology ?,” Workshop of the biennial European Conference on Artificial Intelligence 2002, Natural Language Processing and Machine Learning for Ontology Engineering OLT'02, Lyon, France, 2002. 42.

(50) [10] J. Han and Micheline Kamber, “Data Mining: Concepts and Technique,” Morgan Kaufmann Publishers, San Francisco, 2001. [11] J. R. Quinlan, “C4.5: Programs for Machine Learning, ” Morgan Kaufmann, 1993. [12] J. A. Berry and G. S. Linoff, “ Data Mining Techniques for Marketing, Sales and Customer Support,” John Wiley & Sons, New York, 1997. [13] K. Wang, S. Zhou, Y. He, “Growing decision trees on support-less association rules, ” Knowledge Discovery and Data Mining, pp.265-269, 2000. [14] M. Berry, and G. Linoff, “Data Mining Techniques: For Marketing, Sales, and Customer Support” , New York: John Wiley and Sons, 1997. [15] M. S. Chen, J. Han, and P. S. Yu, “Data Mining: An Overview from a Database Perspective, ” IEEE Transactions on Knowledge and Data Engineering, vol. 8, no. 6, pp. 866-883, 1996. [16] M. Song and S. Rajasekaran, “A Transaction Mapping Algorithm for Frequent Itemsets Mining,” IEEE Transactions on Knowledge and Data Engineering, vol. 18, issue 4, pp.472-481, April 2006. [17] M. Kubat, A. Hafez, V. V. Raghavan, J. R. Lekkala, W. K. Chen, “Itemset Trees for Targeted Association Querying,” IEEE Transactions on Knowledge and Data Engineering, vol. 15, no. 6, pp.1522-1534, 2003. [18] R. Agrawal, R. Srikant, “Fast Algorithms for Mining Association rules,” in Proceedings of the 20th International Conference on Very Large Databases, pp.487-499, 1994. [19] R. Agrawal, T. Imielinksi and A. Swami, “Mining Association Rules between Sets of Items in Large Database,” in Proceedings of the ACM SIGMOD International Conference on Management of Data, pp.207-216, 1993. 43.

(51) [20] R. J. Bayardo Jr. and R. Agrawal, “Mining the Most Interesting Rules,” in Proceedings of the 5th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp.145-154, 1999. [21] S. Brin, R. Motwani, J. D. Ullman and S. Tsur, “Dynamic Itemset Counting and Implication Rules for Market Basket Data”, in Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 255-264, 1997. [22] S. Haykin, “ Neural Networks: A Comprehensive Foundation,” Prentice Hall, 1999. [23] W. Li, J. Han, J. Pei, “CMAR: Accurate and Efficient Classification Based on Multiple Class-Association Rules,” in Proceedings of the 2001 IEEE International Conference on Data Mining, pp. 369-376, 2001. [24] W. Y. Lin and M. C. Tseng, “Automated Support Specification for Efficient mining of Interesting Association Rules,” Journal of Information Science, vol. 32, no. 3, pp. 238-250, 2006. [25] UCI Machine Learning:http://mlearn.ics.uci.edu/ [26] CBA tool:http://www.comp.nus.edu.sg/~dm2/. 44.

(52)

參考文獻

相關文件

Furthermore, in order to achieve the best utilization of the budget of individual department/institute, this study also performs data mining on the book borrowing data

in Proceedings of the 20th International Conference on Very Large Data

Step 5: Receive the mining item list from control processor, then according to the mining item list and PFP-Tree’s method to exchange data to each CPs. Step 6: According the

(1999), &#34;Mining Association Rules with Multiple Minimum Supports,&#34; Proceedings of ACMSIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego,

The International Conference on Innovation and Management 2012 (IAM 2012) is an annual conference on Innovation and management since 1999, organized and sponsored by the

Lange, “An Object-Oriented Design Method for Hypermedia Information Systems”, Proceedings of the Twenty-seventh annual Hawaii International Conference on System Sciences, 1994,

Proceedings of the Fifth International Conference on Genetic Algorithms, Morgan kaufmann Publishers, San Mateo, California, pp.110~117, 1996. Horn, J., “Finite Markov Chain Analysis

Shih and W.-C.Wang “A 3D Model Retrieval Approach based on The Principal Plane Descriptor” , Proceedings of The 10 Second International Conference on Innovative