

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第五章數據挖掘的實施過程,第5章,前面介紹了數據挖掘的基本方法。在本章中我們進一步說明數據挖掘的實施過程。,5.1 數據挖掘過程模型5A,數據挖掘是一個過程,它是從大量數據中抽取出有價值的信息或知識以提供決策依據。 由于每一種數據挖掘方法(算法及技術要求)都有其自身的特點且實現步驟與具體應用問題有密切相關性,因此成功應用數據挖掘技術以達到目標的過程本身就是一件很復雜的事情。,5.1 數據挖掘過程模型5A,一
2、般來說,數據挖掘項目要經歷的過程包括問題的理解、數據的理解收集和準備、建立數據挖掘模型、評價所建的模型、將建立的模型投入應用等一系列任務。這里,數據挖掘過程的系統化、工程化方法學和支持系統(軟件或工程)對解決應用問題起著至關重要的作用。,5.1 數據挖掘過程模型5A,為了抽象系統化方法 ,人們提出了一些數據挖掘過程的參考模型或標準: ·SPSS提出的5A(Assess、Access、
3、 Analyze、Act、Automate); ·SAS提出的SEMMA(采樣Sample,探索 Explore,修正Modify,建模Model, 評估Assess) ·數據挖掘特別興趣小組提出的“數據挖掘 交叉行業(yè)標準過程”CRISP-DM
4、 (Cross-Industry Standard Process for Data Mining)。,5.1 數據挖掘過程模型5A,在這些模型中,5A模型強調的是支持數據挖掘過程的工具應具備的功能和能力,它是對支持數據挖掘工具的定義。 SEMMA強調的是結合SAS公司的挖掘工具進行應用開發(fā)的方法。 CRISP-DM則從進行
5、數據挖掘方法學的角度強調實施數據挖掘項目的方法和步驟,并獨立于每種具體數據挖掘算法和數據挖掘系統。,5.1 數據挖掘過程模型5A,5A模型認為任何數據挖掘方法學都由5個基本元素組成,即Assess、Access、Analyze、Act、Automate。 ·Assess:正確、徹底的評價任務的需求及數據。 ·Access:方便、快速的存取任務所涉及的數據。 ·Analyze:適當、完備的分
6、析技術和工具。 ·Act:具有推薦性、有說服力的演示。用大量的列表和圖形或者通過辦公軟件來演示數據挖掘軟件的能力。軟件應該具備快速回答用戶提問的控制性和靈活性,這樣才便于用戶更好、更快地做決策。 ·Automate:為用戶提供最易于使用、最方 便的自動化軟件。,5.1 數據挖掘過程模型5A,針對著5個過程,5A描述了各元素在數據挖掘技術應用中所需完成的任
7、務和應該提供的支持功能。(1)Assess Assess是指要正確地理解和設置數據,一旦充分了解了數據的上下文后,就可以正確地收集它并在其上做需要的決策。實現Assess的軟件技術方案可以不同,但問題含義相同。a.將技術與組織的目標、策略和步驟結合起來。b.擁有世界范圍的咨詢和培訓,目的是交付高級分析工具給分析員后,能快速實現數據挖掘及其應用 。,5.1 數據挖掘過程模型5A,(2)Access
8、 Access是指數據集合(DB、DW、DM)應該完全符合評價的要求和質量。若數據集合不充分,須補充附加的數據。選用的數據挖掘軟件必須在所要求的數據上靈活地工作,并滿足下列存取準則。 ·易于存取和連接各種數據源,包括數據表、公司數據庫、數據倉庫和其它必要的外部數據庫。 ·能直接從ASCII正文、數據表、數據庫文件讀入數據。 ·能處理大量(GB以上)的數據文件。,5.1 數據挖
9、掘過程模型5A,(3)Analyze Analyze要求分析工具具備兩類分析方法和工具:發(fā)現工具和驗證工具。 驗證工具檢驗發(fā)現工具所產生的結果是否合理。 發(fā)現型方法和工具包括基因遺傳算法、規(guī)則推導、模糊邏輯、數據可視化、聚類算法、因素分析、神經網絡、決策樹等。 驗證方法和工具包括回歸、邏輯回歸、判別分析、預測建模等。
10、 理想的數據挖掘軟件應該具備這兩類分析方法和工具,同時應該包括下列分析特性。,5.1 數據挖掘過程模型5A,·統計過程、范圍和深度較強,應包括預測、分段、分類等。 ·集成商業(yè)和統計圖形功能、具備多種可選的2D/3D圖類,能用數據定點模式顯示和跟蹤等。 ·輔助分析的模版、過程導引、示范、在線幫助等,能幫助分析員快速選擇和獲得結果。 ·數據、文件、中間結果管理功能。能合并和分離文件、
11、選擇數據子集、處理數據缺值、凈化、改善數據完整性、支持IF-THEN-ELSE條件操作。 ·數據轉換功能。有一組完備的轉換函數支持變量/特征和條件的計算,可以重復計算、編輯原來的變量/特征。,5.1 數據挖掘過程模型5A,·可裁減的工作環(huán)境。有腳本/宏語言支持的可重復任務的自動化、批處理及其菜單按鈕功能,以支持一般用戶快速使用。 ·靈活的動態(tài)輸出。表結果可以轉動和輪換,易于觀察數據全貌和用鼠標重
12、新組織表數據,以便于清晰的提交、觀察、探索數據結果并做進一步的特殊分析。 ·基于線性回歸和ANOVA的預測性建模,具有相關性、分類分析、預測等基本分析功能。 ·插件/模塊功能。可以提供特殊的功能模塊,以支持特定的分析。,5.1 數據挖掘過程模型5A,(4)Act 用大量的列表和圖形或者通過辦公軟件來演示數據挖掘軟件的能力。軟件應該具備快速回答用戶提問的控制性和靈活性,這樣才便于用
13、戶更好、更快地做決策。數據挖掘軟件應該提供下面的演示特性。l完好的集成圖形功能,以提供專業(yè)級的演示。lOLE支持,以易于嵌入圖表節(jié)省報告時間。lINTERNET特性,以易于圖表的網上傳輸和本地察看。l演示模版特性,以節(jié)省編輯時間。l特殊查詢功能,以利于快速提供附加的分析能力來響應用戶的提問。l報告注解功能,以加入注解到報告中。,5.1 數據挖掘過程模型5A,(5)Automate Automate是指
14、面向用戶的操作盡可能完善和自動化軟件的應用過程。吸取專業(yè)分析決策人員及多數用戶的意見和見解,以最快的方式顯示分析結果,以標準的接口、按鈕式的功能/菜單、豐富的幫助、可選的附加分析將軟件呈現給用戶。為此,軟件應提供以下自動化功能:,5.1 數據挖掘過程模型5A,lOLE自動化開發(fā)者的機制,允許用戶在通用代碼級(VB、EXCEL、ACCESS、PB等)使用軟件。l內建編程語言/腳本/宏,使用戶可以方便的創(chuàng)建自己的應用。l制作能力,能編寫
15、產生日常報告的命令行文件。,5.2數據挖掘過程模型CRISP-DM,CRISP-DM模型是由幾家相關開發(fā)和應用行業(yè)的跨國公司和集團所支持(并由歐洲委員會部分支持)的一個特別興趣小組在1997年7月到1999年4月間研究后提出的。 這幾家公司分別是數據倉庫提供商NCR在丹麥的SEC公司,德國的汽車、航天航空、電信和咨詢業(yè)公司DAIMLER-BENZ AG,英國的數據挖掘系統開發(fā)商ISL(CLEMENTINE的研發(fā)商
16、,1998年其成為SPSS的子公司)以及荷蘭最大的銀行、保險業(yè)公司OHRA。,5.2數據挖掘過程模型CRISP-DM,由于其直接動機是將數據挖掘技術轉化為商業(yè)應用,所提出的過程模型均在項目中進行實際實踐和驗證,因此具有一定的代表性。 CRISP-DM模型采用分層方法將一個數據挖掘項目的生存周期定義為6個階段(PHASE)和4個層次(LEVEL)。,5.2數據挖掘過程模型CRISP-DM,CRISP-DM模型6個階
17、段為:BUSINESS UNDERSTANDING、DATA UNDERSTANDING 、DATA PREPARATION、MODELING、EVALUATION和DEPLOYMENT 階段間的順序并不嚴格,比如商業(yè)理解和數據理解之間常常需要反復,數據準備和數據模型建立也常常需要反復。 階段間有循環(huán),比如在對模型進行評價后,如果不滿意,可能需要重新對商業(yè)問題進行理解,重新開始建模。
18、一個階段的任務完成后,如果需要繼續(xù)擴展挖掘的范圍,則需要重新開始循環(huán)。,5.2數據挖掘過程模型CRISP-DM,CRISP-DM模型4個層次是: 階段劃分(PHASE) 定義通用任務(GENERIC TASK) 定義專用任務(SPECIALIZED TASK) 處理實例(PROCESS INSTANCE) 每個PHASE由若干GENERIC TASK組成,每個GENERIC TASK又需要
19、實施若干SPECIALIZED TASK,每個SPECIALIZED TASK由若干PROCESS INSTANCE來完成。,5.2數據挖掘過程模型CRISP-DM,其中,上兩層獨立于具體數據挖掘方法,即是一般數據挖掘項目均需實施的步驟(這解決了“WHAT TO DO?”的問題)。這兩層的任務將結合具體數據挖掘項目的“上下文”(CONTEXT)映射到下兩層的具體任務和過程。 項目的“上下文”是指項目開發(fā)中密切相關
20、、需要綜合考慮的一些關鍵問題,如應用領域、數據挖掘問題類型、技術難點、工具及其提供的技術等。 下兩層注重解決如何完成每個階段所要完成的任務和任務的輸出所要求的必要映射活動(這用于解決“HOW TO DO”的問題)。,5.2數據挖掘過程模型CRISP-DM,CRISP-DM6個階段的含義是:(1)BUSINESS UNDERSTANDING 在開始階段,專注于從商業(yè)的角度理解項目目標和需求,
21、然后將這種知識轉換成一種數據挖掘的問題定義,并設計出達到目標的一個初步計劃。,5.2數據挖掘過程模型CRISP-DM,(2)DATA UNDERSTANDING 在數據理解階段,先收集初步的數據,然后進行熟悉數據的各種活動,包括識別數據的質量問題、找到對數據的基本觀察或假設隱含的信息來檢測出感興趣的數據子集。,5.2數據挖掘過程模型CRISP-DM,(3)DATA PREPARATION
22、 數據預處理階段覆蓋了從數據構造到最終數據集合(將要輸入建模工具的數據)的所有活動。數據預處理任務很可能要執(zhí)行多次,并且沒有任何規(guī)定的順序。任務包括表、記錄屬性的選擇以及為了適合建模工具的要求對數據進行的轉換和凈化。,5.2數據挖掘過程模型CRISP-DM,(4) MODELING 在建模階段,可以選擇和應用各種建模技術將其參數校正到優(yōu)化值。,5.2數據挖掘過程模型CRISP-DM,(5)EVALUAT
23、ION 從數據分析的觀點看:在開始進入這個階段時已經建立了看上去是高質量的模型。但在最終擴展模型之前,要更徹底地評價模型,對所建模型再次考察其執(zhí)行的步驟并確信其正確地達到了商業(yè)目標。 這里,一個關鍵的目的是確定是否有某些重要的商業(yè)問題還沒有充分地考慮。在這個階段的結尾,應該獲得使用數據挖掘結果的判定。,5.2數據挖掘過程模型CRISP-DM,(6)DEPLOYMENT
24、 創(chuàng)建完模型并不意味著項目結束。所獲得的知識要用一種用戶可以使用的方式來組織和表示。根據要求,擴展階段可以簡單到只生成一份報告,或復雜到實現一個可重復的數據挖掘過程。在許多情況下,這將由客戶而不是分析員來實施。所以分析員來實施擴展將達不到預期的擴展效果,因此在這之前,客戶理解和利用所建模型所要實施的動作很重要。,5.3 數據挖掘過程中的相關問題,TWO CROWS公司的數據挖掘過程模型同CRISP-DM模型很類似,并且比較簡潔,其基本
25、數據挖掘步驟包括:l 定義商業(yè)問題;l 建立數據挖掘倉庫;l 分析數據;l
26、 準備數據;l 建立模型;l 評價模型;l 實施。 下面結合這個數據挖掘過程模型說明在數據挖掘過程中
27、的相關問題。,5.3.1 定義商業(yè)問題,我們的最終目的是希望從技術和商業(yè)角度為公司建立一個能夠理解和實施數據挖掘的工作環(huán)境。數據挖掘的成功,并不在于特定工具和算法的選擇,而是一個合適的環(huán)境。 一個企業(yè)的執(zhí)行能力越強,數據挖掘的能力就越大。,5.3.1 定義商業(yè)問題,企業(yè)所處的商業(yè)環(huán)境往往在戰(zhàn)略上、顧客定位、數據倉庫建立、市場定位、生命周期、分析技術等方面各不相同,成功的基礎必須是基于對數據挖掘與商業(yè)規(guī)律良好結合的環(huán)境,建立
28、自己的挖掘平臺。 在開始數據挖掘之前,最重要的是要了解數據和相關的業(yè)務問題。比如要分析電信領域的客戶呼叫行為,需要了解電信的業(yè)務構成、業(yè)務運營以及其它諸多的行業(yè)知識。,5.3.1 定義商業(yè)問題,要想充分發(fā)揮數據挖掘的價值,必須對目標有一個清晰明確的定義,了解數據和相關的業(yè)務問題是決定到底想干什么的前提。 數據挖掘對系統分析/開發(fā)人員提出了更高的要求,它要求分析/開發(fā)人員具有比較寬廣的基礎知識
29、和行業(yè)背景。,商業(yè)理解體系的核心——語義層,業(yè)務數據庫,商業(yè)理解體系的核心——語義層,數據源,終端用戶,商業(yè)元語,查詢面板,數據源,5.3.2 建立數據挖掘庫,建立數據挖掘倉庫、分析數據、選擇變量構成了數據預處理的核心,這三步比其它所有的步驟加在一起所花的時間和精力還多。數據準備工作大概要花去整個數據挖掘項目的50%~90%的時間和精力。,5.3.2 建立數據挖掘庫,我們應該把要挖掘的數據都收集到一個數據庫中(或者存放在數據倉庫中,通常
30、是以關系表得方式存儲)。 當然,這并不是說一定要使用一個數據庫管理系統。根據要挖掘的數據量的大小、數據的復雜程度、使用方式的不同,有時一個簡單的平面文件或電子表格就足夠了 。,5.3.2 建立數據挖掘庫,數據挖掘系統可以作為一個獨立的系統存在。 對于一個大型的企業(yè)將數據挖掘系統建立在數據倉庫的基礎上是非常合理的想法,因為數據倉庫已經為數據挖掘累積了大量的歷史數據,要將這些數據充分發(fā)揮作用,
31、就需要一個良好的數據挖掘系統。,5.3.2 建立數據挖掘庫,但是,一般我們并不直接在公司的數據倉庫上進行數據挖掘。原因有以下幾點:1)數據倉庫中的數據量很大,許多數據并不 是數據挖掘問題所關心的。2)數據挖掘需要的信息涉及的方面很廣,這 些信息可能存放在數據倉庫的許多表中, 如果直接在數據倉庫中挖掘,將使數據 的訪問性能受到影響。3)數據挖掘需要反復進行,不斷地對模型
32、 進行優(yōu)化。,5.3.2 建立數據挖掘庫,4)在數據挖掘過程中需要對變量進行轉化,比如神經網絡只能處理數值型的變量,對于非數值型的變量需要轉化。而數據倉庫不支持更新操作。5)多個數據挖掘的主題可能同步進行,如果直接在數據倉庫中進行,數據倉庫需要增加相應地控制機制。6)數據倉庫系統還有其它工作,比如定期地數據刷新、對OLAP系統的支持等。,5.3.2 建立數據挖掘庫,因此有必要從數據倉庫中抽取出需要的數據單獨存放在數據挖掘庫中,這樣
33、可以達到以下目的。l 數據量大大地減小了:l 多個數據挖掘主題可以并行地進行:l多個數據挖掘主題在物理上分開,對數 據的更新互不影響;l數據挖掘的結果可以回寫進數據倉庫,供OLAP工具展現使用。,5.3.2 建立數據挖掘庫,如果數據倉庫允許建立一個在邏輯上獨立的數據庫并且在計算資源上也足夠,那么在它上面進行數據挖掘也是可以的。建立數據挖掘庫可以分成下面幾個部分:l
34、0; 數據收集;l 對數據進行描述;l 選擇數據;l 數據質量評估和數據清
35、理;l 對數據進行合并和整合;l 構建元數據;l 將數據加載到數據挖掘庫;l
36、0; 維護數據挖掘庫。,5.3.2 建立數據挖掘庫,這些步驟并不一定要按步驟執(zhí)行,而應該按需要進行。比如在收集數據時就開始構建元數據,并隨著工作的進行不斷的對其進行修改。在數據整合和數據質量評估過程中發(fā)現問題可能需要修改最初的數據選擇。,5.3.2 建立數據挖掘庫,1.數據收集 首先,確定要挖掘的數據源。 在數據倉庫中已經提供了豐富的數據,但是還需要一些外部的數據,比如
37、人口統計或天氣數據等。對于一些有償數據,甚至需要向專門提供數據服務的公司購買。 我們可以用一個數據搜集報告把所需的各種不同的數據源的屬性列出來。此報告至少應包含如下的內容:,5.3.2 建立數據挖掘庫,l數據源;l數據的擁有者;l負責維護此數據的人/組織;l設計該數據庫的DBA;l如果數據需要購買,則需要說明費用 ;l數據使用的存儲方式,如ORACLE數據庫,平面文件;l數據中包含的表,字段,記錄的數
38、目;l數據的大?。籰數據的物理存儲介質,如CD-ROM,磁帶,磁盤陣列等;l安全需求;l數據在使用上的限制;l數據是否涉及用戶的隱私問題。,5.3.2 建立數據挖掘庫,2.數據描述數據描述報告中應包含如下內容:l 字段/列的數目;l
39、 字段是空(缺值)的數目/百分比;l 字段名;,5.3.2 建立數據挖掘庫,對于對每個字段,我們通常需要記錄:l 數據類型;l 數據定義;l
40、160; 數據描述;l 計量單位;l 所有不同值的個數;l 值
41、的列表;l 值的范圍;l 空值的百分比;l 收集信息;l
42、160; 時間頻度;l 特別時間數據;l 主鍵/外鍵關系。,5.3.2 建立數據挖掘庫,3.數據選擇 接下來要選擇用于數據挖掘的數據。這與對數據進行采樣和選擇預測變量是不同的,這里只是粗略的把冗余或無關的數據除去或由于資源的限制、費用的限制、數據使用的限制和質量問題而必須做出的選擇。,5.3.2 建立
43、數據挖掘庫,4.數據質量評估和數據清理 要想得到好的模型必須用好數據。數據質量評估就是要確定數據的哪些性質會最終影響模型的質量。我們不僅要保證數據值的正確性和一致性,還要保證這些值是按同樣的方法記錄的同一件事情。,5.3.2 建立數據挖掘庫,數據域中可能包括了不正確的值。比如,身份證號碼被粗心的數據錄入人員錄入了年齡。 即使單個域中包含的數據是正確的,但這些域組合起來時也可能就出現錯誤的記
44、錄,如小學生的年齡是90。 有時域中的值為空。 當從多個不同的源整合數據的時候,一定要注意不同源之間數據的一致性。 這些工作看起來和數據倉庫的數據清洗轉換工作很相似。,5.3.2 建立數據挖掘庫,缺值是一個非常有害的問題,并且在實際情況中常常出現。比如在網上調查或者問卷調查中,填寫人會漏填甚至不填某些選項。 如果有一個數據域缺值就把這個記錄刪除
45、掉,那么最后可能得到一個很小的數據集合。如果可用的數據集合太小,則這個集合就不能代表整體的特征,因此在這樣的數據集合上進行分析的結果與實際情況有較大的出入 。,5.3.2 建立數據挖掘庫,我們應當考慮一些合適的方法進行彌補,可能的方法有:a.據其它字段來推測缺失字段,比如通過身份證計算出客戶的性別、年齡信息,從而填補這兩個字段數據的缺失。如果客戶的身份證有誤,這個方法就失效了。b.用非空值的數據通過計算后代替空值數據。我們通過計算收
46、入水平的非空數據的平均值來取代空值數據。c.使用非空值的數據的統計特征來填充空值數據。問卷中非空字段包含35%男性和65%女性,在為性別字段缺失的記錄添值時,按照這個比例隨機進行賦值。,5.3.2 建立數據挖掘庫,d.以缺值的字段為預測目標,用數據挖掘技術建立一個預測模型,通過非空的記錄對其進行訓練和評價,然后按照這個模型的預測結果添值。 這種方法比較好,因為使用數據本身的特征來填寫數據,但是,這將花費較多的
47、時間。,5.3.2 建立數據挖掘庫,e.利用以往的經驗,行業(yè)規(guī)則或者挖掘得到的規(guī)則對空值進行填充。 比如在宣傳化妝品的過程中,會對問卷回應的大部分顧客是女性,男性僅占很少的比例,比如10%,我們可以根據這個特征對空值進行填充。,5.3.2 建立數據挖掘庫,5. 合并和整合 進行數據挖掘的數據來自于不同的內部和外部數據源,并且數據源之間的數據常常存在沖突和不一致。 不同
48、的數據庫間在數據定義和使用上存在巨大的差距。有些不一致問題是容易解決的,然而有些則非常棘手。 同一個名字的字段被用在不同的數據項上具有不同的含義,或同一個數據項用了不同的名字。在數據計量上還有單位不統一的問題,比如人民幣和港元之間不能做運算。關于數據整合和集成的問題,我們在數據倉庫中已經進行了詳細的說明。,5.3.2 建立數據挖掘庫,6. 構建元數據 元數據就是描述數據的數據。數據收集報
49、告和數據描述報告是建立元數據的基礎和重要組成部分。我們需要利用挖掘工具提供的元數據管理工具或者自己設計一個元數據庫,為分析數據以及建立模型提供輔助信息。,5.3.2 建立數據挖掘庫,7.加載數據 大多數情況下,用于挖掘的數據應該放到獨立的挖掘庫中。如果數據量大并且復雜,那么數據挖掘庫通常是一個RDBMS。如果數據量很少,使用一個簡單的平面文件即可。經過前面所有的搜集、整理之后,現在把這些數據加載過來。,5.3.
50、2 建立數據挖掘庫,8. 維護數據挖掘庫 挖掘庫一旦建好,就需要對其進行維護。維護工作包括:l定期進行數據備份;l 監(jiān)視挖掘庫的性能;l 維護元數據;l根據需要不斷的增加存儲空間,提供硬 件的性能。 對放在RDBMS內的復雜挖掘庫來說,維護它需要計算機專業(yè)人員來完成。,5.3.3 分析數據/變量,分析數據的目的是找到對預測輸出影響最大的字段,并決定是否需要增加導出 字段。如果數
51、據集包含成百上千的字段,那么瀏覽分析這些數據將是一件非常耗時和累人的事情。這時,我們需要一個具有好的界面和功能強大的工具庫軟件來協助完成這些事情。此步驟可劃分成4個部分:l 選擇變量;l 選擇記錄;l 創(chuàng)建新變量;l 轉換變量。,5.3.3 分析數據/變量,1 選擇變量 理想情況下,我們可以選擇全部變量,把它們輸入到數據挖掘工具中,讓數據挖掘工具來選擇哪些是最好的預測變量。
52、 實際上這樣做并不是很好,一方面隨著變量個數的增加,模型的建立時間也隨之上升;,5.3.3 分析數據/變量,1 選擇變量 另一方面盲目的把所有的變量都加進去會導致建立錯誤的模型。比如,建立預測模型的一個常見錯誤就是把一個依賴于目標變量的變量作為預測變量,像用變量“出生年份”來“預測”目標變量年齡,其結果將導致目標變量“年齡”直接同預測變量“出生年份”相關,而其它的因素將被排除,這顯然同預測的初衷是不
53、符合的。,5.3.3 分析數據/變量,我們在利用分析工具進行挖掘前,需要完成以下工作。l去除同目標變量具有強相關性的變量l去除毫無關系的變量 這樣既可以節(jié)約進行數據挖掘的時間,又可以避免降低其它重要變量對目標變量的影響力。,5.3.3 分析數據/變量,2 選擇記錄 選擇記錄有兩重含義: a.在數據量不大的時候,可以用所有的數據行來建立模型。如果數據量非常巨大,使用所有的數據行來建立模型要花費很長時間
54、,要么買一臺計算能力非常強大的機器。因此,數據量特別大就需要進行數據抽樣。如果數據抽樣做得足夠仔細,保證抽樣是按真正的隨機來進行的,采樣對大部分商業(yè)問題來說都不會丟失信息。 我們可以用所有的數據建立一個模型,還可以根據不同的采樣方法建立幾個模型,然后評價這幾個模型并選擇一個最好的。通常認為后種方法得到的模型更準確。,5.3.3 分析數據/變量,b.在進行挖掘前,我們需要刪除明顯的異常數據。然而在某些情況下,這些看來
55、異常的數據可能包含了要建立模型的重要信息。因此,對于數據是否異常,必須按照實際的業(yè)務邏輯和商業(yè)邏輯來判斷。,5.3.3 分析數據/變量,3 創(chuàng)建新變量 很多情況下,我們需要從原始數據中衍生一些新的變量作為預測變量。創(chuàng)建新變量通常有兩種方法。 a.將變量利用加、減、比率等計算組合起來可能會比這些變量自身影響力更大。比如,用負債占收入百分比來預測信用風險,比直接用負債值和收入值做預測變量更準
56、確一些,也更容易理解。再如,預測一個客戶是否可能成為大客戶,使用它這幾個月來的通話費用的增長額或者增長率,可能比直接使用這幾個月的話費對目標量影響更大。,5.3.3 分析數據/變量,b.一些變量如果擴大它的范圍,可能成為一個非常好的預測變量。 比如,預測客戶是否為有價值客戶,可以使用一段時間內話費變化情況代替某一個月的話費情況。 我們需要創(chuàng)建哪些新變量不是主觀臆想的結果,而需要研究商業(yè)問題
57、,甚至要向該方面的專家請教。是否能夠創(chuàng)建合適的變量,對于模型的準確性影響很大。,5.3.3 分析數據/變量,4. 轉換變量。 不同的算法可能對變量的要求不同,所以在進行挖掘之前,我們需要根據選擇的算法,決定對數據進行哪些轉換工作。 比如神經網絡要求所有的變量都在0~1之間,因此在這些數據被提交到算法之前必須先對不在[0,1]內的變量進行映射。類似一些決策樹算法不接受數值型變量作為輸入,在使用
58、它們之前也要把這些數值映射到“高,中,低”等。使用的轉換方式在一定程度上會影響模型的準確度。,5.3.3 分析數據/變量,現在的一些比較先進的數據挖掘工具已經能夠自動對變量進行必要的轉換工作。但是,目標變量的轉化工作通常還是需要用戶自己來完成。比如使用神經網絡的方法,需要將目標變量映射到0~1之間。,5.3.4 模型訓練方法,建立模型是一個反復的過程。我們需要仔細考察不同的模型來判斷哪個模型對具體的商業(yè)問題最有用。
59、 我們在尋找好模型的過程中,可能會得到新的啟發(fā),在這些啟發(fā)的作用下可能會修改數據,甚至改變最初對問題的定義和理解。 在數據挖掘中不要害怕反復,因為每一次反復是向更完善的模型又進了一步。,5.3.4 模型訓練方法,我們首先需要決定預測的類型是對事物進行分類,還是對事物進行回歸預測。然后對于預測選擇數學模型。選擇什么樣的模型,決定了我們需對數據做哪些預處理工作。如神經網絡需要做數據轉換,有些數據挖掘工具可能對輸入數
60、據的格式有特定的限制等。所有的數據準備好之后才可以開始訓練模型。,5.3.4 模型訓練方法,為了保證得到的模型具有較好的準確度和健壯性,需要先用一部分數據建立模型,然后再用剩下的數據來測試這個得到的模型。有時還需要第3個數據集,稱為驗證集。因為測試集可能受模型特性的影響,還需要一個獨立的數據集來驗證模型的準確性。,5.3.4 模型訓練方法,訓練和測試數據挖掘模型至少要把數據分成兩個部分:一個用于模型訓練,另一個用于模型測試。
61、 如果使用相同的訓練和測試集,那么模型的準確度就很難使人信服。用訓練集把模型建立出來之后,可以先在測試集數據上做實驗,此模型在測試集上的預測準確度就是一個很好的指導數據,它表示將來與數據集和測試集類似的數據用此模型預測時正確的百分比。 但這并不能保證模型的正確性,它只是說明在相似的數據集合的情況下用此模型會得出相似的結果。,5.3.4 模型訓練方法,常用的驗證方法包括簡單驗證,交叉驗證和N維交叉驗證。
62、1. 簡單驗證 簡單驗證是最基本的測試方法。它從原始數據集合中拿出一定百分比的數據作為測試數據,這個百分比大概在5%~33%之間。 注意:在把數據集合分成幾部分時,一定要保證選擇的隨機性,這樣才能使分開的各部分數據的性質是一致的。,5.3.4 模型訓練方法,先用數據集合的主體把模型建立起來,然后用此模型來預測測試集中的數據。出現錯誤的預測與預測總數之間的比稱為錯誤率。
63、 對于分類問題,我們可以簡單的下結論:“對”與“錯”,此時錯誤率很容易計算?;貧w問題不能使用簡單的“對”或“錯”來衡量,但可以用方差來描述準確的程度。比如,用3年內預計的客戶增長數量同3年內實際的數據進行比較。,5.3.4 模型訓練方法,在一次模型的建立過程中,這種最簡單的驗證通常要執(zhí)行幾十次。例如,在訓練神經網絡時,幾乎每一個訓練周期都要在測試集上運行一次,不斷的訓練測試,直到在測試集上的準確率不再提高為止。,5.3.4 模型訓
64、練方法,2 交叉驗證 簡單驗證適合在挖掘數據充沛的時候使用。如果數據不是很多,可能無法再把一部分數據放到一邊不用,這樣會使得數據的特征丟失。 交叉驗證提供了一種使用全部數據的方法。首先把原始數據隨機平分成兩份,一部分做訓練集,另一部分做測試集計算錯誤率,再把兩部分數據交換再計算一次錯誤率。最后再用所有的數據建立一個模型,把上面得到的兩個錯誤率進行平均做為最后模型的錯誤率。,5
65、.3.4 模型訓練方法,3. N-維交叉驗證 N-維交叉驗證是更通用的算法。它先把數據隨機份成不相交的N份,比如把數據分成10份。先把第一份拿出來放在一邊用做模型測試,把其它9份合在一起來建立模型,然后把這個用90%的數據建立起來的模型用第一份數據做測試。這個過程對每一份數據都重復進行一次,得到10個不同的錯誤率。最后把所有數據放在一起建立一個模型,模型的錯誤率為上面10個錯誤率的平均。,5.3.4 模型訓練
66、方法,我們可以依據得到的模型和對模型的預期結果修改參數,再用同樣的算法建立新的模型,甚至可以采用其它的算法建立模型。 在數據挖掘中,不同的商業(yè)問題采用哪種模型效果更好,在沒有行業(yè)經驗的情況下,最好用不同的方法(參數或算法)建立幾個模型,從中選擇最好的。,5.3.4 模型訓練方法,圖9-19展示了一個多種算法結果的比較。圖的橫坐標是指選擇的客戶占客戶群體的比例,縱坐標是指選中大客戶的比例(假定大客戶在客戶群體中占10
67、%)。不同的曲線代表不同算法的結果。從圖中可以看出,選擇10%的客戶時,神經網絡的正確率為90%;回歸算法的正確率是85%;決策樹的正確率是70%;隨機抽樣的正確率為10%,因此神經網絡算法的效果較好。 從圖9-19還可以看出,隨著選擇客戶的比例增大,算法的效果逐漸下降。原因是在選擇客戶的初期,算法已經把絕大部分的大客戶選擇出來了。從本圖可以充分的看出,使用模型進行選擇和利用隨機選擇,其效果相差極大。,5.3.4
68、 模型訓練方法,,5.3.5 數據挖掘模型的評價方法,在模型建立好之后必須評價其結果,并解釋模型的含義和價值,只有這樣才能將模型最終應用到商業(yè)環(huán)境中。 從測試集中得到的準確率只對建立模型的數據有意義。在實際應用中,隨著應用數據的不同,模型的準確率肯定會變化。更重要的是準確度自身并不是選擇最好模型的正確評價方法。 比如,模型A可能在某些不太重要的問題上正確率高于模型B,此時我們不能簡單地判斷模
69、型A比模型B好。需要進一步了解錯誤的類型和由此帶來的相關效益/損失的多少。,5.3.5 數據挖掘模型的評價方法,(1)無序矩陣 對分類問題來說,無序矩陣是理解結果非常好的工具。用無序矩陣將預測的客戶類型結果與實際的情況進行對比,得到的結果如表9-1所示。它不僅說明了模型預測的準確情況,也展現了模型問題的所在。,5.3.5 數據挖掘模型的評價方法,(1)無序矩陣表的理解:共有80名客戶,實際有32個高價值客戶,
70、其中20個被正確預測,另外12個高價值客戶被預測成了非高價值客戶。實際有48個非高價值客戶,其中28個被正確預測,另外20個被錯誤預測成了高價值客戶。 顯然模型總體準確度是60%。無序矩陣比簡單的說總體準確度是60%體現了更多的信息。,5.3.5 數據挖掘模型的評價方法,(1)無序矩陣 在實際應用中,如果每種不同的預測錯誤所需付出的代價也不同,那么考慮代價最小的模型(而不一定是錯誤率最小的模型
71、)就是所要選擇的模型。 如果每個準確的預測會帶來¥10的收益,錯誤的預測A(非高價值客戶預測成高價值客戶)要付出¥5的代價,B(高價值客戶預測成非高價值客戶)要付出¥10的代價,整個模型的價值是: (10*20)- (5*20)+ (10*28) - (10*12)=$260,5.3.5 數據挖掘模型的評價方法,(1)無序矩陣 考察下面的無序矩陣,雖然準確度降
72、低到57.5%(46/80) ,但價值卻升高了。 (10*8)- (5*32)+ (10*38) - (10*2)=$280 這就是我們前面提到的正確率最高的模型不一定就是實際問題中最優(yōu)的模型。,5.3.5 數據挖掘模型的評價方法,(2)收益表 通過無序矩陣確定最優(yōu)的模型后還需要確定模型實施的范圍。隨著模型實施范圍的變化,其產生的效果也將發(fā)生變化。因為模型實施的范圍變大意味著需要更多的
73、投入來實施,而其產生的效益隨著范圍的擴大可能很緩慢地增長。 我們可以采用收益表來確定模型的最佳實施范圍。針對不同的問題,收益表有兩種形式:響應率變化曲線和投資回報率變化曲線。,5.3.5 數據挖掘模型的評價方法,(2)收益表 圖9-20顯示了通過郵件推銷商品客戶響應率的變化情況。變化的比率稱為lift。例如,隨機抽取的方法選擇10%的客戶的響應率是 10%,而通過模型選取10%的客戶的響應率是 30
74、%,則lift的值為3。 我們可以根據圖中的結果,確定對客戶進行推銷的比例。比如規(guī)定lift值應高于2.5,則推銷客戶占總客戶的比例可以設為15%。,,,5.3.5 數據挖掘模型的評價方法,(2)收益表 收益表的另一種形式是投資回報率變化曲線(這里定義ROI利潤與為此付出開銷的比值)。圖9-21是一個描述模型投資回報率的圖表。當選取比例超過80%時,ROI變成了負數,ROI最高是在橫坐標為20%時。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第6章數據挖掘
- 《數據挖掘導論》教材配套教學——第1章-認識數據挖掘
- 數據結構答案第5章
- 第5章 數據庫操作
- 第9章 電子政務中的數據挖掘技術
- 第3章 數據挖掘的體系結構與模型
- 數據挖掘課件第3章關聯規(guī)則挖掘理論和算法(new)
- 第5章-自然資源生態(tài)過程
- 第5章數據庫的創(chuàng)建和管理
- 03.《大數據》配套之四第3章-數據挖掘算法下
- 3 數據庫第2章第5題解答
- 第5章數據的頻數分布練習題
- 第5章
- 數據倉庫與數據挖掘基礎第6章關聯規(guī)則趙志升
- 數據結構 第5章數組和廣義表
- 第5章
- 4 數據庫第3章第3、4、5題解答
- 數據倉庫與數據挖掘基礎第7章分類與預測趙志升
- 第5章-數組
- 第5章-第6章中外廣告史
評論
0/150
提交評論