数据挖掘基础之数据库
最近出現的一種數據庫結構是數據倉庫(1.3.2 小節)。這是一種多個異種數據源在單個站點以統一的模式組織的存儲,以支持管理決策。數據倉庫
技術包括數據清理、數據集成和聯機分析處理(OLAP)。OLAP 是一種分析技術,具有匯總、合并和聚集功能,以及從不同的角度觀察信息的能力。盡管 OLAP 工具支持多維分析和決策,對于深層次的分析,如數據分類、聚類和數據隨時間變化的特征,仍然需要其它分析工具。
許多人把數據挖掘視為另一個常用的術語“數據庫中知識發現”或 KDD 的同義詞。而另一些人只是把數據挖掘視為數據庫中知識發現過程的一個基本步驟。知識發現過程如圖 1.4 所示,由以下步驟組成:
1. 數據清理(消除噪音或不一致數據)
2. 數據集成(多種數據源可以組合在一起)1
3. 數據選擇(從數據庫中提取與分析任務相關的數據)
4. 數據變換(數據變換或統一成適合挖掘的形式;如,通過匯總或聚集操作)
5. 數據挖掘(基本步驟,使用智能方法提取數據模式)
6. 模式評估(根據某種興趣度度量,識別提供知識的真正有趣的模式;1.5 節)
7. 知識表示(使用可視化和知識表示技術,向用戶提供挖掘的知識)。
?
典型的數據挖掘系統具有以下主要成分:
1 數據庫、數據倉庫、或其它信息庫:這是一個或一組數據庫、數據倉庫、展開的表、或其它類型的信息庫。可以在數據上進行數據清理和集成。
2 數據庫或數據倉庫服務器:根據用戶的數據挖掘請求,數據庫或數據倉庫服務器負責提取相關數據。
3知識庫:這是領域知識,用于指導搜索,或評估結果模式的興趣度。這種知識可能包括概念分層,用于將屬性或屬性值組織成不同的抽象層。用戶確信方面的知識也可以包含在內。可以使用這種知識,根據非期望性評估模式的興趣度。領域知識的其它例子有興趣度限制或閾值和元數據(例如,描述來自多個異種數據源的數據)。
4數據挖掘引擎:這是數據挖掘系統基本的部分,由一組功能模塊組成,用于特征、關聯、分類、聚類分析、演變和偏差分析。
5模式評估模塊:通常,該部分使用興趣度度量(1.5 節),并與挖掘模塊交互,以便將搜索聚焦在有趣的模式上。它可能使用興趣度閾值過濾發現的模式。模式評估模塊也可以與挖掘模塊集成在一起,這依賴于所用的數據挖掘方法的實現。對于有效的數據挖掘,建議盡可能地將模式評估推進到挖掘過程之中,以便將搜索限制在有興趣的模式上。
6圖形用戶界面:該模塊在用戶和挖掘系統之間通訊,允許用戶與系統交互,指定數據挖掘查詢或任務,提供信息、幫助搜索聚焦,根據數據挖掘的中間結果進行探索式數據挖掘。此外,該成分還允許用戶瀏覽數據庫和數據倉庫模式或數據結構,評估挖掘的模式,以不同的形式對模式可視化。
?
關系數據庫
數據庫系統,也稱數據庫管理系統(DBMS),由一組內部相關的數據,稱作數據庫,和一組管理和存取數據的軟件程序組成。軟件程序涉及如下機制:數據庫結構定義,數據存儲,并行、共享或分布的數據訪問,面對系統癱瘓或未授權的訪問,確保數據的一致性和安全性。
關系數據庫是表的集合,每個表都賦予一個唯一的名字。每個表包含一組屬性(列或字段),
并通常存放大量元組(記錄或行)。關系中的每個元組代表一個被唯一關鍵字標識的對象,并被一
組屬性值描述。語義數據模型,如實體-聯系(ER)數據模型,將數據庫作為一組實體和它們之間的聯系進行建模。通常為關系數據庫構造 ER 模型。
?
數據倉庫
數據倉庫是一個從多個數據源收集的信息存儲,存放在一個一致的模式下,并通常駐留在單個站點。數據倉庫通過數據清理、數據變換、
數據集成、數據裝入和定期數據刷新構造。
通常,數據倉庫用多維數據庫結構建模。其中,每個維對應于模式中一個或一組屬性,每個單元存放聚集度量,如 count 或 sales_amount。數據倉庫的實際物理結構可以是關系數據存儲或多維數據方。它提供數據的多維視圖,并允許快速訪問預計算的和匯總的數據。
數據倉庫收集了整個組織的主題信息,因此,它是企業范圍的。另一方面,數據集市是數據倉庫的一個部門子集。它聚焦在選定的主題上,是部門范圍的。
通過提供多維數據視圖和匯總數據的預計算,數據倉庫非常適合聯機分析處理(OLAP)。OLAP操作使用數據的領域背景知識,允許在不同的抽象層提供數據。這些操作適合不同的用戶。OLAP操作的例子包括下鉆和上卷,它們允許用戶在不同的匯總級別觀察數據,如圖 1.8(b)所示。例如,可以對按季度匯總的銷售數據下鉆,觀察按月匯總的數據。類似地,可以對按城市匯總的銷售數據上卷,觀察按國家匯總的數據。
?
事務數據庫
一般地,事務數據庫由一個文件組成,其中每個記錄代表一個事務。通常,一個事務包含一個唯一的事務標識號(trans_ID),和一個組成事務的項的列表(如,在商店購買的商品)。事務數據庫可能有一些與之相關聯的附加表,包含關于銷售的其它信息,如事務的日期、顧客的 ID 號、銷售者的 ID 號、銷售分店,等等。
?
高級數據庫系統和高級數據庫應用
關系數據庫系統廣泛地用于商務應用。隨著數據庫技術的發展,各種先進的數據庫系統已經出現并在開發中,以適應新的數據庫應用需要。
新的數據庫應用包括處理空間數據(如地圖)、工程設計數據(如建筑設計、系統部件、集成
電路)、超文本和多媒體數據(包括文本、圖象和聲音數據)、時間相關的數據(如歷史數據或股
票交換數據)和萬維網(Internet 使得巨大的、廣泛分布的信息存儲可以利用)。這些應用需要有效的數據結構和可規模化的方法,處理復雜的對象結構、變長記錄、半結構化或無結構的數據,文本和多媒體數據,以及具有復雜結構和動態變化的數據庫模式。
響應這些需求,開發了先進的數據庫系統和面向特殊應用的數據庫系統。這些包括面向對象和對象-關系數據庫系統、空間數據庫系統、時間和時間序列數據庫系統、異種和遺產數據庫系統、基于萬維網的全球信息系統。
雖然這樣的數據庫或信息存儲需要復雜的機制,以便有效地存儲、提取和更新大量復雜的數據,它們也為數據挖掘提供了肥沃的土壤,提出了挑戰性的研究和實現問題。本節,我們將介紹上面列舉的每種高級數據庫系統。
面向對象數據庫
向對象數據庫基于面向對象程序設計范例。用一般術語,每個實體被看作一個對象。對于AllElectronics 例子,對象可以是每個雇員、顧客、商品。涉及一個對象的數據和代碼封裝在一個單元中。每個對象關聯:
1??一個變量集,它描述數據。這對應于實體-聯系和關系模型的屬性。
2? ??一個消息集,對象可以使用它們與其它對象,或與數據庫系統的其它部分通訊。
3? ?一個方法集,其中每個方法存放實現一個消息的代碼。一旦收到消息,方法就返回一個響應值。例如,消息 get_photo(employee)的方法將提取并返回給定雇員對象的照片。
共享公共特性集的對象可以歸入一個對象類。每個對象都是其對象類的實例。對象類可以組成/子類層次結構,使得每個類代表該類對象共有的特性。例如,類 employee 可以包含變量 name, address 和birthdate。假定類 sales_person 是 employee 的子類。一個 sales_person 對象將繼承屬于其超類 employee 的所有變量。此外,它還具有作為一個銷售員特有的所有變量(如,commission)。這種類繼承特性有利于信息共享。
對象-關系數據庫
對象-關系數據庫基于對象-關系數據模型構造。該模型通過提供處理復雜對象的豐富數據類型和對象定位,擴充關系模型。此外,它還包含關系查詢語言的特殊構造,以便管理增加的數據類型。
通過增加處理復雜數據類型、類層次結構和如上所述的對象繼承,對象-關系模型擴充了基本關系模型。對象-關系數據庫在工業和應用正日趨流行。
在面向對象和對象-關系系統中的數據挖掘具有某些類似性。與關系數據挖掘相比,需要開發新的技術,處理復雜對象結構、復雜數據類型、類和子類層次結構、特性繼承以及方法和過程。
時間數據庫和時間序列數據庫
時間數據庫和時間序列數據庫都存放與時間有關的數據。時間數據庫通常存放包含時間相關屬性的數據。這些屬性可能涉及若干時間標簽,每個都具有不同的語義。時間序列數據庫存放隨時間變化的值序列,如,收集的股票交易數據。
數據挖掘技術可以用來發現數據庫中對象演變特征或對象變化趨勢。這些信息對于決策和規劃
是有用的。例如,銀行數據的挖掘可能有助于根據顧客的流量安排銀行出納員。可以挖掘股票交易
數據,發現可能幫助你制訂投資策略的趨勢(例如,何時是購買 AllElectronics 的股票的最佳時機?)。通常,這種分析需要定義時間的多粒度。例如,時間可以按財政年、學年或日歷年分解。年可以進一步分解成季度或月。
文本數據庫和多媒體數據庫
文本數據庫是包含對象文字描述的數據庫。通常,這種詞描述不是簡單的關鍵詞,而是長句子
或短文,如產品介紹、錯誤或故障報告、警告信息、匯總報告、筆記或其它文檔。文本數據庫可能
是高度非規格化的(如,萬維網上的網頁)。有些文本數據庫可能是半結構化的(如 email 消息和一些 HTML/XML 網頁),而其它的可能是良結構化的(如圖書館數據庫)。通常,具有很好結構的文本數據庫可以使用關系數據庫系統實現。
“文本數據庫上的數據挖掘可以發現什么?”說到底,可以發現對象類的一般描述,以及關鍵詞或內容的關聯和文本對象的聚類行為。為做到這一點,需要將標準的數據挖掘技術與信息提取技術和文本數據特有的層次構造(如字典和辭典),以及面向學科的(如化學、醫學、法律或經濟)術語分類系統集成在一起。
多媒體數據庫存放圖象、音頻和視頻數據。它們用于基于圖內容的提取、聲音傳遞、錄像點播、萬維網和識別口語命令的基于語音的用戶界面等方面。多媒體數據庫必須支持大對象,因為象視頻這樣的數據對象可能需要數十億字節的存儲。還需要特殊的存儲和檢索技術,因為視頻和音頻數據需要以穩定的、預先確定的速率實時檢索,防止圖象或聲音間斷和系統緩沖區溢出。這種數據稱為連續媒體數據。
對于多媒體數據庫挖掘,需要將存儲和檢索技術與標準的數據挖掘方法集成在一起。有前途的方法包括構造多媒體數據方、多媒體數據的多特征提取和基于相似的模式匹配。
異種數據庫和遺產數據庫
異種數據庫由一組互連的、自治的成員數據庫組成。這些成員相互通訊,以便交換信息和回答查詢。一個成員數據庫中的對象可能與其它成員數據庫中的對象很不相同,使得很難將它們的語義吸收進一個整體的異種數據庫中。
許多企業需要遺產數據庫,作為信息技術長時間開發(包括使用不同的硬件和操作系統)的結果。遺產數據庫是一組異種數據庫,它將不同的數據系統組合在一起。這些數據系統如關系或對象 -關系數據庫、層次數據庫、網狀數據庫、電子表格、多媒體數據庫或文件系統。遺產數據庫中的異種數據庫可以通過網內或網間計算機網絡連接。
這種數據庫的信息交換是困難的,因為需要考慮發散的語義,制定從一種表示到另一種表示的精確轉換規則。例如,考慮不同學校之間學生學業情況數據交換問題。每個學校可能有自己的計算機系統和課程與評分體系。一所大學可能采用學季系統(每學期三個月——譯注),開三門數據庫課程,并按由 A+到 F 評定成績;而另一所可能采用學期系統,開兩門數據庫課程,并按由 1 到 10評定成績。很難制定這兩所大學的課程-成績轉換精確的規則,使得信息交換很困難。通過將給定的數據轉換到較高的、更一般的概念層(對于學生成績,如不及格、良好或優秀),數據挖掘技術可以對此問題提供有趣的解,使得數據交換可以更容易地進行。
萬維網
萬維網和與之關聯的分布信息服務(如,美國在線,Yahoo!, Alta Vista, Prodigy)提供了豐富的、世界范圍的聯機信息服務;這里,數據對象被鏈接在一起,便于交互訪問。用戶通過鏈接,從一個對象到另一個,尋找有趣的信息。這種系統對數據挖掘提供了大量機會和挑戰。例如,理解用戶的訪問模式不僅能夠幫助改進系統設計(通過提供高度相關的對象間的有效訪問),而且還可以引導
更好的市場決策(例如,通過在頻繁訪問的文檔上布置廣告,或提供更好的顧客/用戶分類和行為分析)。在這種分布式信息環境下,捕獲用戶訪問模式稱作挖掘路徑遍歷模式。
盡管網頁看上去好看并且信息豐富,但它們實際上是非結構化的并且缺乏預定義的模式、類型和格式。這樣,對于系統地進行信息提取和數據挖掘,計算機很難理解各種網頁的語義并把它們以有組織的形式結構化。提供基于關鍵字的搜索服務,而不理解特定網頁的上下文,只能給用戶提供有限的幫助。例如,基于單個關鍵字的網搜索可能返回數以百計的指針,指向包含該關鍵字的網頁,而其中大部分與用戶期望的查找無關。數據挖掘可以提供比網搜索服務更多的幫助嗎?數據挖掘能夠幫助我們學習網上信息的一般分布、網頁特征和不同網頁之間的關聯嗎?能夠幫助我們找到特定主題的權威網頁嗎?這些問題對高級的數據挖掘提出了新的挑戰。
?
總結
以上是生活随笔為你收集整理的数据挖掘基础之数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poj-1069(三角形和六边形)(转)
- 下一篇: 临床数据库挖掘系列3-手把手教你使用R语