?? 2.txt
字號:
發信人: mining (key), 信區: DataMining
標 題: 數據挖掘語言淺析
發信站: 南京大學小百合站 (Sat Dec 8 12:04:57 2001), 站內信件
(復旦大學:朱劍秋,張曉飛等)1. 引言
隨著網絡技術的發展和計算機使用的日益廣泛,電子化數據越來越多,人們正面臨“數據
豐富而知識貧乏”的問題。八十年代末興起的數據挖掘(data mining)技術或數據庫中的
知識發現(knowledge discovery in database,KDD)技術為解決此問題開辟了一條道路
。數據挖掘是在大量的數據中發現潛在的、有價值的模式和數據間關系(知識)的過程。
經過十多年的工作 ,數據挖掘技術的研究與應用已取得了很大的成果,然而,我們還面臨
著許多問題:(1)各種數據挖掘問題及挖掘方法基于不同的模型和技術,彼此互相孤立,
聯系很少;(2)缺少簡明精確的問題描述方法,挖掘的語義通常是由實現方法決定的;(
3)數據挖掘系統僅提供孤立的知識發現功能,難于嵌入大型應用;(4)數據挖掘引擎與
數據庫系統是松散耦合,T.Imielinski 和 H.Mannila 稱其為"文件挖掘(file mining)系
統",它沒有提供應用獨立的操作原語。
到目前為止,數據挖掘行業是高度分散的,公司和研究機構獨立開發各自的數據挖掘系統
和平臺,沒有形成開放性的標準;同時數據挖掘本身是一門多學科綜合跨度非常大的技術
,這兩點是上述問題存在的根本原因。近年來數據挖掘語言的研究為解決上列問題,提出
一個新的研究方向。
本文組織結構如下:在第2節提出了數據挖掘語言分類的方法,將數據挖掘語言分為:
查詢語言,建模語言,以及通用語言三種類型,然后,分別在2.1、2.2與2.3小節舉例闡述
這三種數據挖掘語言的特點。在第3節對三種數據挖掘語言進行分析與評價,指出了各自的
優缺點。最后指出了數據挖掘語言的發展趨勢,以及若干待解決的問題。
2. 數據挖掘語言的分類
設計一個好的數據挖掘語言的重要性可以通過觀察關系數據庫系統的歷史來證實。在數據
庫市場上,關系數據庫系統已經占支配地位數十年了。關系查詢語言的標準化,發生在關
系數據庫開發的早期階段,關系數據庫領域的成功廣泛地依賴于關系數據庫查詢語言的標
準化。盡管每個商業的關系數據庫系統都有各自的圖形用戶接口GUI,每個接口的根本的核
心仍然是標準化的關系數據庫查詢語言。關系查詢語言的標準化為關系數據庫的開發和發
展提供了基礎。它使得信息交換更加容易,同時提升了關系數據庫技術的商業性和被廣泛
接受的程度。因此,有一個好的數據挖掘語言可以有助于數據挖掘系統平臺的標準化的開
發,甚至可以象HTML推動Internet的發展一樣,推動數據挖掘行業的開發和發展。
設計全面的數據挖掘語言是一個巨大的挑戰,因為數據挖掘覆蓋了寬廣的任務,從數據特
征化到挖掘關聯規則,數據分類,聚集和偏差檢測,等等。每個任務都有不同的需求。設
計一個有效的數據挖掘語言需要對各種不同的數據挖掘任務的能力、限制、以及運行機制
都有深入地理解。 數據挖掘語言的研究經歷了兩個階段,第一個階段是研究單位和
公司自行研究和開發階段;第二階段是研究單位和公司組成聯盟,研制和開發數據挖掘語
言標準化的階段。這兩個階段趨勢界限是很明顯的。第一個階段成果包括Jiawei Han等研
制的DMQL;Imielinski和Virmani提出的MSQL;Meo、Psaila、和Ceri提出MINE RULE操作器
;等。第二階段主要包括數據挖掘組織協會(DMG)提出的預言模型標記語言PMML,以及微
軟公司提出的OLE DB for Data Mining規范。
對于上述數據挖掘語言,根據功能和側重點不同,我們將其分為三種類型:數據挖
掘查詢語言;數據挖掘建模語言;通用數據挖掘語言。第一階段的數據挖掘語言一般屬于
查詢語言;PMML屬于建模語言;OLE DB for DM屬于通用數據挖掘語言。下面我們分別介紹
其特點和功能。2.1 數據挖掘查詢語言[1,2]
數據挖掘系統應該有能力支持特殊的和交互的數據挖掘(sad-hoc and interactive data
mining),目的是為了靈活和有效的知識發現。數據挖掘查詢語言即是設計用來支持這個特
點的。我們首先以加拿大Simon Franser大學Jiawei Han等開發的數據挖掘系統DBMiner中
數據挖掘查詢語言DMQL(Data Mining Query Language)來介紹查詢語言的特點,接著簡
單介紹其它研究工作。
數據挖掘查詢語言DMQL由數據挖掘原語組成,數據挖掘原語用來定義一個數據挖掘任務。
用戶使用數據挖掘原語與數據挖掘系統通信,使得知識發現更有效。這些原語有以下幾個
種類:數據庫一部分的規范以及用戶感興趣的數據集(包括感興趣的數據庫屬性或數據倉
庫的維度);挖掘知識的種類;在指導挖掘過程中有用的背景知識;模式估值的興趣度測
量;以及挖掘出的知識如何可視化表示。數據挖掘原語允許用戶在挖掘過程中從不同的角
度或深度與數據挖掘系統進行交互式地通信。
數據挖掘查詢的基本單位是數據挖掘任務,通過數據挖掘查詢語言,數據挖掘任務可以通
過查詢的形式輸入到數據挖掘系統中。一個數據挖掘查詢由以下五種基本的數據挖掘原語
定義:
1) 任務相關數據原語
這是被挖掘的數據庫的一部分。挖掘的數據不是整個數據庫,只是和具體商業問題相關、
或者用戶感興趣的數據集,即是數據庫中一部分表,以及表中感興趣的屬性。該原語包括
以下具體的內容:數據庫或數據倉庫的名稱;數據庫表或數據倉庫的立方體;數據選擇的
條件;相關的屬性或維;數據分組定義。
2) 被挖掘的知識的種類原語
該原語指定被執行的數據挖掘的功能,在DMQL中將挖掘知識分為五種類型,即五種知識的
表達:特征規則;辨別規則;關聯規則;分類/預言;聚集。
3) 背景知識原語
用戶能夠指定背景知識,或者關于被挖掘的領域知識。這些知識對于引導知識發現過程和
評估發現的模式都是非常有用的。背景知識原語包括:概念層次(concept hierarchy);
對數據關系的用戶信任度(user beliefs about relationships in the data)。
4) 興趣度測量原語
這個功能是將不感興趣的模式從知識中排除出去。興趣度測量能夠用來引導數據挖掘過程
,或者在發現后評估被發現的模式。不同種類的知識有不同種類的興趣度測量方法。例如
對關聯規則來說,興趣度測量包括支持度(support)和可信度(confidence)。低于用戶
指定的支持度和可信度閾值的規則被認為是不感興趣的。興趣度測量原語包括:簡單性(
simplicity);確定性(certainty,比如:可信度);效用(utility,比如:支持度)
;新穎性(novelty)。
5) 被發現模式的表示和可視化原語
這個原語定義被發現的模式顯示的方式,用戶能夠選擇不同的知識表示形式。該原語包括
:規則,表格,報告,圖表,圖形,決策樹,和立方體;向下鉆入和向上累積(drill-do
wn and roll-up)。
DMQL正是基于這些原語設計的數據挖掘查詢語言。它允許從關系數據庫和數據倉庫中多個
抽象層次上特殊(ad-hoc)和交互地挖掘多種種類的知識。DMQL采用類似SQL語言的語法,
因此它能夠很容易地和關系查詢語言SQL集成。
除了DMQL以外,我們簡單介紹其它一些數據挖掘查詢語言的研究工作。MSQL是一個數據挖
掘查詢語言,它有Imielinski和Virmani提出。這個語言使用了類似SQL的語法和SQL原語(
包括排序、分組、和其它原語)。既然在數據挖掘中可能產生大量的規則,MSQL提供了一
個稱作GetRule和SelectRule的原語,用于規則產生和規則選擇。它統一地對待數據和規則
,因此,能夠在執行數據選擇,以及基于查詢的規則產生時進行優化工作,同時也能在操
縱或者查詢產生規則的集合時進行優化。其它在數據挖掘語言設計方面的研究工作包括Me
o、Psaila、和Ceri提出MINE RULE操作器。它同樣遵循類似SQL的語法,是為挖掘關聯規則
設計的規則產生查詢語言。
2.2 數據挖掘建模語言[3]
數據挖掘建模語言是對數據挖掘模型進行描述和定義的語言。如果我們設計一種標準的數
據挖掘建模語言,使得數據挖掘系統在模型定義和描述方面有標準可以遵循,那么各系統
之間可以共享模型,既可以解決目前各數據挖掘系統之間封閉性的問題,有可以在其它應
用系統中間嵌入數據挖掘模型,解決孤立的知識發現問題。“預言模型標記語言”(Pred
ictive Model Markup Language,PMML)正是這樣一種數據挖掘建模語言。
PMML被一個稱作數據挖掘協會(The Data Mining Group ,http://www.dmg.org/,DMG)
的組織開發。該組織由Angoss, Magnify, NCR, SPSS和芝加哥Illinois大學 等企業和
單位組成,它的目的是開發預言模型開放標準,策略是將此標準推薦給W3C工作組,使PMM
L成為W3C的正式推薦物。目前DMG宣布了定義預言模型開放標準的第一個版本PMML 1.0。P
MML主要目的是允許應用程序和聯機分析處理(OLAP)工具能從數據挖掘系統獲得模型,而
不用獨自開發數據挖掘模塊。另一個目的是能夠收集使用大量潛在的模型,并且統一管理
各種模型的集合。這些能力在商業應用領域是有效的配置分析模型的基礎。
PMML是一種基于XML的語言,用來定義預言模型。它為各個公司定義預言模型和在不同的應
用程序之間共享模型提供了一種快速并且簡單的方式。通過使用標準的XML解析器對PMML進
行解析,應用程序能夠決定模型輸入和輸出的數據類型,模型詳細的格式,并且按照標準
的數據挖掘術語來解釋模型的結果。
PMML提供了一個靈活機制來定義預言模型的模式,同時支持涉及多個預言模型的模型選擇
和模型平衡(model averaging)。對于那些需要全部學習、部分學習和分布式學習(ens
emble learning, partitioned learning, and distributed learning)的應用程序,這
種語言被證明是非常有用的。另外,它使得在不同的應用程序和系統之間移動預言模型變
得容易、方便。特別地,PMML非常適合部分學習、元學習、分布式學習、以及相關領域。
使用PMML進行模型定義由以下幾部分組成:
1) 頭文件(a header)
2) 數據模式(a data schema)
3) 數據挖掘模式(a data mining schema)
4) 預言模型模式(a predictive model schema)
5) 預言模型定義(definitions for predictive models)
6) 全體模型定義(definitions for ensembles of models)
7) 選擇和聯合模型和全體模型的規則(rules for selecting and combining models
and ensembles of models)
8) 異常處理的規則(rules for exception handling)
其中第5項組件是必不可少的。另外預言模型的模式必須被定義,這能夠利用一個或多個模
式(組件3,4,5)來定義。其它幾項組件是可選的。
PMML1.0標準版提供了一個小的DTD(文檔類型定義,XML術語)集合,DTD詳細說明了決策
樹和多項式回歸模型的實體和屬性。DTD1.0遵循著一個通用模式,該模式將一個數據字典
和一個或多個模型的定義相結合,數據字典能夠立即應用于模式。數據字典的元素是非常
簡單的。
DMG當前正在制定PMML版本1.1,該版本提供獨立于應用程序定義模型的方法,使得
版權問題和不兼容問題不再成為應用程序之間交換模型的障礙。
--
※ 來源:.南京大學小百合站 bbs.nju.edu.cn.[FROM: 202.118.237.14]
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -