首頁>技術>

01 資料探勘過程

典型資料探勘應用的過程包含以下幾個階段。

1. 資料採集

資料採集工作可能是使用像感測器網路這樣的專門硬體、手工錄入的使用者調查,或者如Web爬蟲那樣的軟體工具來收集文件。雖然這個階段與具體應用息息相關,但常常落在資料探勘分析師們所考慮的範圍之外,而這個階段對資料探勘過程也是至關重要的,因為這一階段所做的選擇會明顯地影響整個資料探勘過程。

採集階段產生的資料通常會先存入資料庫,廣義上稱為資料倉庫,然後進行處理。

2. 特徵提取和資料清洗

上述採集階段得到的資料,其格式往往不適合直接進行處理。例如,採集來的資料可能是使用複雜編碼的日誌或自由格式的文件,並在許多情況下,各種型別的資料又任意地混合在一起,形成自由格式的文件。

要使這樣的資料適合進一步加工,有必要把它們轉化為對資料探勘演算法較為合適的格式,比如多維資料時序資料或者半結構化資料等。

多維資料是最常見的格式,其不同的欄位對應於可以稱為特徵、屬性或維度的各種測量屬性。抽取這些特徵是資料探勘的一個至關重要的階段,而特徵提取階段通常與資料清洗階段並行進行,以便估計或校正丟失的資料以及錯誤的資料。

3. 分析處理和演算法

資料探勘過程的最後一步是為處理過的資料設計有效的分析方法。在許多情況下,不太可能將手頭的應用直接轉化成一個標準的資料探勘問題,比如轉化成關聯模式挖掘聚類分類以及異常檢測這四個“超級問題”中的某一個。

但這四個超級問題具有很廣泛的覆蓋性,可以構成資料探勘任務的基本模組,而大多數應用都能由這些作為基本模組的元件拼搭起來實現。

整個資料探勘過程可由圖1-1表示。請注意,圖中的分析處理模組顯示了對特定應用設計的、由多個基本模組組合而成的解決方案,這一部分依賴於分析師的技能。通常的做法是使用四個主要問題中的一個或多個作為基本模組來搭建。

▲圖1-1 資料處理流水線

需要承認的是,並非所有的資料探勘應用都能用這四個主要問題來搭建解決方案,但許多應用可以這樣解決,因此有必要給予這四個主要問題一個特殊的地位。下面我們使用一個有關推薦的應用例項來解釋資料探勘的整個過程。

示例1.2.1 考慮這樣一個網上零售商的場景,此零售商儲存了客戶訪問其網站的訪問日誌,還收集了客戶的基本情況資訊。假設網站的每個網頁對應一個商品,客戶訪問一個網頁可能表明對相應的商品感興趣。零售商希望透過對客戶的個人資料及其購買行為的分析,有針對性地給客戶推薦商品。

解決問題的流程示例:分析師的第一步工作是收集兩種不同來源的資料,其一是從該網站的日誌系統中抽取的日誌,其二是從零售商的資料庫中抽取的客戶個人資料。這裡的一個難題就是這兩種資料使用了非常不同的資料格式,放到一起處理很不容易。例如,一條日誌可以以下面這種形式出現。

日誌中可能包含成千上萬個這種條目,上面這一條目顯示IP地址為98.206.207.157的客戶訪問了productA.htm這一網頁。要確認使用一個IP地址的客戶是誰,可以透過之前的登入資訊,或者透過網頁的cookie記錄,甚至直接透過IP地址本身,但這個確認過程可能充滿噪聲,不可能總是產生準確的結果。

作為資料清洗和提取過程的一部分,分析師還需要設計算法對不同的日誌條目進行有效的過濾,以便只使用那些提供準確結果的資料段,因為原始日誌中包含很多對零售商可能沒有任何用處的額外資訊。

在特徵提取階段,零售商決定從網頁訪問日誌中提取特徵,為每個客戶建立一條記錄,其中將每個商品設定為一個屬性,記錄此客戶對相應商品網頁的訪問次數。

因此,這個特徵抽取需要對每條原始日誌進行處理,並將多條日誌中抽取的特徵進行聚合。之後在資料整合時,再將這些屬性資料新增到零售商的客戶資料庫中去。這個客戶資料庫包含客戶個人資料,倘若個人資料記錄中缺少某些條目,則需要為其進行進一步的資料清洗。

最終,我們得到一個數據集,將客戶個人資料的屬性及客戶對商品訪問次數的屬性整合在一起。

此時,分析師需要決定如何使用此清洗過的資料集,為客戶提供推薦。分析師可以將類似的客戶分成幾類群體,並根據每類群體的購買行為提出推薦意見。

聚類分析在這裡可以作為一個基本模組,用於確定類似客戶的群體。對每一個客戶,可以為其推薦該客戶所在群體作為一個整體訪問最多次的商品(這裡指的是商品網頁)。這個案例包含了一個完整的資料探勘流程。

有許多優美的提供推薦的方法,它們在不同的情況下各有優劣,因此,整個資料探勘過程是一門藝術,很大程度由分析師的技能所決定,而不完全由特定的技術或基本模組所左右,這種技能只能透過在不同應用需求下處理各類不同資料的實踐中獲得。

1. 特徵提取

分析師可能面臨大量的原始檔案、系統日誌、商業交易,但幾乎沒有任何指導性的快速入門方法將這些原始資料轉化為有意義的資料。這一步驟高度依賴於分析師的抽象能力,以找出與手頭應用最相關的特徵。

例如,在信用卡欺詐檢測應用中,收費金額、重複頻率以及位置資訊往往是找出欺詐的有效指標,而許多其他特徵資訊也許就用處不大。因此,提取正確的特徵往往是個技術活,需要對手頭應用相關的領域有充分的瞭解。

2. 資料清洗

上述特徵提取得到的資料中可能含有錯誤,也有些條目可能在採集及提取時丟失。因此,我們可能要丟棄一些含有錯誤的資料記錄,或者對缺失的條目進行估計填充,並剔除資料中的不一致性。

3. 特徵選擇與轉換

當資料維度很高時,很多資料探勘演算法就會失效。而且當資料維度很高時,資料噪聲會增加,可能帶來資料探勘的錯誤。因此,需要使用一些方法,移除與應用無關的特徵,或者將資料變換到一個新的維度空間中,使資料分析更容易進行。

另一個相關的問題是資料轉換,將一些屬性轉換為另一種相同或類似資料型別的屬性。比如將年齡數值轉化成年齡段,可能對分析更有效也更便利。

資料清洗過程中通常需要使用對缺失資料進行估計的統計方法,此外,為確保挖掘結果的準確性,通常需要剔除錯誤的資料條目。

由於特徵選擇和資料轉換高度依賴於具體的分析問題,不應視為資料預處理的一部分,甚至在某些情況下,特徵選擇可能與具體演算法或方法緊密結合,以一種包裝模型或嵌入模型的形式出現。但在一般情況下,會在應用具體挖掘演算法之前執行特徵選擇階段。

03 分析階段

一個主要的挑戰是每個資料探勘應用都是獨特的,很難為很多類應用打造出一個靈活的、可複用的挖掘技術。然而,我們發現有些資料探勘方法在各類應用中反覆出現,即所謂的“超級問題”或資料探勘的基本模組。

怎樣在特定的資料探勘應用中使用這些基本方法很大程度上取決於分析師的技能和經驗,所以雖然可以對這些基本模組進行很好的描述,但怎樣在實際應用中使用它們,只能透過實踐來學習。

關於作者:查魯C. 阿加沃爾(Charu C. Aggarwal),IBM T. J. Watson研究中心的傑出研究人員,於1996年獲麻省理工學院博士學位。他對資料探勘領域有著廣泛的研究,在國際會議和期刊上發表了250多篇論文,擁有80多項專利。他曾三次被評為IBM的“傑出發明人”,並曾獲得IBM公司獎、IBM傑出創新獎和兩項IBM傑出技術成就獎。

本文摘編自《資料探勘:原理與實踐(基礎篇)》,經出版方授權釋出。

延伸閱讀《資料探勘:原理與實踐(基礎篇)》

推薦語:大資料和人工智慧時代資料探勘教材,從四個“超級問題”出發,詳解資料探勘的基礎知識,介紹高階資料型別,結合複雜多樣的實際資料環境,探討資料探勘的應用場景和使用方法。

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Java基礎篇:日期與時間API用法詳解