收藏 分享(赏)

Fall资管所资料库系统专题.doc

上传人:hyngb9260 文档编号:8274857 上传时间:2019-06-17 格式:DOC 页数:22 大小:187.50KB
下载 相关 举报
Fall资管所资料库系统专题.doc_第1页
第1页 / 共22页
Fall资管所资料库系统专题.doc_第2页
第2页 / 共22页
Fall资管所资料库系统专题.doc_第3页
第3页 / 共22页
Fall资管所资料库系统专题.doc_第4页
第4页 / 共22页
Fall资管所资料库系统专题.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、2007 Fall資管所資料庫系統專題Final Project DBMS support of the Data MiningAdvisor: 黃三益 博士Student:D954020005 楊宗憲D954020006 王士豪二八年一月二十三日目錄2007 Fall資管所資料庫系統專題 Final Project .11 Data Mining簡介 51.1 Data Mining 之定義 51.2 Data Mining進行的程序 .61.3 為何使用 Data Mining.82 Data Mining之相關演算法與功能 102.1支援 DM之演算法介紹 102.2DM之主要用途 .1

2、03 Data Mining SQL查詢語法 133.1 關聯法則探勘的幾種方案 133.1.1 MSQL.143.1.2 DMQL153.1.3 OLE DB for DM154 OLE DB for DM查詢語法實作技術 175 結論 .196 感想 .216.1by 宗憲 216.2by 士豪 22圖目錄圖 1 Data Mining 之前置步驟 6圖 2 資料採礦進行的步驟 .7圖 3 建立 DM model 16圖 4 Data Mining 在企業中之角色 .19表目錄表 1 DM 之應用軟體與工具 .9表 2 不同演算法對於不同用途之支援 .121 Data Mining簡介Da

3、ta Mining常有人稱之為資料採礦或資料探勘 。顧名思義,就是在一大群資料(礦坑)中,找到我們所需要的資訊(礦)。更嚴謹地說,Data Mining是幫助我們在一大群資料中找出 pattern,賦予原本雜亂無章的資料意義,進而從中歸納出理論,而這些理論必須要有助於我們解決問題,當pattern成為知識後將創造出更大的價值,目前有商業上很多的 DBMS除了基本的資料庫管理之外,也紛紛添加了資料探勘的功能在其中,此外學術中更不乏有許多新的演算法提出,藉以改善資料探勘之效能,以下第一章將先針對 Data Mining作一初步之簡介。1.1 Data Mining 之定義資料探勘所指的是在一個確定

4、資料中有效的,可能有用的,並且最終能被理解使用的模式,資料採礦的過程是為要發現出有意義的樣型或規則,而必須從大量資料之中以自動或是半自動的方式來探索和分析 Data。資料探勘也是一種新的且不斷循環的決策支援分析過程,它能夠從組合在一起的資料中,發現出隱藏價值的知識,以提供給企業專業人員參考基本上,Data Mining 就是一種可以用來將你的資料中隱藏的資訊挖掘出來的技術,所以 Data Mining 其實是所謂的 Knowledge Discovery 的一部份,因此有些人也稱之為 KDD (Knowledge Discovery in Data),此外知識探勘、知識挖掘、知識萃取甚至是企業

5、智慧(Business Intelligence) 也是常見之說法。Data Mining 使用了許多統計分析與 Modeling 的方法,在資料中尋找有用的特徵(Patterns)以及關連性(Relationships)。 Knowledge Discovery 的過程對 Data Mining 的應用成功與否有重要的影響,只有它才能確保 Data Mining 能獲得有意義的結果。1.2 Data Mining進行的程序Data Miming 的應用程式與工具是利用資料來建立一些模擬真實世界的模式(Model),利用這些模式來描述資料中的特徵(Patterns)以及關係(Relations

6、)。這些模式有兩種用處,第一,瞭解資料的特徵與關係可以提供你做決策所需要的資訊。第二,資料的特徵可以幫助你做預測。 一開始時,我們並沒有任何的 Model,等到資料輸入後,經過 Data Mining工具的運算與訓練,建立出一個依據訓練資料模擬真實世界的 Model,有了這一個 Model後,再將需要進行預測的資料輸入測試,依據這一個 Model,以Data Mining工具加以評估,預測出一筆資料,如此,便可依預測出的資料,進行後續的動作。在進行 Data Mining 之前上有許多的前置步驟如下圖 1.,而最後需要專業領域人員的 Interpretation / Evaluation,才能

7、成為有用的知識。1.進行資料倉儲2.資料選擇與清除3.任務選擇4.選用 Data Mining 演算法5.建立知識 patternData miningcore of knowledge discovery processData CleaningData IntegrationDatabasesData WarehouseTask-relevant DataSelectionData MiningPattern Evaluation圖 1 Data Mining 之前置步驟圖二則為資料採礦進行的步驟,共可分下列八項1. 理解資料與進行的工作 2. 獲取相關知識與技術(Acquisition)

8、 3. 融合與查核資料(Integration and checking) 4. 去除錯誤或不一致的資料(Data cleaning) 5. 發展模式與假設(Model and hypothesis development) 6. 實際資料採礦工作 7. 測試與檢核所採礦的資料(Testing and verification) 8. 解釋與使用資料(Interpretation and use)Data MiningManagement System(DMMS)Mining ModelDefine a modelTrain the model Training DataTest the mo

9、del Test DataPrediction using the modelPrediction Input Data圖 2 資料採礦進行的步驟1.3 為何使用 Data Mining因為數位化之時代,資訊之爆炸性成長使得資料不僅存於資料庫當中,更應由龐大之資料當中挖掘出有用之知識,而資訊之爆炸性成長主要是在數位化中有下列之特性:資料大量產生: 電腦的使用率日漸普及,所以各個行業都普遍使用電腦來收集資料,然而在資料庫的設計上,收集的欄位可能達上百個,資料筆數更是無法計算,新的資料不斷的進來,所以時間愈長資料量就愈大,龐大資料庫的形成是可想而知的。 資料倉儲形成: 如果我們將一筆筆的資料,按資

10、料庫設計者設計的型態分門別類的依序存放於資料庫中,一段時間之後形成了一個大型的資料庫,我們便可從這些資料當中找尋出可被利用的資訊,而這個經過分門別類所設計出來的資料庫,就成了資料倉儲(data warehouse)。資料倉儲就是一種將資料聚集成資訊來源的場所。 電腦軟體配合發展: 雖然資料挖掘的這些定義有點不可觸摸,但在目前它已經成爲一種商業事業。如同在過去的歷次淘金熱中一樣,目標是開發礦工。利潤最大的是賣工具給礦工,而不是幹實際的開發。資料挖掘這個概念被用作一種裝備來出售電腦軟體。表 1是一些當前常見的資料探勘之應用軟體與工具,其中不乏是大型資料庫公司,例如 IBM、ORACLE 與 MIC

11、ROSOFT,更有一些是統計軟體之大廠,例如 SAS與 SPSS。表 1 DM 之應用軟體與工具序號 廠商 DM application1 SAS Enterprise Miner2 IBM DB2 Intelligent Miner3 Oracle ODM option to Oracle 10g4 SPSS Clementine5 Insightsful Insightful Miner6 KXEN Analytic Framework7 Prudsys Discoverer and its family8 Microsoft SQL Server 20059 Angoss Knowled

12、geServer and its family10 DBMiner DBMiner11 Others 2 Data Mining之相關演算法與功能2.1 支援 DM之演算法介紹在目前的 Data Mining應用軟體中常被用到的分析演算法包括: 決策樹(C4.5,CART,CHAID),神經網路,規則推斷,最近鄰方法,遺傳演算法,聚類方法,聯合規則,特徵提取,視覺化,神經網路,Bayesian belief 網路,神經模糊系統,資料方塊法等,並在學術界的研究中,一直有更新的方法被提出,亦或是針對現有之演算法加以效能改進之方法。 另外還有其他可用但未必常使用的統計方法,例如 假設檢驗,實驗設計,

13、回應表面模型,ANOVA,MANOVA,線性回歸,判別分析,對數回歸,邏輯斯回歸,廣義線性模型,正則相關性,主成分分析,因數分析,特別是在統計軟體大廠所開發出之應用軟體更是常出現,然而並非所有的演算法或是統計方法只能使用在某些特定之用途,通常來說,有些演算法也支援多種用途,例如表二中列出之決策樹演算法便能夠支援分類、回歸分析與關聯分析等不同之用途,且決策樹也一直是最常用的資料探勘演算法之一。2.2 DM之主要用途一般而言,Data Mining 可包含下列五項功能:1.分類分析(Classification) 主要是按照分析對象的屬性分門別類加以定義,建立類組(class)。例如,將信用申請者

14、的風險屬性,區分為高度風險申請者,中度風險申請者及低度風險申請者。使用的技巧有決策樹(decision tree),記憶基礎推理(memory - based reasoning)等。2. 推論分析(Estimation)主要是使用回歸分析之方法,根據既有連續性數值之相關屬性資料,以獲致某一屬性未知之值。例如按照信用申請者之教育程度、行為別來推估其信用卡消費量。使用的技巧包括統計方法上之相關分析、迴歸分析及類神經網路方法。 3.預測分析 (Prediction) (time series)根據對象屬性之過去觀察值來推估該屬性未來之值。例如由目前之股價與過去之事件來預測未來股價之漲跌亦或是由顧客

15、過去之刷卡消費量預測其未來之刷卡消費量。使用的方法包括迴歸分析、時間數列分析及類神經網路方法。4.關聯分析 (Association) 從所有物件決定那些相關物件應該放在一起。例如中秋節時之不同烤肉用具與不同食品通常置放在同一區域而超市中相關之盥洗用品(牙刷、牙膏、牙線),放在同一間貨架上。在客戶行銷系統上,此種功能係用來確認交叉銷售(cross selling)的機會以設計出吸引人的產品組合。 5.分群分析 (Clustering) 主要是利用 segmentation的方法將異質母體中區隔為較具同質性之群組(clusters)。同質分組相當於行銷術語中的區隔化(segmentation),

16、但是,假定事先未對於區隔加以定義,而資料中自然產生區隔。使用的技巧包括 k-means法及 agglomeration法。表 2 不同演算法對於不同用途之支援Decision TreesNave BayesClusteringSeq. ClusteringTime SeriesAssociation rulesNeural NetworkClassification X O O O O XRegression X O O O XSegmentaion X X OAssoc. AnalysisX X O O X XAnomaly Detect.X X OSeq. AnalysisXTime se

17、ries X3 Data Mining SQL查詢語法許多 Data Mining 的演算法能由資料中提取出不同型態的模式。為支持完整的知識發現程序我們需要能處理模式和資料的整合系統,歸納式資料庫就像是這樣的一個整合式架構系統。由於這種資料庫的觀點,知識發現程序變成了查詢程序,而許多查詢語言因此被設計出來。在關聯法則探勘領域中,不同的查詢語言提案被使用來支援或多或少的資料和模式的敘述性說明。在一些領域中研究者已經定義一些 DATA MINING 查詢語言,這些 DATA MINING 查詢語言被使用來說明歸納式查詢,它們或多或少能和標準查詢語言(SQL)結合做資料操作或是模式後處理操作。更明確

18、的說 DATA MINING 查詢語言應提供以下特性:1. 挑選 DATA 進行探勘或前處理2. 具體說明探勘的模型種類3. 具體說明背景知識的需求4. 在要求的模式中定義限制條件5. 後處理提煉模式3.1 關聯法則探勘的幾種方案滿足 DATA MINING 查詢的終止特性是重要的,換言之查詢的結果要能再被查詢。在資料庫理論典型的方法之後,開始需要定義良好的語義語言。這是唯一的方法能夠使查詢語言不再只是在一些演算法上的句法,而是真正為了最佳化查詢而設計的語言。到目前為止沒有任何一種查詢語言提案足以包括全部 KDD 程序的應用,但是在關聯法則探勘中,一些有趣的查詢語言已經被提出。設計 DATA

19、MINING 查詢語言,我們可以區分為兩種主要的方式。第一,是假設所有的需求物件(資料、模式儲存系統、解決方案)已經內嵌在一般的系統中,查詢語言的動機只是提供更多可理解的詞義。這樣的風險是查詢語言只是架構在解決方案上的語句,這樣的架構下如果資料儲存是使用關聯式資料庫管理系統則資料來源 tables是 view 或關聯而焠取模式的儲存也是使用關聯技術,MSQL、DMQL、MINE RULE 是此種方式的代表。第二種方式假設我們沒有事先定義的整合系統且儲存系統和解決方案是鬆散的耦合,解決方案可能來自不同的提供者。這種類型查詢語言不只是分析者的介面也是 DBMS 和解決方案的促進者。例如 OLE D

20、B for DM(Microsoft)是不同元件之間的 API 也提供語言建立、存取、操作和測試。他主要設計在 SQL Server 上且能連結不同的解決方案。3.1.1 MSQLMSQL (Imielinski and Virmani, 1999)是由 Rutgers 大學的學者設計的,它是使用描述符號(descriptors) 擷取規則的方式,每個描述符號 (descriptors)被表示成Ai=ij 的型式,A i 是屬性而 ij 是值或值的範圍。定義了 conunctset 為許多描述符號(descriptors)的連接詞, A=B,A 是 conunctset 而 B 是 descr

21、iptor。MSQL定義關聯法則 A=B 的支持度 (support)為在原始 TABLE 中包含 A 的數量,而信心度(confidence)為包含 A 和同時出現的組合數量和支持度之間的比率(AB/A)。實際上來說 MSQL 像是延伸 SQL 在關聯法則探勘上的語言,特定的查詢是使用探勘規則(歸納式查詢開始於 GetRules)而其他的查詢屬於後處理查詢再具體會收集規則(SelectRules) ,語法如下:GetRules (C) INTO WHERE SQL-group-by clauseUSING encoding-clauseS e l e c t R u l e s ( r u

22、l e b a s e name)WHERE 能使用 GetRules建立規則,C 是指來源資料表,USING 的使用能離散化數值資料,且使用 SelectRules來查詢,其中 conditions可限制支持度和信心度的規則。3.1.2 DMQLDMQL(Han et al., 1996)是加拿大 Simon Fraser 大學的學者設計的,它是被設計來支援多種規則的探勘(如分類法則、比較法則、關聯法則)。它是使用描述語 P(X,c)的型式, P 是屬性的名稱,X 是變數, c 是 P 屬性值域內的值。一個典型的關聯規則由 DMQL 描述如後,buy(X,milk)town(X,Berlin

23、)=buy(X,beer)。DMQL 也能定義門檻值且也能定義屬性的階層結構,它的語法如下:Use database (database-name)use hierarchy (hierarchy-name) For (attribute) Mine associations as (pattern-name) Matching (metapattern)From (relation(s) Where (condition) Order by (order-list) Group by (grouping1ist) Having (condition)With (interest-measur

24、e)Threshold = value3.1.3 OLE DB for DMOLE DB for DM(Netz et al., 2000)是微軟公司設計的,它是延伸 OLE DB API 來存取資料庫系統,更明確的說它主要是支援資料來源跟解決方案之間的溝通,它能在許多不同的解決方案和模式型態中工作。為了支援操作 KDD 程序的 API 物件,OLE DB for DM 提供了延伸 SQL 的語言,語法如下:CREATE MINING MODEL ()USING ()而 OLE DB for DM 在 SQL Server 2000 上執行只提供兩種演算法,decision tree和 clu

25、stering,然而在 SQL Server 2005 又提供了 neural network 和 association rule。4 OLE DB for DM查詢語法實作技術OLE DB for DM 的步驟如下圖所示,首先使用 CREATE MINING MODEL的語法建立 DM Model,再使用 INSERT INTO 的語法將訓練資料送入建立模式,最後使用 SELECT FROM PREDICTION JOIN 的語法進行測試。Data MiningManagement System(DMMS)Define a model:CREATE MINING MODEL .Train

26、a model:INSERT INTO dmm .Training DataPrediction using a model:SELECT FROM dmm PREDICTION JOIN Prediction Input Data圖 3 建立 DM model以下我們用一個偵測病患是否有心臟病的例子進行語法解說,此例子包括 ID, Age, Smoker, Salary, HeartAttack 五個屬性欄位。Defining a DM Model:CREATE MINING MODEL Heart_Health Prediction(ID Int Key,Age Int,Smoker In

27、t,Salary Double discretized,HeartAttack Int PREDICT, %Prediction column)USING Microsoft_Decision_Trees定義訓練樣本資料的來源欄位,預測欄位和所使用的 DATA MINING演算法。這個例子建立了一個 Heart_Health Prediction的探勘模型,主鍵為 ID,預測欄位為 HeartAttack,使用決策樹的演算法。Train a model:接下來是將訓練資料由其他資料表 INSERT INTO 前面建立的 Heart_Health Prediction 模型中進行訓練。INSER

28、T INTO Heart_Health Prediction( Age, Smoker, Salary, HeartAttack)OPENROWSET (,SELECT Age, Smoker, Salary, HeartAttack FROM Patient_Medical M, Patient_Financial FWHERE M.ID = F.ID)此例子是由 Patient_Medical 和 Patient_Medical 兩個 TABLE 中挑選 Age, Smoker, Salary, HeartAttack 進行訓練,值得注意的是 INSERT INTO 並不是真的將這些欄位值

29、寫入 Heart_Health Prediction 中,而只是使用 tuple 來訓練模型。Prediction using DM Model:在預測方面使用 PREDICTION JOIN 的方式將測試資料與預測模型結合,進行預測。SELECT T.ID, H.HeartAttackFROM Heart_Health Prediction HPREDICTION JOIN (OPENROWSET (,SELECT ID, Age, Smoker, SalaryFROM Patient_Medical M, Patient_Financial FWHERE M.ID = F.ID) as T

30、ON H.Age = T.Age AND H.Smoker = T.Smoker AND H.Salary = T.Salary本例用 PREDICTION JOIN 將 Patient_Medical 跟 Patient_Financial 兩個資料表中的 ID, Age, Smoker, Salary 等屬性帶進 Heart_Health Prediction 模式中測試。並以 Age, Smoker, Salary 三個屬性來預測哪些 ID 的病人有心臟病 HeartAttack。5 結論相關的資料庫管理系統支援 Data Mining 之研究議題有相當多,其中未來主要研究可能之主要方向

31、有三:1. 資料探勘的方法論2. 使用者介面3. 應用程式發展與社會影響力資料庫管理系統之廠商紛紛自行研發所屬之資料探勘工具與服務,除了效能之比較之外,未來是否能像 SQL與法一般建立查詢之標準相互以及對於最終使用者能夠有更方便之介面與更容易解讀之視覺化結果也是 DBMS未來發展Data Mining之重要問題;而 Data Mining是很晚才誕生的,雖然這個名詞很晚出現,不過其發展卻極為迅速,而且很多領域都使用這種技術,更是廣泛的被運用在企業界及醫療研究上。因為這個技術是以極大的資料量為出發點,所以有效率且正確的從龐大資料庫中汲取有用的資訊將成為一個很大的挑戰。Data Mining技術的

32、導入企業體,但其重點不是資料庫本身,而在於以企業領域為主。唯有妥善的運用 Data Mining技術,才能為企業產生創造力與價值更進而形成競爭優勢。Increasing potentialto supportbusiness decisionsEnd UserBusinessAnalyst DataAnalystDBAMakingDecisionsData PresentationVisualization TechniquesData MiningInformation DiscoveryData ExplorationOLAP, MDAStatistical Analysis, Query

33、ing and ReportingData Warehouses / Data MartsData SourcesPaper, Files, Information Providers, Database Systems, OLTP 圖 4Data Mining 在企業中之角色6 感想6.1 by 宗憲 上課:這學期修資料庫的方式有別於以前老師上課講授的方式,以前上課的方式學生都是抱著上課聽老師講授得心情來上課,課堂上有問題再發問。而這學期的上課方式,老師事先錄製好影音檔由學生在上課前預習,上課時再補充一些資料並把大部分時間花在習題講解上,如此的過程讓學生從預習、聽講、再複習的三個願望一次滿足

34、,這是個不錯的上課方式。尤其是習題講解的過程中常常最能發現問題所在,透過相互討論的方式更能記憶深刻。PROJECT:本小組的專題題目為 DBMS support of the Data Mining。製作 project的過程讓學生以資料庫的觀點來看 Data Mining,以前修 Data Mining時學習到的是 Data Mining的演算法,而這次的專題學生學到的是資料庫如何運用 Data Mining進行查詢與分析。和士豪配合的過程中,我們可以很快的分配內容再進行整合並彼此相互幫忙,專題製作期間也到士豪家住了一天,除了分享士豪初為人父的喜悅,也體會到為人父親的辛勞。6.2 by 士豪

35、我們所整理與報告的是資料庫所支援之資料探勘,對於未作此題目之前,對於資料探勘的了解一直是停留在資料探勘所使用的演算法、其能夠達到之目的與用途,此外一般課程與市面上的書籍探討也多為使用 DM能達到何種目的與如何改善演算法效能之探討,所幸完成這一次的報告得以瞭解商業化的資料庫管理系統已多發展自己的資料探勘工具,甚至是發展相關的查詢語言,例如本組報告主要 Focus 在微軟的 SQL Server 2005 其所支援的 DMX 與 OLE DB for DM,和 SQL相似的是都是希望能夠獨立於資料與內容之外能夠提供演算法中立、廠商中立且有彈性與延展性的資料探勘查詢語言,只要經過 modeling

36、、training 、prediction pattern 就能產生,實在是有別於之前對於 DM之了解,然美中不足的是這一次的專案對象主要以 SQL Server 2005為主,若有更長的時間應將其他的 DBMS也一並列入討論。在課程方面,使用遠距的平台讓我們預習且複習讓我驚訝,謝謝老師與助教花費的良多時間,真是辛苦老師,而每次上課的作業,雖然有同學相互合作討論,卻也往往戰戰兢兢,就算是我們認為已經是相當完整卻正確的答案,也每每都有可能會有疏漏,所幸在上課與討論後總能改過,然而經過這一學期的資料庫重新學習後,也才發現自己之前大學與研究所所知真是相當有限,但同樣的或許因這學期自己有太多的身分,實在是感覺時間不夠去消化吸收,且還有許多不懂之處,不知是否有機會讓這門課程為學年課,並加上實作與不同DBMS之比較,我想在實務上我們能夠理解更多,達到理論與實務兼備。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报