资料采掘方法规划导论.ppt
第二章 資料採掘方法規劃導論,1-2-1 資料採掘(Data Mining)運算技術應用分析,資料採掘技術可使得電腦不再限於被動地蒐集、儲存資料,它是可以主動協助使用者在龐大的資料堆中找出所需要的重點資料,並加以分析、預測。這種資料過濾分析的處理過程即稱為資料採掘(Data Mining)或資料探勘。也就是說資料採掘(Data Mining)演算技術是一種多用途的資訊軟體技術,此種技術可應用在各種主從式架構(Client/Server Structure)與網際Web 三層式或多層式(3-Tiers/N-Tiers)架構系統的商業邏輯程式規劃及設計上,然而,資料採掘(Data Mining)卻是一種深奧的軟體技術,此種技術並不容易瞭解。且由於要運用資料採掘演算技術來處理各種資料分析,更要使用到很多艱澀的數學運算,因此,目前運用到資料採掘演算技術時,都是使用資料採掘專門軟體來設計或處理。,資料採掘軟體運算技術擁有非常多的演算法則與數學公式,但這些演算法則與公式最重要的目的只有兩個:(1)、使用資料採掘運算技術,利用快速的統計、分析、萃取各種異質大量資料來塑造及模擬真實世界中的模型(Model),利用這些模型來描述資料中的特徵(Patterns)及關係(Relations)。藉由瞭解資料的特徵與關係進而提供企業做決策所需要的資訊。(2)、使用資料採掘運算技術,分析及分類各種大量的歷史資料,藉由歷史資料分析出的結論、及分析出歷史資料的特徵,來協助企業執行各種預測,如:銷售預測、毛利預測、成本預測等企業營運息息相關的各種預測。,1-2-2 資料採掘(DM,Data Mining)實作技術類型分析,資料採掘(DM,Data Mining)最大的用途是能在極大量的資料中,透過精密的分析運算、統計篩選及分層過濾,找出符合複雜查詢條件的有效資訊。此種經過分析、統計、篩選及過濾的運算邏輯,一般統稱為知識的採掘。而此種知識採掘的方法,在資料採掘(DM)中,稱為資料採掘方法(Data Mining Method)。目前最常用的資料採掘運算方法有下列幾種:(1)、關聯規則採掘方法(Association Rule Method)。(2)、群集分析採掘方法(Clustering Method)。(3)、決策樹採掘分析方法(Decision Trees Method)。(4)、預測查詢採掘(Prediction)分析方法。(5)、遺傳演算分析方法。(6)、回歸預測採掘分析方法。,6種常用的資料採掘方法(Data Mining Method)中,最常應用到商業應用系統的企業邏輯設計上的有3種,分別為:(1)、決策樹採掘(Decision Trees)分析方法。(2)、關聯規則採掘(Association Rule)方法。(3)、預測查詢採掘(Prediction)分析方法。此三種資料採掘技術最重要的設計觀念在於決策與分析,與企業邏輯運算最終目的是一致的,所以非常適合用於規劃商用企業邏輯程式設計。,1-2-3 關聯規則採掘(Association Rule)方法概說,關聯規則(Association Rule)採掘方法是由 Agrawal 與 Srikant 於1994年提出的一種高效率的資料採掘方法,且關聯規則更是知識探索資料庫系統(KDD,Knowledge Discovery Database System)研究及探索的重要內容。所謂關聯規則(Association Rule)的採掘技術是指從交易資料庫中、挖掘及尋找具有特定關聯的規則。關聯規則採掘技術(Association Rule)主要用途為用來描述資料庫中所有資料與資料間的關聯性。關聯規則最主要的採掘實作方法為:描述消費者在購買某些商品時,同時也會購買其他特定商品的機率。若使用程式分析角度來說明關聯規則採掘(Association Rule)的話,則可定義為從客戶交易資料庫中擷取出所有滿足特定搜尋條件的依賴性關係。,在資料採掘的所有關聯採掘規則的演算法中,最有名及最常用的有演算法就是Apriori演算法。所謂Apriori演算法是一種不斷掃瞄交易資料庫,利用層次過濾及消除的方法找出資料項目間的所有關聯規則的演算法。Apriori演算法的規劃處理方式說明如下:(1)、假設一個包含N個項目的項目集被稱為N-項目集(N-Item-Set)。(2)、符號L-N表示所有大型N-項目集(Large N-Item-Set)所成的集合。(3)、Apriori演算法最重要的設計觀念就是使用上一個階段所採掘出的大型項目集做為產生下一階段大型項目集的依據。簡單的說,就是先找出所有大型L-項目集 L1,再利用L1 找出L2,然後利用L2找出L3,依此類推下去,直到下一個階段無任何大型項目集產生為止。(4)、Apriori演算法在實作時,為了減少在建立大型項目集時,花費過多的計算時間,因此Apriori 使用一個重要的設計觀念來減少搜尋資料庫的時間。那就是一個大型項目集的任何子集合也必定是大型項目集。(5)、Apriori 演算法實作設計時,最重要的是運用兩個特性來從主交易資料庫中來建立大型項目集(此項目也稱為候選項目集(Candidate Item Sets),此兩個特性分別為:結合及刪除。(6)、從字義上來看,所謂結合(Join)是指將可相互結合的大型項目集相結合來產生候選項目集。其實際設計流程為:A、結合大型(K-1)-項目集來產生候選K-項目集(candidate K-Item Sets)。B、假設X1和X2是兩個大型(K-1)-項目集,且項目集中的所有子項目都已依遞增方式排序完成。C、X1j代表項目集X1中的第j個項目,若X1和X2的前K-2個項目皆相同,且X1K-1 X2K-1(X1K-1 X2K-1 的目的是為了避免產生重複的候選K-項目集),則X1和X2將被結合成一個候選K-項目集,即 X11,X12,X1K-1,X2K-1。,(7),Apriori 演算法實作設計時另一項特性就是刪除。在Apriori 演算法中,所謂的刪除是指將無法滿足於Apriori 演算法特性的候選項目集刪除。,1-2-4 決策樹採掘(Decision Trees)分析方法概說,決策樹(Decision Trees)採掘技術可說是所有資料採掘(Data Mining)運算技術中,最獨特及非常有用的一種分析及決策技術。在資料採掘中,所說的決策樹(Decision Trees)資料採掘技術是一種使用分類模式(Classification Models)做為主架構的規劃設計方式,對特定資料執行二元、三元或多元的歸納分類來建立決策分析的邏輯判斷依據,此種類似樹狀結構(Tree-Structure)的架構,即稱為決策樹(Decision Trees)。在決策樹採掘技術中,最重要的一個決策分析依據就是分類。決策樹(Decision Trees)資料採掘技術使用分類最大的目的有三個:(1)、藉由分類(Classification)來瞭解特定族群或群組的特徵,進而使用族群或群組的特徵做為決策判斷的依據。(2)、藉由分類來尋找影響特定重要變數的因素,而此重要變數的因素是可以使用判斷運算來處理的。(3)、藉由分類來建立分類處理的規則,例如:企業訂定業務行銷策略時,通常會使用產品分類來設定市場區隔。,資料採掘(Data Mining)決策樹(Decision Trees)演算技術與企業邏輯程式規劃有著非常密切的相似之處,筆者認為決策樹(Decision Trees)演算技術可說是資料採掘技術的邏輯判斷指令。因為決策樹演算技術中,每一個節點(Node)都是一個運算準則,而物件導向程式語言中的邏輯判斷敘述同樣是已一個邏輯運算準則來判斷敘述需執行的流程方向:IF THEN ELSEEND IF,資料採掘的決策樹(Decision Trees)的類型可分為下列3種類型:二元決策樹(Binary Decision Tree)、三元決策樹(Ternary Decision Trees)以及多元決策樹(N-Way Decision Trees)。,1-2-5 預測查詢採掘(Prediction)分析方法概說,資料採掘(Data Mining)演算技術擁有非常多的演算法則與實作數學公式,但這些演算法則與公式運用在企業邏輯設計時,最重要的應用目的只有兩個:(1)、決策(Decision):使用資料採掘運算技術,利用快速的統計、分析、萃取各種異質大量資料來塑造及模擬真實世界中的模型(Model),利用這些模型來描述資料中的特徵(Patterns)及關係(Relations)。藉由瞭解資料的特徵與關係進而提供企業做決策所需要的資訊。(2)、預測(Prediction):使用資料採掘運算技術,分析及分類各種大量的歷史資料,藉由歷史資料分析出的結論、及分析出歷史資料的特徵,來協助企業執行各種預測,如:銷售預測、毛利預測、成本預測等企業營運息息相關的各種預測。,所以可說預測(Prediction)與決策(Decision)可說是資料採掘(Data Mining)運算技術要做到的兩個最重要功能。預測(Prediction)與決策(Decision)可說是一體兩面,簡單的說所謂的預測(Prediction)是指對未來發展的方向或可能產生的狀況做可能的猜測與判斷,依據這些猜測與判斷,來做出決策(Decision)。因此可以說預測(Prediction)是一種對尚未發生的狀況做可能的研判,決策(Decision)則是對這些可能發生的狀況做出應對與回應。資料採掘的預測查詢(Prediction&Decision Data Mining)就是使用查詢(Query)的採掘技術來執行預測(Prediction)與決策(Decision)的分析與設計。,在擁有資料採掘技術的商務資訊應用系統中,預測(Prediction)與決策(Decision)的設計功能,依軟體架構的不同而有所差異:(1)、決策(Decision)運算技術通常應用在主從架構式(Client/Server)軟體應用功能上。由於決策功能在企業應用軟體中是一種輔助主管或決策者訂定企業方向的重要功能,並不是所有使用者都可使用或查看的高階應用功能,因此不適於使用在WEB資料採掘架構的應用系統中,因為WEB資料採掘應用是一種開放式設計架構,是讓所有有權限的使用者來使用,因此在開放設計與使用式資料採掘應用中、決策(Decision)功能的設計只是屬於輔助應用,而在主從架構式資料採掘應用中,決策(Decision)則為主設計應用功能。(2)、預測(Prediction)對於企業邏輯運算應用上,預測(Prediction)不僅是一項高階的應用設計、更是一種商用決策支援系統的必備應用功能。在WEB資料採掘設計技術中,預測設計更比決策設計應用廣。而預測(Prediction)在主從架構式資料採掘技術中,更是決策(Decision)設計必備前置運算設計功能。也就是說要做到決策(Decision)、必須先做到預測(Prediction)。,模糊查詢(Fuzzy Query)是程式設計中最複雜也是最重要的一種查詢設計,更是智慧型資料採掘最重要的一種分析與設計技術。運用模糊查詢(Fuzzy Query)可以設計出大範圍、沒有特別指定條件或無法指出合乎範圍邏輯的分析應用程式。所謂模糊查詢(Fuzzy Query)是一種不需要非常確定的查詢運算子或查詢因子存在,只要有相關聯的因素存在,即可使用這些相關聯因素或部份因子來進行查詢處理,此種使用部份或只有不確定關聯方式的查詢就稱為模糊查詢(Fuzzy Query)。,模糊查詢(Fuzzy Query)理論若使用程式設計的觀念來說明,則規劃上的觀念重點可以分析如下:(1)、LIKE設計觀念:LIKE設計觀念是模糊查詢最重要的一種查詢及分析設計手法,其查詢意義是指DataKEYField欄位中,只要含有Back-Part-Data資料者都為要處理的資料。也就是包含(Include)觀念。常用的LIKE範例顯示如下:DataKEYField LIKE%Part-Data%OR DataKEYField LIKE Fore-Part-Data%ORDataKEYField LIKE%Back-Part-Data SELECT*FROM Table-Name WHERE DataKEYField LIKE%Part-Data%SELECT*FROM Table-Name WHERE DataKEYField LIKE Fore-Part-Data%SELECT*FROM Table-Name WHERE DataKEYField LIKE%Back-Part-Data(2)、BETWEEN設計觀念:BETWEEN設計觀念則是模糊查詢另一種查詢及分析設計手法,用途為查詢範圍在指定的兩值域之間的資料。也就是介於觀念。常用的BETWEEN 範例顯示如下:DataKEYField BETWEEN Left-Data-Range,Right-Data-Range DataKEYField BETWEEN Left-Data-Range,Right-Data-Range(3)、NESTED LIKE設計觀念:子查詢中包含DataKEYField LIKE%Part-Data%OR 子查詢中包含DataKEYField LIKE Fore-Part-Data%OR 子查詢中包含DataKEYField LIKE%Back-Part-Data(4)、物件導向程式設計IndexOf()設計觀念:此種方法與LIKE方法相似,其差別只在於LIKE是使用在資料庫程式語言與SQL指令敘述,IndexOf()則用於物件導向程式語言的邏輯運算中。Object.IndexOf(Char)Object.IndexOf(String),1-2-6 群集分析採掘(Clustering)演算概說,資料採掘(DM,Data Mining)的群集分析(Cluster Analysis)演算技術是一種藉由分析特定資料群間彼此的相似程度,藉由此種資料分析所找到的群集結果,推論(推測)出有用、隱含以及令企業感到興趣的資訊和現象。對於企業邏輯運算技術而言,群集分析採掘技術是非常重要及有用的一種功能開發技術,新一代企業資訊應用系統都已是Web網際應用N-Tiers多階層式應用系統,在Web網際系統中,所有統計分析作業都是線上即時處理,因此群集分析演算技術就顯得格外重要了。資料採掘(Data Mining)群集分析(Cluster Analysis)演算技術的概念可分為下列幾點來加以說明:(1)、將資料集合(資料集合可為單一資料表格(Single Table)或多資料表(Multi-Tables)中的資料記錄(Records),使用分群的方式將之分成數個群集(Cluster),使得各個群集中的資料記錄間相似程度高於與其它群集中資料記錄的相似程度。(2)、在群集分析(Cluster Analysis)的處理運算過程中,並沒有預先指定好的分群類別資訊,也沒有任何資訊可以表示資料記錄間彼此之間是有任何相關的。(3)、群集分析(Cluster Analysis)最主要的用途是在分析資料彼此間的相似程度,藉由分群分析所找到的群集結果,推測(Prediction)出資料資料中有用的、或隱含的有用的資料與特性。,1-2-7 PMML 模型塑造技術,PMML(Predictive Model Markup Language,預測式模型標示語言)簡單的說是一種使用XML為程式基礎的資料採掘模型(Data Mining Modeling)塑造語言。PMML主要的用途共有三點:PMML可做為資料採掘模型交換規格、PMML可做為資料採掘模型部署工具以及PMML將可成為資料採掘運算模型建構的標準化工具等,以下使用分點說明方式來分析此三用途:(1)、PMML可做為資料採掘模型交換規格:PMML最重要的功能就是做為不同應用工具產生的資料採掘模型交換的規格。不同的資料挖掘工具各有不同的應用領域及用途。因此應用在各類複雜的資料挖掘任務,需要使用不同的資料採掘軟體工具,而各工具間必須能夠相互交換分析處理的結果,而在交換結果的同時不需考慮到產生模型的工具、方式及做法,因此各採掘軟體工具間必須有一個共通的、開放式的資料格式。PMML程式語言就擁有此特性。(2)、PMML可做為資料採掘模型部署工具:新一代商業智慧系統都非常的龐大,PMML正適合做為商業智慧應用系統模型的部署工具。使用PMML做為部署工具,能非常容易地將資料採掘的分析決策結果部署或導入到支援此種PMML標準的軟體中。而新一代的Web即時資料採掘系統更是目前發展的重點。因此將商業智慧移植到Internet上進行實務部署將是未來的趨勢,而PMML則俱備了此項特點。(3)、PMML將可成為資料採掘運算模型建構的標準化工具:標準化必須滿足一個特點,就是要讓所有或大部份軟體商都接受,就像現在XML幾乎已成為網際(Internet)資料交換及資料處理規格的標準,而PMML更以XML語言為主建置語言,對於PMML成為應用在資料採掘模型建構的標準化 工具,有非常大的推力。,PMML最常用來設計的採掘預測模型包含下列的類型:關聯規則模型(Association Rules Model)。PMML模型項目定義:決策樹採掘模型(Decision Trees Model)。PMML模型項目定義:群集分析模型(Clustering Analysis Model)。PMML模型項目定義:General Regression Model。PMML模型項目定義:Naive Bayes Model。PMML模型項目定義:迴歸分析模型(Regression Model)。PMML模型項目定義:RuleSet Model。PMML模型項目定義:Sequence Model。PMML模型項目定義:文字分析模型(Text Model)。PMML模型項目定義:,1-2-8 遺傳演算法(Genetic Algorithms,GA)概說,資料採掘(Data Mining)的遺傳演算法(Genetic Algorithms,GA)是一種模擬自然界生物演化過程及運作機制的運算法則,主要可用來處理優先問題解決方法的人工智能技術。此種演算法最主要的用途為使用嚴謹的架構來設計出自然生物系統的進化過程,希望藉此激起自然系統和人工系統兩大領域發展上的突破,近來被廣泛的應用於搜尋各類問題的最佳解答,藉由生物物種的基本運算子,在每一代間進行演化,最終尋得特定問題的最佳解答。在遺傳演算法中,每一個體均稱為染色體(Chromosome,所謂染色體是指遺傳演算法中運算子運算的對象,染色體的資料型態(Data Type)是一個由數字串接而成的字串(String),而每一個染色體都對應到搜尋空間的一個解答),每一染色體的基因之值都是由亂數(Random Number)產生,而每一世代的染色體所形成的集合稱做群體(Population)。在每一世代中的每一個染色體互相競爭,較適合生存環境的有較高的適存值(Fitness Value),而有較高的適存值的染色體可以複製出較多的子代,然後從其中選擇(Selection)配對來交配(Crossover)產生下一代,以期可以產生適存度更高的下一代。而且為了避免錯過某些特定有用的資訊,更加入了突變(Mutation)的處裡,來產生出有用的資訊(不過一般而言,此種突變率(Mutation Rate)通常是很低的)。利用如此一代一代的演化下去,來產生適存值最高的染色體,而此染色體即是問題所需要的解答。,1-2-9 回歸分析(Regression Analysis)採掘方法概說,迴歸分析(Regression Analysis)是一種統計分析的應用方法,其使用領域非常的廣及多,對於資料採掘(Data Mining)的應用而言,而且是應用在商業應用資訊系統開發時的資料採掘應用上,最重要的是預測與決策的核心規劃及設計功能,而此兩類功能設計時,都會使用到迴歸分析(Regression Analysis)演算技術。在ERP(企業資源整合規劃)應用上,迴歸分析可用來規劃銷售預測、成本分析預測以及營運決策擬定。在CRM(客戶關係管理)系統的應用上,迴歸分析可用來規劃客戶忠誠度預測、客戶貢獻度預測、客戶貢獻度分析以及客戶滿意度分析,以用來做為決策分析之用。在MIS(管理資訊系統)應用上,迴歸分析可用來規劃銷售分析、銷售決策分析、進貨成本分析以及促銷決策擬定。因此可分析出迴歸分析(Regression Analysis)在商業應用上最重要的用途有兩類:(1)、預測:企業營運上的預測。客戶未來銷售預測。客戶未來再度交易機率預測。客戶忠誠度預測。客戶貢獻度預測。成本分析預測。促銷決策擬定。(2)、資料統計及資訊分析:企業營運統計及資訊分析,以圖表分析。企業營運決策分析。客戶滿意度分析。銷售決策分析。,1-2-10 資料採掘(Data Mining)演算技術實作說明,本章前面章節中已說明,資料採掘(DM,Data Mining)最大的用途是能在極大量的資料中,透過精密的分析運算、統計篩選及分層過濾,找出符合複雜查詢條件的有效資訊。此種經過分析、統計、篩選及過濾的運算邏輯,一般統稱為知識的採掘運算處理。瞭解目前最常使用的六種資料採掘運算方法:關聯規則採掘(Association Rule)方法 群集分析採掘(Clustering)方法 決策樹採掘(Decision Trees)分析方法 預測查詢採掘(Prediction)分析方法 遺傳演算(Genetic Algorithms,GA)分析方法 回歸預測採掘分析方法,