摘要:該文分析了數據挖掘產生的背景,闡述了數據挖掘和數據倉庫的區別于聯系,并從從業方向進行了分析。
關鍵詞:數據挖掘;數據倉庫
中圖分類號:TP315文獻標識碼:A文章編號:1009-3044(2009)25-7084-02
The Data Mining Discusses Shallowly
WANG Ya-fen1,2
(1.Wuhan University of Science and Technology, Wuhan 430070, China; 2.JingChu Technical Institute Computer Engineering College, Jingmen 448200, China)
Abstracts: This article mainly discusses the background of The Data Mining,and describes the diffrences and relations ofData Mining and Data Warehousing, and from was employed the direction to carry on the analysis.
Key words: data mining; data warehousing
1 數據挖掘產生的背景
數據收集和數據存儲技術的快速進步使得各組織機構可以積累海量數據。如借助POS(銷售點)數據收集技術[條碼掃描器、射頻識別(RFID)和智能卡技術],零售商可以在其商店的收銀臺收集顧客購物的最新數據。零售商想利用這些信息,“挖掘”出一些重要的商務問題的答案,如“誰是最有價值的顧客?”“什么產品可以交叉銷售或提升銷售?”又如,分子生物學研究者希望利用當前收集的大量基因組數據,更好地理解基因的結構和功能。過去,傳統方法只允許科學家在一個實驗中每次研究少量基因。微陣列技術的最新突破已經能讓科學家在多種情況下,比較數以千計的基因的特性。這種比較有助于確定每個基因的作用,或許可以查出導致特定疾病的基因。然而,由于數據的噪聲和高維性,需要新的數據分析方法。除分析基因序列數據外,還需要分析其他問題,如蛋白質結構預測、多序列校準、生物化學路徑建模和種系發生學。這些需求都為數據挖掘研究提出了挑戰。
2 什么是數據挖掘
通過上面的例子,我們可以將數據挖掘,用圖1來簡單解釋。
輸入數據可以以各種形式存儲(平展文件、電子數據表或關系表),并且可以駐留在集中的數據存儲庫中,或分布在多個站點上。數據預處理(preprocessing)的目的是將未加工的輸入數據轉換成適合分析的形式。數據預處理涉及的步驟包括融合來自多個數據源的數據,清洗數據以消除噪聲和重復的觀測值,選擇與當前數據挖掘任務相關的記錄和特征。由于收集和存儲數據的方式可能有許多種,數據預處理可能是整個知識發現過程中最費力、最耗時的步驟。
通過這些分析,我們可以得出數據挖掘(Data Mining),又稱為數據庫中的知識發現(Knowledge Discovery in Database, KDD),就是從大量數據中獲取有效的、潛在有用的、最終可理解的模式的非平凡過程,簡單的說,數據挖掘就是從大量數據中提取或發現知識。
這時,你可能會想到使用數據庫管理系統查找個別的記錄,或通過因特網的搜索引擎查找特定的Web頁面等,然而,這些都不能稱之為數據挖掘,而是信息檢索(information retrieval)領域的任務。雖然這些任務是重要的,可能涉及使用復雜的算法和數據結構,但是它們主要依賴傳統的計算機科學技術和數據的明顯特征來創建索引結構,從而有效地組織和檢索信息。盡管如此,數據挖掘技術也已用來增強信息檢索系統的能力。它們的主要區別在于數據挖掘是在非有序數據中找出意外的關系或者知識,而數據庫查詢和搜索引擎查找是有目的地在有序數據中查找信息。
同時,也千萬不要將若將Data Warehousing(數據倉庫)和數據挖掘(Data Mining)相混淆。數據倉庫本身是一個非常大的數據庫,它儲存著由組織作業數據庫中整合而來的數據,特別是指事務處理系統OLTP(On-Line Transactional Processing)所得來的數據。將這些整合過的數據置放于數據倉庫中,而公司的決策者則利用這些數據作決策;但是,這個轉換及整合數據的過程,是建立一個數據倉庫最大的挑戰。因為將作業中的數據轉換成有用的策略性信息是整個數據倉庫的重點。綜上所述,數據倉庫應該具有這些數據: 整合性數據(integrated data)、詳細和匯總性的數據(detailed and summarized data)、歷史數據、解釋數據的數據。從數據倉庫挖掘出對決策有用的信息與知識,是建立數據倉庫與使用Data Mining的最大目的,兩者的本質與過程是兩回事。如果將數據倉庫比喻作礦坑,數據挖掘就是深入礦坑采礦的工作。換句話說,數據倉庫應先行建立完成,Data mining才能有效率的進行,因為數據倉庫本身所含數據是干凈(不會有錯誤的數據參雜其中)、完備,且經過整合的。因此兩者關系或許可解讀為Data Mining是從巨大數據倉庫中找出有用信息的一種過程與技術。畢竟Data Mining不是一種無中生有的魔術,也不是點石成金的煉金術,若沒有夠豐富完整的數據,是很難期待Data Mining能挖掘出什么有意義的信息的。
3 數據挖掘地作用
或許通過上面的分析,你已經發現了數據的挖掘的功能,在此,我們來對數據挖掘的作用作一總結:
分類 (Classification)首先從數據中選出已經分好類的訓練集,在該訓練集上運用數據挖掘分類的技術,建立分類模型,對于沒有分類的數據進行分類。類的個數是確定的,預先定義好的。估值(Estimation)估值與分類類似,不同之處在于,分類描述的是離散型變量的輸出,而估值處理連續值的輸出;分類的類別是確定數目的,估值的量是不確定的。一般來說,估值可以作為分類的前一步工作。給定一些輸入數據,通過估值,得到未知的連續變量的值,然后,根據預先設定的閾值,進行分類。預言(Prediction)通常,預言是通過分類或估值起作用的,也就是說,通過分類或估值得出模型,該模型用于對未知變量的預言。從這種意義上說,預言其實沒有必要分為一個單獨的類。預言其目的是對未來未知變量的預測,這種預測是需要時間來驗證的,即必須經過一定時間后,才知道預言準確性是多少。 相關性分組或關聯規則(Affinity grouping or association rules)用來發現描述數據中強關聯特征的模式,如經典的尿布-啤酒規則。聚集(Clustering)聚集是對記錄分組,把相似的記錄在一個聚集里。聚集和分類的區別是聚集不依賴于預先定義好的類,不需要訓練集。描述和可視化(Des cription and Visualization)是對數據挖掘結果的表示方式。這其實也是,數據挖掘的六種方法。
以上六種數據挖掘的分析方法可以分為兩類:直接數據挖掘;間接數據挖掘
1) 直接數據挖掘
目標是利用可用的數據建立一個模型,這個模型對剩余的數據,對一個特定的變量(可以理解成數據庫中表的屬性,即列)進行描述。
2) 間接數據挖掘
目標中沒有選出某一具體的變量,用模型進行描述;而是在所有的變量中建立起某種關系 。分類、估值、預言屬于直接數據挖掘;后三種屬于間接數據挖掘
4 數據挖掘從業分析
上面的一點知識僅能讓我們對數據挖掘有個大概的認識,但是這點認識在您做出是否會或者喜歡從事這方面工作時,已經足夠了。隨后你可以作的就是選擇它,開始深入的研究,或者選擇相反的一面。
數據挖掘就業的途徑從我看來有以下幾種,(注意:本文所說的數據挖掘不包括數據倉庫或數據庫管理員的角色)。
1) 數據分析師:在存在海量數據的企事業單位做咨詢、分析等。需要有深厚的數理統計基礎,可以不知道人工智能和計算機編程等相關技術,但是需要熟練使用主流的數據挖掘(或統計分析)工具。從這個方面切入數據挖掘領域的話你需要學習《數理統計》、《概率論》、《統計學習基礎:數據挖掘、推理與預測》、《金融數據挖掘》、《業務建模與數據挖掘》、《數據挖掘實踐》等,當然也少不了你使用的工具的對應說明書了,如SPSS、SAS等廠商的《SAS數據挖掘與分析》、《數據挖掘Clementine應用實務》、《EXCEL 2007數據挖掘完全手冊》等,如果多看一些如《中文版 數據挖掘原理》 等書籍那就更好了。
2) 程序設計開發:在企業做數據挖掘及其相關程序算法的實現等。主要是實現數據挖掘現有的算法和研發新的算法以及根據實際需要結合核心算法做一些程序開發實現工作。要想扮演好這個角色,你不但需要熟悉至少一門編程語言如(C,C++,Java,Delphi等)和數據庫原理和操作,對數據挖掘基礎課程有所了解,讀過《數據挖掘概念與技術》、《人工智能及其應用》。有一點了解以后,如果對程序比較熟悉的話并且時間允許,可以尋找一些開源的數據挖掘軟件研究分析,也可以參考如《數據挖掘:實用機器學習技術及Java實現》等一些教程。
3) 做科研:在高校、科研單位以及大型企業,主要研究算法、應用等。這里的科研相對來說比較概括,屬于技術型的相對高級級別,也是(2)(3)的歸宿,那么相應的也就需要對(2)(3)的必備基礎知識了。
參考文獻:
[1] (美)譚斯坦巴赫著,范明等譯.數據挖掘導論[M].北京:人民郵電出版社,2006.
[2] 焦李成,劉芳.智能數據挖掘與知識發現[M].西安:西安電子科技大學出版社,2006.
[3] 何玉潔.數據庫原理與應用[M].北京:機械工業出版社,2007.
[4] 陳志泊.數據倉庫與數據挖掘[M].北京:清華大學出版社,2009.