?? 11.txt
字號:
發信人: ashun (阿順), 信區: DataMining
標 題: 數據挖掘入門(十一)
發信站: 南京大學小百合站 (Mon Aug 20 10:25:05 2001)
2.建立數據挖掘庫。
連同下面的兩個步驟,這三步構成了數據預處理的核心。這三步和在一起比其他所有的步
驟加在一起所花得時間和精力還多。一旦你從數據挖掘的結果中學到一些什么之后,你很
可能要修改數據以得到更好得結果,因此就需要把數據準備和數據挖掘不斷的反復進行。
數據準備工作大概要花去整個數據挖掘項目的50%-90%的時間和精力。
應該把要挖掘的數據都收集到一個數據庫中。注意這并不是說一定要使用一個數據庫管理
系統。根據要挖掘的數據量的大小、數據的復雜程度、使用方式的不同,有時一個簡單的
平面文件或電子表格就足夠了。
一般來說,直接在公司的數據倉庫上進行數據挖掘是不合適的。你最好建立一個獨立的數
據集。數據挖掘會使你成為數據倉庫非常活躍的用戶,這可能會帶來一些資源申請上的問
題。你需要經常把許多表連接在一起,訪問數據倉庫的細節數據。一個簡單的試驗在數據
倉庫內都要很多步才能完成。
大部分情況下你肯定需要修改要挖掘的數據。而且還會遇到把企業外部的數據拿到數據倉
庫內和在原有的表中增加新的字段的情況。其他的數據挖掘用戶可能也要對數據倉庫進行
與您相似或完全不同的修改。而對數據倉庫管理員來說,這恐怕是他最不愿意遇到的事情
。
需要建立獨立的數據挖掘庫的另一個理由是,數據倉庫可能不支持你要對數據進行各種復
雜分析所需的數據結構。這包括對數據進行統計查詢,多維分析,和各種復雜的圖表和可
視化。
最后,你可能希望把這些要挖掘的數據存貯在與公司的數據倉庫在物理設計上不同的DBMS
上。人們越來越傾向于使用DBMS本身很好的支持數據挖掘的數據庫程序,這樣能使數據挖
掘工作進行的更容易一些。當然如果你的數據倉庫允許你建立一個在邏輯上獨立的數據庫
并且在計算資源上也足夠的話,那么在他上面進行數據挖掘也是可以的。
可以把建立數據挖掘庫分成下面幾個部分:
a. 數據收集
b. 數據描述
c. 選擇
d. 數據質量評估和數據清理
e. 合并與整合
f. 構建元數據
g. 加載數據挖掘庫
h. 維護數據挖掘庫
注意這些步驟并不需要一定要按步驟執行,而應該按需要進行。比如你可能在收集數據時
就開始構建元數據,并隨著工作的進行不斷的對其進行修改。在數據整合和數據質量評估
過程中了解到得東西也有可能是你修改最初的數據選擇。
a. 數據收集。確定要挖掘的數據源。可能一些外部的數據也是必須的,需要在公
共數據庫中獲取(人口統計或天氣數據)或向數據擁有者購買(比如信用卡使用數據)。
用以一個數據搜集報告把所需的各種不同的數據源的屬性列出來。此報告至少應包含如下
的內容:
² 數據源(內部數據庫或外部提供者)
² 擁有者
² 負責維護此數據的人/組織
² DBA
² 費用(如果需要購買)
² 存儲方式(如:Oracle數據庫、MSAM文件等)
² 表、字段、記錄的數目
² 字節數
² 物理存儲方式(CD-ROM、磁帶、服務器等)
² 安全需求
² 使用上的限制
² 隱私上的需求
注意一旦應用了在安全和隱私上有特殊限制的數據,那么你的數據挖掘庫在安全和隱私上
也就繼承了同樣的限制。比如許多歐洲的數據在隱私上的限制要比美國嚴格的多。
b. 數據描述。描述每個文件和數據庫表的內容。數據描述報告中應包含如下內容
:
² 字段/列的數目
² 字段是空(缺值)的數目/百分比
² 字段的名字
對每個字段
² 數據類型
² 定義
² 描述
² 源
² 計量單位
² 所有不同值的個數
² 值的列表
² 值的范圍
² 空值的百分比
² 收集信息(比如:怎么得到的,在哪,什么條件下)
² 時間頻度(Timeframe)(每天,每周,還是每月)
² 特別時間數據(比如:每個周一或每個周三)
² 主鍵/外鍵關系
c. 選擇。接下來就要選擇用于數據挖掘的數據(源數據的子集)。這與對數據進
行采樣和選擇預測變量是不同的,這里只是粗略的把一些冗余或無關的數據除去,或由于
資源的限制、費用的限制、數據使用的限制、和質量問題而必須做出的選擇。
d. 數據質量評估和數據清理。“龍生龍,鳳生鳳”對數據挖掘也是非常適用的,
要想得到好的模型必須用好的數據。數據質量評估就是要確定數據的哪些性質會最終影響
模型的質量。你不僅要保證數據值的正確性和一致性,還要保證這些值是按同樣的方法記
錄的同一件事情。
由各種各樣的數據質量問題。數據域中可能包含了不正確的值。比如,身份證號碼被粗心
的數據錄入人員錄入了年齡。即使每個單個域中包含的數據都是正確的,但這些域組合起
來時可能就出現了錯誤的記錄,如男性懷孕。有時域中的值為空。當從多個不同的源整合
數據時一定要注意不同源之間數據的一致性。
缺值是一個非常有害的問題。如果只要有一個數據域缺值就把這個記錄刪除掉,那么最后
可能得到一個很小的數據庫,同時你得到的這個數據庫很可能已經丟失了實際數據中蘊含
的一些信息,因為你已經改變了原數據的組成。缺值這件事本身可能就是非常有意義的,
比如也許只有富有的顧客才經常忽略“收入”這一項。你可以增加一個新的變量來標識這
些缺值的記錄,然后用它建立一個模型,然后與按其他方法建立的模型進行比較,看哪個
準確度更高一些。
另一種方法是為缺失的值計算一個替代值。計算替代值的常用方法包括使用形式值(為名
詞變量),中間值(為可排序變量),平均值(為連續變量)。還有一個不是很常用的方
法是按照數據庫中值的分布規律為缺值的字段添值。比如如果數據庫中包含40%男性和60%
女性,那么在為那些性別子段缺失的記錄添值時也按這個比例隨機賦值。還有一種方法是
為這個缺值的字段用數據挖掘技術建立一個預測模型,然后按照這個模型的預測結果添值
,這種方法效果應該最好,當然也最花時間。
承認生活并不是十全十美是必要的,數據挖掘也是一樣,你也不可能解決所有遇到的問題
,只能做得盡量好一點。檢查和修正數據質量問題是一項非常耗費時間和金錢的工作,對
解決不了的問題,通常你只能采取折衷的辦法,先用現有的數據建立一個模型,把問題放
到將來去解決。
e. 合并與整合。如果幸運的話,你需要的所有數據都在同一個數據庫中(比如數
據倉庫),但大部分情況下這些數據是分布在不同的數據庫中。數據可能分布在公司不同
的部門、不同的應用中,甚至在公司外(人口數據)。
數據合并與整合把來自不同數據源的數據合并到同一個數據挖掘庫中,并且要使那些本來
存在沖突和不一致的數據一致化。不恰當的一致化是數據質量問題的一個主要來源。不同
的數據庫間在數據定義和使用上通常都存在巨大的差異。有些不一致問題是容易解決的,
如同一客戶的不同住址問題。然而有些則非常棘手。例如同一個客戶有不同的名字—甚至
更遭的情況—多個不同的客戶標識號碼。同一個名字被用在不同的數據項上(同名異意)
,或同一個數據項用了不同的名字(同意不同名)。還有單位上的不統一。比如人民幣和
港元之間不能不做換算就直接加減。
f. 構建元數據。數據收集報告和數據描述報告是建立元數據的基礎。本質上,
這是一個描述數據庫的數據庫。他用于建立實際的數據庫和為分析數據和建立模型提供輔
助信息。
g. 加載數據挖掘庫。大多數情況下,用于挖掘的數據應該放到他自己獨立的數據
庫中。如果數據量大并且復雜,那么他通常是一個RDMS,反之只是一個簡單的平面文件即
可。經過前面所有的搜集、整理之后,現在開始把這些數據實際的加載過來了。依賴于所
涉及的DBMS和操作系統,和數據庫設計的復雜程度,有時這一步也可能變得很復雜,需要
靠專家的幫助來完成。
h. 維護數據挖掘庫。挖掘庫一旦建好,就需要對他進行維護。需要定期備份;監
視他的性能;不時的增加存儲空間或提高性能。對存放在DBMS內的復雜的挖掘庫來說,維
護他需要計算機專業人員來完成。
--
業精于勤荒于嬉,行成于思毀于隨。 —— 韓愈
臨淵羨魚不如退而結網。 —— 班固
勿以惡小而為之,勿以善小而不為。 —— 劉備
※ 來源:.南京大學小百合站 http://bbs.nju.edu.cn [FROM: 202.119.80.20]
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -