數據挖掘是在大量的數據中發現潛在的、有價值的模式和數據間關係(知識)的過程。根據功能和側重點不同,現有的數據挖掘語言可以分為三種類型:數據挖掘查詢語言;數據挖掘建模語言;通用數據挖掘語言。
一個數據挖掘查詢由五種基本的數據挖掘原語定義:①任務相關數據原語;②被挖掘的知識的種類原語;③背景知識原語;④興趣度測量原語;⑤被發現模式的表示和可視化原語。
基本介紹
- 中文名:數據挖掘查詢語言
- 外文名:Data Mining Query Language
- 歸屬學科:自動控制
- 相關:建模語言;通用語言
- 延伸:資料庫語言
- 套用領域:數據挖掘
概述,數據挖掘查詢語言,數據挖掘其它語言,數據挖掘建模語言,通用數據挖掘語言,
概述
隨著網路技術的發展和計算機使用的日益廣泛,電子化數據越來越多,人們正面臨“數據豐富而知識貧乏”的問題。八十年代末興起的數據挖掘(data mining)技術或資料庫中的知識發現(knowledge discovery in database,KDD)技術為解決此問題開闢了一條道路。數據挖掘是在大量的數據中發現潛在的、有價值的模式和數據間關係(知識)的過程。經過十多籃寒拜年的工作,數據挖掘技術的研究與套用已取得了很大的成果。
然而,我們還面臨采愉凳著許多問題:(1)各種數據挖掘問題及挖掘方法基於不同的模型和技術,彼此互相孤立,聯繫很少;(2)缺少簡明精確的問題描述方法,挖掘的語義通常是由實現方法決定的;(3)數據挖掘系統僅提供孤立的知識發現功能,難於嵌入大型套用;(4)數據挖掘引擎與資料庫系統是鬆散耦合,T.Imielinski 和 H.Mannila 稱其為"檔案挖掘(file mining)系統",它沒有提供套用獨立的操作原語。
數據挖掘語言的研究經歷了兩個階段:第一個階段是研究單位和公司自行研究和開發階段;第二階段是研究單位和公司組成聯盟,研製和開發數據挖掘語言標準化的階段。這兩個階段趨勢界限是很明顯的。第一個階段成果包括Jiawei Han等研製的DMQL;Imielinski和Virmani提出的MSQL;Meo、Psaila、和Ceri提出MINE RULE操作器;等。第二階段主要包括數據挖掘組織協會(DMG)提出的預言模型標記語言PMML,以及微軟公司提出的OLE DB for Data Mining規晚刪腳范。
對於上述數據挖掘語言,根據功能和側重點不同,可將其分為三種類型:數據挖掘查詢語言;數據挖掘建模語言;通整乘章整用數據挖掘語言。第一階段的數據挖掘語言一般屬於查詢語言;PMML屬於建模語言;OLE DB for DM屬於通用數據挖掘語言。
數據挖掘查詢語言
數據挖掘系統應該有能力支持特殊的和互動的數據挖掘(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-down and roll-up)。
DMQL正是基於這些原語設計的數據挖掘查詢語言。它允許從關係資料庫和數據倉庫中多個抽象層次上特殊(ad-hoc)和互動地挖掘多種種類的知識。DMQL採用類似SQL語言的語法,因此它能夠很容易地和關係查詢語言SQL集成。
除了DMQL以外, MSQL是一個數據挖掘查詢語言,它有Imielinski和Virmani提出。這個語言使用了類似SQL的語法和SQL原語(包括排序、分組、和其它原語)。既然在數據挖掘中可能產生大量的規則, MSQL提供了一個稱作GetRule和SelectRule的原語,用於規則產生和規則選擇。它統一地對待數據和規則,因此,能夠在執行數據選擇,以及基於查詢的規則產生時進行最佳化工作,同時也能在操縱或者查詢產生規則的集合時進行最佳化。其它在數據挖掘語言設計方面的研究工作包括Meo、Psaila、和Ceri提出MINE RULE操作器。它同樣遵循類似SQL的語法,是為挖掘關聯規則設計的規則產生查詢語言。
數據挖掘其它語言
數據挖掘建模語言
數據挖掘建模語言是對數據挖掘模型進行描述和定義的語言。如果我們設計一種標準的數據挖掘建模語言,使得數據挖掘系統在模型定義和描述方面有標準可以遵循,那么各系統之間可以共享模型,既可以解決目前各數據挖掘系統之間封閉性的問題,有可以在其它套用系統中間嵌入數據挖掘模型,解決孤立的知識發現問題。“預言模型標記語言”(Predictive Model Markup Language,PMML)正是這樣一種數據挖掘建模語言。
PMML被一個稱作數據挖掘協會(The Data Mining Group,http://www.dmg.org/,DMG)的組織開發。該組織由Angoss,Magnify,NCR,SPSS和芝加哥Illinois大學等企業和單位組成,它的目的是開發預言模型開放標準,策略是將此標準推薦給W3C工作組,使PMML成為W3C的正式推薦物。目前DMG宣布了定義預言模型開放標準的第一個版本PMML 1.0。PMML主要目的是允許套用程式和在線上分析處理(OLAP)工具能從數據挖掘系統獲得模型,而不用獨自開發數據挖掘模組。另一個目的是能夠收集使用大量潛在的模型,並且統一管理各種模型的集合。這些能力在商業套用領域是有效的配置分析模型的基礎。
PMML是一種基於XML的語言,用來定義預言模型。它為各個公司定義預言模型和在不同的應用程式之間共享模型提供了一種快速並且簡單的方式。通過使用標準的XML解析器對PMML進行解析,應用程式能夠決定模型輸入和輸出的數據類型,模型詳細的格式,並且按照標準的數據挖掘術語來解釋模型的結果。
PMML提供了一個靈活機制來定義預言模型的模式,同時支持涉及多個預言模型的模型選擇和模型平衡(model averaging)。對於那些需要全部學習、部分學習和分散式學習(ensemble 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,該版本提供獨立於應用程式定義模型的方法,使得著作權問題和不兼容問題不再成為應用程式之間交換模型的障礙。
通用數據挖掘語言
通用數據挖掘語言合併了上述兩種語言的特點,既具有定義模型的功能,又能作為查詢語言與數據挖掘系統通信,進行互動和特殊的挖掘。通用數據挖掘語言的標準化是解決目前數據挖掘行業出現問題的最優的解決方案。2000年3月,微軟公司推出了一個數據挖掘語言,稱作OLE DB for Data Mining(DM)。這是朝數據挖掘語言原語標準化方面最顯著的努力。
OLE DB for DM的規範包括創建原語以及許多重要數據挖掘模型的定義和使用(包括預言模型和聚集)。它是一個基於SQL預言的協定,為軟體商和套用開發人員提供了一個開放的接口,該接口將數據挖掘工具和能力更有效地和商業以及電子商務套用集成。同時,OLE DB for DM已經與DMG發布的PMML標準結合。通過與PMML標準結合,微軟將數據挖掘分析套用帶入了一個更加強大的開放規範。這意味著大量的組織或公司現在都可以有一種簡單的並且易實現的方式將數據挖掘模型與他們自己構建的套用相結合,增強了套用系統的分析能力,卻沒有增加複雜性。
OLE DB for DM擴充了SQL語言語法,使得商業分析和開發人員只是調用單一確定的API(應用程式接口)函式即可實現數據挖掘功能,而不需要特殊的數據挖掘技能。它與關係資料庫自然的集成能夠加快數據挖掘進入高利潤的電子商務套用領域,例如站點個性化設計和購物籃分析。
微軟的目的是為數據挖掘提供行業標準,以至於任何數據挖掘軟體的算法,只要符合這個標準,都能容易地嵌入應用程式中。OLE DB for DM支持多種流行的數據挖掘算法。使用OLE DB for DM,數據挖掘套用能夠通過OLE DB生產者接進任何表格式的數據源,數據挖掘分析現在能夠依賴一個關係資料庫直接進行。
為了更容易訪問,OLE DB for DM沒有增加任何新的OLE DB接口;相反,這個規格定義了一個簡單的查詢語言,它的語法非常類似於SQL。
數據挖掘查詢的基本單位是數據挖掘任務,通過數據挖掘查詢語言,數據挖掘任務可以通過查詢的形式輸入到數據挖掘系統中。一個數據挖掘查詢由以下五種基本的數據挖掘原語定義:
1 )任務相關數據原語
這是被挖掘的資料庫的一部分。挖掘的數據不是整個資料庫,只是和具體商業問題相關、或者用戶感興趣的數據集,即是資料庫中一部分表,以及表中感興趣的屬性。該原語包括以下具體的內容:資料庫或數據倉庫的名稱;資料庫表或數據倉庫的立方體;數據選擇的條件;相關的屬性或維;數據分組定義。
2)被挖掘的知識的種類原語
該原語指定被執行的數據挖掘的功能,在DMQL中將挖掘知識分為五種類型,即五種知識的表達:特徵規則;辨別規則;關聯規則;分類/預言;聚集。
3)背景知識原語
用戶能夠指定背景知識,或者關於被挖掘的領域知識。這些知識對於引導知識發現過程和評估發現的模式都是非常有用的。背景知識原語包括:概念層次(concept hierarchy);對數據關係的用戶信任度(user beliefs about relationships in the data)。
4)興趣度測量原語
這個功能是將不感興趣的模式從知識中排除出去。興趣度測量能夠用來引導數據挖掘過程,或者在發現後評估被發現的模式。不同種類的知識有不同種類的興趣度測量方法。例如對關聯規則來說,興趣度測量包括支持度(support)和可信度(confidence)。低於用戶指定的支持度和可信度閾值的規則被認為是不感興趣的。興趣度測量原語包括:簡單性(simplicity);確定性(certainty,比如:可信度);效用(utility,比如:支持度);新穎性(novelty)。
5)被發現模式的表示和可視化原語
這個原語定義被發現的模式顯示的方式,用戶能夠選擇不同的知識表示形式。該原語包括:規則,表格,報告,圖表,圖形,決策樹,和立方體;向下鑽入和向上累積(drill-down and roll-up)。
DMQL正是基於這些原語設計的數據挖掘查詢語言。它允許從關係資料庫和數據倉庫中多個抽象層次上特殊(ad-hoc)和互動地挖掘多種種類的知識。DMQL採用類似SQL語言的語法,因此它能夠很容易地和關係查詢語言SQL集成。
除了DMQL以外, MSQL是一個數據挖掘查詢語言,它有Imielinski和Virmani提出。這個語言使用了類似SQL的語法和SQL原語(包括排序、分組、和其它原語)。既然在數據挖掘中可能產生大量的規則, MSQL提供了一個稱作GetRule和SelectRule的原語,用於規則產生和規則選擇。它統一地對待數據和規則,因此,能夠在執行數據選擇,以及基於查詢的規則產生時進行最佳化工作,同時也能在操縱或者查詢產生規則的集合時進行最佳化。其它在數據挖掘語言設計方面的研究工作包括Meo、Psaila、和Ceri提出MINE RULE操作器。它同樣遵循類似SQL的語法,是為挖掘關聯規則設計的規則產生查詢語言。
數據挖掘其它語言
數據挖掘建模語言
數據挖掘建模語言是對數據挖掘模型進行描述和定義的語言。如果我們設計一種標準的數據挖掘建模語言,使得數據挖掘系統在模型定義和描述方面有標準可以遵循,那么各系統之間可以共享模型,既可以解決目前各數據挖掘系統之間封閉性的問題,有可以在其它套用系統中間嵌入數據挖掘模型,解決孤立的知識發現問題。“預言模型標記語言”(Predictive Model Markup Language,PMML)正是這樣一種數據挖掘建模語言。
PMML被一個稱作數據挖掘協會(The Data Mining Group,http://www.dmg.org/,DMG)的組織開發。該組織由Angoss,Magnify,NCR,SPSS和芝加哥Illinois大學等企業和單位組成,它的目的是開發預言模型開放標準,策略是將此標準推薦給W3C工作組,使PMML成為W3C的正式推薦物。目前DMG宣布了定義預言模型開放標準的第一個版本PMML 1.0。PMML主要目的是允許套用程式和在線上分析處理(OLAP)工具能從數據挖掘系統獲得模型,而不用獨自開發數據挖掘模組。另一個目的是能夠收集使用大量潛在的模型,並且統一管理各種模型的集合。這些能力在商業套用領域是有效的配置分析模型的基礎。
PMML是一種基於XML的語言,用來定義預言模型。它為各個公司定義預言模型和在不同的應用程式之間共享模型提供了一種快速並且簡單的方式。通過使用標準的XML解析器對PMML進行解析,應用程式能夠決定模型輸入和輸出的數據類型,模型詳細的格式,並且按照標準的數據挖掘術語來解釋模型的結果。
PMML提供了一個靈活機制來定義預言模型的模式,同時支持涉及多個預言模型的模型選擇和模型平衡(model averaging)。對於那些需要全部學習、部分學習和分散式學習(ensemble 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,該版本提供獨立於應用程式定義模型的方法,使得著作權問題和不兼容問題不再成為應用程式之間交換模型的障礙。
通用數據挖掘語言
通用數據挖掘語言合併了上述兩種語言的特點,既具有定義模型的功能,又能作為查詢語言與數據挖掘系統通信,進行互動和特殊的挖掘。通用數據挖掘語言的標準化是解決目前數據挖掘行業出現問題的最優的解決方案。2000年3月,微軟公司推出了一個數據挖掘語言,稱作OLE DB for Data Mining(DM)。這是朝數據挖掘語言原語標準化方面最顯著的努力。
OLE DB for DM的規範包括創建原語以及許多重要數據挖掘模型的定義和使用(包括預言模型和聚集)。它是一個基於SQL預言的協定,為軟體商和套用開發人員提供了一個開放的接口,該接口將數據挖掘工具和能力更有效地和商業以及電子商務套用集成。同時,OLE DB for DM已經與DMG發布的PMML標準結合。通過與PMML標準結合,微軟將數據挖掘分析套用帶入了一個更加強大的開放規範。這意味著大量的組織或公司現在都可以有一種簡單的並且易實現的方式將數據挖掘模型與他們自己構建的套用相結合,增強了套用系統的分析能力,卻沒有增加複雜性。
OLE DB for DM擴充了SQL語言語法,使得商業分析和開發人員只是調用單一確定的API(應用程式接口)函式即可實現數據挖掘功能,而不需要特殊的數據挖掘技能。它與關係資料庫自然的集成能夠加快數據挖掘進入高利潤的電子商務套用領域,例如站點個性化設計和購物籃分析。
微軟的目的是為數據挖掘提供行業標準,以至於任何數據挖掘軟體的算法,只要符合這個標準,都能容易地嵌入應用程式中。OLE DB for DM支持多種流行的數據挖掘算法。使用OLE DB for DM,數據挖掘套用能夠通過OLE DB生產者接進任何表格式的數據源,數據挖掘分析現在能夠依賴一個關係資料庫直接進行。
為了更容易訪問,OLE DB for DM沒有增加任何新的OLE DB接口;相反,這個規格定義了一個簡單的查詢語言,它的語法非常類似於SQL。