原創|使用教程|編輯:陳俊吉|2016-08-17 09:52:01.000|閱讀 921 次
概述:作為 IBM 分析與預測解決方案的重要組成部分,IBM SPSS Modeler 是一組數據挖掘工具,通過這些工具可以采用商業技術快速建立預測性模型,并將其應用于商業活動,從而改進決策過程。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
簡介
作為 IBM 分析與預測解決方案的重要組成部分,IBM SPSS Modeler 是一組數據挖掘工具,通過這些工具可以采用商業技術快速建立預測性模型,并將其應用于商業活動,從而改進決策過程。隨著于 2010 年其新版本 14.1 的發布,名字也由 PASW Modeler 更名為現在的 。
提供了各種借助機器學習、人工智能和統計學的建模方法。通過建模選項板中的方法,您可以根據數據生成新的信息以及開發預測模型。每種方法各有所長,同時適用于解決特定類型的問題。
初次上手
典型的 SPSS Modeler 界面如下:
圖 1. SPSS Modeler 界面
接下來將詳細介紹其基本概念及操作。
基本概念:節點
節點代表要對數據執行的操作。
例如,假定您需要打開某個數據源、添加新字段、根據新字段中的值選擇記錄,然后在表中顯示結果。在這種情況下,您的數據流應由以下四個節點組成:
表 1. 節點示例
![]() |
變量文件節點,設置此節點后可以讀取數據源中的數據。 | |
![]() |
導出節點,用于向數據集中添加計算的新字段。 | |
![]() |
選擇節點,用于設置選擇標準,以從數據流中排除某些記錄。 | |
![]() |
表節點,用于在屏幕上顯示操作結果。 |
基本概念:數據流
進行的數據挖掘重點關注通過一系列節點運行數據的過程,我們將這一過程稱為數據流。也可以說 SPSS Modeler 是以數據流為驅動的產品。這一系列節點代表要對數據執行的操作,而節點之間的鏈接指示數據的流動方向。如,上面提到的四個節點可以創建如下數據流:
圖 2. 數據流示例
通常,SPSS Modeler 將數據以一條條記錄的形式讀入,然后通過對數據進行一系列操作,最后將其發送至某個地方(可以是模型,或某種格式的數據輸出)。使用 SPSS Modeler 處理數據的三個步驟:
在 SPSS Modeler 中,可以通過打開新的數據流來一次處理多個數據流。會話期間,可以在 SPSS Modeler 窗口右上角的流管理器中管理打開的多個數據流。
圖 3. 流管理器
節點選項板
節點選項板位于流工作區下方窗口的底部。
圖 4. 節點選項板
每個選項板選項卡均包含一組不同的流操作階段中使用的相關節點,如:
隨著對 的熟悉,您可以在收藏夾自定義常用的選項板內容。
使用節點和流
要將節點添加到工作區,請在節點選項板中雙擊圖標或將其拖放到工作區。已添加到流工作區的節點在連接之前不會形成數據流,可以將各個圖標連接以創建一個表示數據流動的流,節點之間的連接指示數據從一項操作流向下一項操作的方向。
SPSS Modeler 中最常見的鼠標用法如下所示:
創建了流以后,可以對流進行保存、添加注解,將其添加到工程。從文件主菜單中,選擇流屬性還可以為流設置各種選項,如優化、日期和時間設置、參數和腳本。使用流屬性對話框中的消息選項卡,可以輕松查看有關運行、優化和模型構建和評估所用時間等流操作有關的消息,流操作的錯誤消息也將在這里報告。
SPSS Modeler 管理器
可以使用流選項卡打開、重命名、保存和刪除在會話中創建的多個流。
圖 5. 流管理器
輸出選項卡中包含由 SPSS Modeler 中的流操作生成的輸出或圖形文件。您可以顯示、保存、重命名和關閉此選項上列出的表格、圖形和報告。
圖 6. 輸出文件管理器
模型選項卡是管理器選項卡中功能最強大的選項卡。該選項卡中包含所有模型塊,如當前會話中生成的模型,通過 PMML 導入的模型等。這些模型可以直接從模型選項卡上瀏覽或將其添加到工作區的流中進行數據分析。
圖 7. 模型管理器
窗口右側底部是工程工具,用于創建和管理數據挖掘工程(與數據挖掘任務相關的文件組)。有兩種方式可查看您在 SPSS Modeler 中創建的工程 - 類視圖或 CRISP-DM 視圖。
依據跨行業數據挖掘過程標準 CRISP-DM選項卡提供了一種組織工程的方式。不論是有經驗的數據挖掘人員還是新手,使用 CRISP-DM 工具都會使您事半功倍。
圖 8. 工程工具 -CRISP-DM 視圖
類選項卡提供了一種在 SPSS Modeler 中按類別(按照所創建對象的類別)組織您工作的方式。此視圖在獲取數據、流、模型的詳盡目錄時十分有用。
圖 9. 工程工具 - 類視圖
回頁首
建模簡介
模型是一組規則、公式或方程式,可以用它們根據一組輸入或變量來預測輸出。例如,一家財務機構可根據對過往申請人的已知信息,使用模型預測貸款申請人可能存在優良還是不良風險。預測結果是預測性分析的中心目標,了解建模過程是使用 SPSS Modeler 的關鍵。
圖 10. 簡單的決策樹模型
本示例使用 CHAID(卡方自動交互效應檢測)模型,通過一系列決策規則對記錄進行分類(并預測用戶響應),例如:
如果收入 = 中等 并且卡 <5 則 ->“優良” |
本示例旨在介紹使用 SPSS Modeler 進行數據挖掘的基本流程,其中大部分概念可廣泛應用于 SPSS Modeler 中的其他建模類型。
無論要了解哪種模型,均需要首先了解進入該模型的數據。此示例中的數據包含有關銀行客戶的信息。其中使用了下列字段:
表 2. 數據字段
字段名 | 描述 |
---|---|
Credit_rating | 信用評價:0= 不良,1= 優良,9= 丟失值 |
年齡 | 客戶年齡 |
收入 | 收入水平:1= 低,2= 中,3= 高 |
Credit_cards | 持有的信用卡數量:1= 少于五張,2= 五張或更多 |
教育 | 教育程度:1= 高中,2= 大學 |
Car_loans | 貸款的汽車數量:1= 沒有或一輛,2= 超過兩輛 |
銀行可維護銀行貸款客戶的歷史信息,包括客戶是正常還貸(信用評價 = 優良)還是在拖欠貸款(信用評價 = 不良)。銀行希望使用現有的數據建立一個模型,允許他們預測未來貸款申請人拖欠貸款的可能性。使用決策樹模型,您可分析這兩組客戶的特征,并預測不良客戶拖欠貸款的可能性。
構建流
本示例使用了名為 modelingintro.str的流,數據文件是 tree_credit.sav。(與示例一起使用的數據文件和樣本流安裝在產品安裝目錄下的 Demos 文件夾中。)
我們來看一下流:
圖 11. “打開”對話框
在本例中,我們使用 CHAID 建模節點。CHAID,或卡方自動交互效應檢測,是一種通過使用稱作卡方統計量的特定統計類型識別決策樹中的最優分割來構建決策樹的分類方法。
要構建流以創建模型,至少需要三個元素:
該流中還包含表節點和分析節點,當創建模型塊并將其添加到流以后,可使用這兩個節點查看評分結果以評估模型。
圖 12. 流 modelingintro.str
Statistics 文件源節點從 tree_credit.sav 數據文件讀取 SPSS Statistics 格式數據,該文件安裝在 Demos 文件夾中。(名為 $CLEO_DEMOS 的特殊變量用于引用安裝目錄位于 Demos 目錄下的文件。這樣,無論當前的安裝文件夾或版本是什么,均可以確保路徑有效。如在本例中可以寫作:$CLEO_DEMOS/tree_credit.sav,與圖中全路徑效果是一樣的。)
圖 13. 源節點
類型節點指定每個字段的測量級別。測量級別是一種指示字段中數據類型的類別。我們的源數據文件使用三種不同的測量級別:
連續字段(Continuous,例如年齡字段)包含連續的數字值,而名義字段(Nominal,例如信用評價字段)有兩個或多個不同值,如不良、優良或無信用歷史。有序字段(Ordinal,例如收入水平字段)用于描述具有順序固定的不同值的數據,在本例中為低、中和高。
對于每個字段,類型節點還指定角色,以指示每個字段在建模中扮演的部分。字段信用評價(Credit rating)指示指定的客戶是否拖欠貸款,這是要預測的目標字段,將其角色設置為目標。對于其他字段,將角色設置為輸入。輸入字段也稱為預測變量,即建模算法用來預測目標字段值的字段。
CHAID建模節點生成模型。在建模節點的字段選項卡中,已選中使用預定義角色,這意味著將使用在類型節點中指定的目標字段和輸入字段。可以在此處更改字段角色,但在本例中不做任何更改。
圖 14. CHAID 模型節點 - 字段頁
單擊“構建選項”選項卡。
圖 15. CHAID 模型節點 - 構建選項頁 - 目標項
此處包含的選項可以用于指定要構建的模型類型。由于我們想要一個全新的模型,因此使用默認選項構建新模型。我們還要求它為單個標準決策樹模型,并且不使用任何增強,因此保留默認目標選項構建單個樹。還可以選擇啟動交互會話對模型進行手動的微調,本示例只使用默認設置來生成模型。
對于此示例,我們希望保持樹的結構簡單,因此通過增加用于父節點和子節點的最小記錄數限制樹的增長。
圖 16. CHAID 模型節點 - 構建選項頁 - 停止規則項
我們可以使用所有其他默認選項,然后單擊運行以創建模型。(或者,也可以右鍵單擊該節點然后選擇運行,或選擇節點并從工具主菜單中選擇運行。)
瀏覽模型
等一小段時間當流執行完成后,模型塊將被添加到應用程序窗口右上角的模型選項板中,它還會被自動連接在流工作區中,并帶有指向創建它的建模節點的鏈接。要查看模型的詳細信息,右鍵單擊模型塊并選擇瀏覽(在模型選項板上)或編輯(在工作區上)。
圖 17. 包含模型塊的流 modelingintro.str
對于 CHAID 模型塊,模型選項卡以規則集的形式顯示詳細信息,規則集實際上是可根據不同輸入字段的值將各個記錄分配給相應子節點的一組規則。
圖 18. CHAID 模型塊 - 模型頁
對于每個決策樹終端節點 -- 意味著那些樹節點沒有再進一步拆分 -- 返回優良或不良的預測值。對于落在該節點內的記錄,所有個案中的預測均由模式或最常見的響應決定。
在規則集的右側,模型選項卡顯示預測變量重要性圖表,該圖表顯示評估模型時每個預測變量的相對重要性。通過這一點,我們看到收入水平 (Income level)在此個案中最顯著,而其他唯一顯著的因子是信用卡數量(Number of credit cards)。
圖 19. CHAID 模型塊 - 變量重要性
模型塊中的查看器選項卡以樹的形式顯示相同的模型,每個決策點上都有一個節點。可使用工具欄上的縮放控件放大特定節點,或縮小節點以查看更完整的樹。
圖 20. CHAID 模型塊 - 查看器頁
查看樹的上部分,第一個節點(節點 0)為我們提供數據集中所有記錄的摘要。數據集中超過 40% 的個案分類為不良風險。這是相當高的比例,因此讓我們看看樹能否提示哪些因素起決定作用。我們可以看到第一個分割是根據收入水平產生的。收入水平位于低類別的記錄被指定到節點 2,可以看到此類別包含貸款拖欠的百分比最高 --82%。因此我們認為此類別的客戶都具有高風險。但是要注意的是,此類別中有 16% 客戶實際上沒有拖欠,因此說預測并非始終準確。事實上沒有模型能夠精確預測所有的結果,但好的模型能夠根據可用數據預測出最接近的結果。
同樣,如果我們查看高收入客戶(節點 1),我們看到絕大部分 (89%) 是優良風險。但是在這個類別中 10 位客戶也有 1 位會拖欠。還能繼續精煉貸款標準以便將此處的風險最小化嗎?我們繼續看,接下來模型根據客戶持有的信用卡數量,將這些客戶分成兩個子類別(節點 4 和節點 5)。對于高收入客戶,如果我們只向那些信用卡少于 5 張的客戶貸款,則可以將我們的成功率從 89% 提高到 97%-- 很明顯是一個更滿意的結果。
圖 21. CHAID 模型塊 - 高收入客戶
回過頭來看看中等收入類別(節點 3)中的那些客戶是什么情況呢?他們更加均勻地劃分為優良和不良評價。子類別(節點 6 和 7)這次仍然能幫助我們。如果只向那些信用卡少于 5 張的中等收入客戶貸款,可將優良評價的百分比從 58% 提高到 85%-- 顯著的改進。
圖 22. CHAID 模型塊 - 中等收入客戶
至此,我們了解到輸入此模型的每項記錄都將被分配到一個特定節點,并且根據該節點最常見的結果分配在優良或不良中二選一的預測值。
為各個客戶記錄分配預測值的過程稱為評分 (Scoring)。因為我們已經知道原始記錄中每個客戶的情況,通過對這些原始記錄進行評分并與實際值相比較,可以評估該模型的準確度。讓我們看看如何做到這一點。
評估模型
要評估模型的準確度,需要對一些記錄(這里我們用原始記錄)進行評分,并將模型預測的結果與實際結果進行比較。
圖 23. 包含輸出的流 modelingintro.str
要查看分數或預測值,請將表節點連接到模型塊,雙擊表節點,然后單擊運行。
可以從表中看到,模型創建了一個名為 $R-Credit rating 的字段,用來顯示預測值。我們可以將這些值與原始信用評價字段進行比較。
圖 24. CHAID 模型輸出表格
在 SPSS Modeler 中,在評分過程中生成的字段的名稱基于目標字段,再加上標準前綴,例如 $R- 表示預測值,$RC- 表示置信度值。不同的模型類型使用不同的前綴集。置信度值(confidence value)是模型自己做的評估,尺度從 0.0 到 1.0,表示每個預測值的精確程度。
與預期的一樣,預測值與大多數(并非全部)記錄的實際值相匹配。原因是每個 CHAID 終端節點均包含混合值,而預期值與大部分結果相匹配,對于該節點中的其他結果,該預期值是錯誤的。(還記得節點 2 中 16% 的少部分低收入客戶其實是沒有拖欠的嗎?)若要避免出現此情況,可繼續將樹分割為更小的分支,直到每個節點都不含混合值 (100%) 為止—即全部為優良或不良。但是,這樣的模型會非常復雜,并且不易推廣到其他數據集。
要查看具體有多少預測值正確,我們可通讀表格,并數一數預測字段 $R-Credit rating的值匹配信用評價的值的記錄數量。幸運的是,我們有更簡單的方式 -- 使用分析節點,它將幫助我們自動進行此項操作:將模型塊連接到分析節點,雙擊分析節點,然后單擊運行。
分析表明,2464 個記錄中有 1960 個記錄(約 80%)的模型預測值與實際值相匹配。
圖 25. CHAID 模型分析結果
注意我們用來評分的記錄和評估模型的記錄是同一批數據。在真實情況中,可使用分區(partition)節點將數據分割為兩個樣本分別用于培訓模型和評估模型。通過使用一個樣本生成模型并使用另一個樣本對模型進行檢驗,您可更有意義地評估將模型推廣到其他數據集的情況。
這一階段我們通過分析節點可以針對已知道其實際結果的記錄來檢驗模型。下一階段將介紹如何使用模型對我們不知道結果的記錄進行評分。例如,當前不是銀行客戶但是可做為促銷對象的人群。
對記錄評分
現在,我們要查看如何對不同的記錄集進行評分。這是進行建模的目標:研究已知道結果的記錄,以找出模式可以讓您預測未知結果記錄的結果。
圖 26. 包含評分數據的流 modelingintro.str
我們可以更新 Statistics 文件源節點使它指向其他數據文件,也可以添加一個新的源節點,用它讀取要評分的數據。無論采用哪種方式,新數據集必須包含建模所使用的所有輸入字段(年齡、收入水平、教育等),但不包含目標字段信用評價。運行表節點即可得到結果,我們就不在這里執行了。
另外,也可以將模型塊添加到包含輸入字段的任何流中。無論數據源是文件還是數據庫,只要字段名和類型與模型使用的相匹配,源類型都無關緊要。還可以將模型塊保存為單獨的文件、或將模型導出為 PMML 格式以用于其他支持此格式的應用程序,或將模型存儲到 IBM SPSS Collaboration and Deployment Services 存儲庫中,這樣可以在企業范圍對模型進行部署、評分和管理。無論使用何種基礎結構,模型自身都按相同的方式工作。
摘要
本示例演示創建、評估模型以及對模型評分的基本步驟。
自動建模
對客戶響應建模(自動分類器)
通過自動分類器(Auto Classifier node )節點,您可以為標志字段(例如某個客戶是否很可能拖欠貸款或者是否會對特定的報價做出響應)或名義(集合)字段目標自動創建和比較多個不同模型。在本例中,我們將使用標志(是或否)字段。在一個相對簡單的流中,節點生成一組候選模型并對它們進行排序,選擇最有效的模型然后將它們合并為一個匯總(整體)模型。此方法將自動化操作的方便性與組合多個模型的優勢融為一體,通常能產生單一模型所不能帶來的更為準確的預測。
本示例以某虛構的公司為例,該公司希望通過為每個客戶提供最合適的報價以獲取更豐厚的收益。此方法突出了自動操作的優勢。我們使用安裝在 streams 目錄下 Demo 文件夾中的流 pm_binaryclassifier.str,所使用的數據文件為 pm_customer_train1.sav。
圖 27. 流 pm_binaryclassifier.str
歷史數據
文件 pm_customer_train1.sav的歷史數據包含過去的營銷活動中為特定客戶提供的報價,由 campaign字段的值表示,其中值為 Premium account的記錄數最多。campaign 字段的值在數據中實際編碼為整數(例如 2 = Premium account)。稍后,您可為這些值定義標簽以產生更有意義的輸出。
圖 28. 數據樣本
此外,其中還有字段表示每位客戶的相關人口統計和財務信息。這些字段可用于構建或訓練一個模型,通過基于收入、年齡或每月交易次數等特征來預測單個用戶或用戶群的響應概率。
構建流
添加使用 pm_customer_train1.sav的 Statistics 文件源節點,該文件位于 SPSS Modeler 安裝程序的 Demos 文件夾中。(您可以在文件路徑中指定 $CLEO_DEMOS/ 作為引用此文件夾的快捷方式。請注意,路徑中必須使用正斜線而非反斜線,如圖所示。)
圖 29. 源節點
添加類型節點,然后選擇響應(response)作為目標字段(設置其角色為目標)。將此字段的測量設置為標志。
對于以下字段,將角色設置為無:customer_id、campaign、response_date、purchase、purchase_date、product_id、Rowid和 X_random。因為這些字段(如用戶 ID)對于構建模型其實是無意義的,把角色設置為無以后,構建模型時將自動忽略這些字段。
單擊類型節點的讀取值按鈕以確保值獲得實例化。
常見問題:當您在運行流的時候出現以下錯誤時,可以在類型節點中(流中沒有類型節點時請先手動添加一個)單擊讀取值然后再運行流:
我們的源數據包含四項不同活動的信息,每個活動針對不同類型的客戶。這些活動在數據中編碼為整數,為了方便記住每個整數所代表的帳戶類型,讓我們為每個整數都定義一個標簽。
在活動(campaign)字段的行上,單擊值列中的條目。從下拉列表選擇指定。
圖 30. 類型節點
在標簽列中,鍵入活動字段四個值中每個值將顯示的標簽。單擊確定。
圖 31. 類型節點 - 指定標簽
現在我們可在輸出窗口中顯示標簽而非僅僅是整數了。
圖 32. 輸出標簽的表格
盡管數據包含有關四項不同活動的信息,但每一次的分析應集中關注其中一項活動。由于 Premium account 活動(在數據中編碼為 campaign=2)中的記錄數最多,因此可以使用選擇節點實現僅在流中包含這些記錄。
圖 33. 選擇節點
生成和比較模型
附加一個自動分類器節點,然后選擇總體精確性作為對模型進行排序的度量。
將要使用的模型數設置為 3。這意味著在執行節點時將只選擇三個最佳模型。
圖 34. 自動分類器節點 - 模型頁
在專家選項卡上,可從最多 11 種不同模型算法中進行選擇。
取消選擇判別式和 SVM模型類型。(這些模型需要花費更多時間培訓這些數據,因此取消選中它們將可以加快示例的執行速度。如果您不介意稍等一下,也可以保留它們的選中狀態。)由于在模型選項卡上將要使用的模型數設置為 3,因此節點將計算所選擇九個算法的準確性,然后選擇三個最準確的算法來構建一個模型塊。
圖 35. 自動分類器節點 - 專家頁
在設置選項卡上,選擇整體方法為置信度加權投票。此選項將確定如何為每條記錄生成一個評分。
使用簡單投票方式時,若三個模型中有兩個模型均預測是,則是將以 2 比 1 的投票結果取勝。在使用置信度加權投票方式時,將基于各預測的置信度值進行加權投票。因此,如果一個預測否的模型的置信度比兩個預測是的模型合在一起的置信度還高的話,則否取勝。
圖 36. 自動分類器節點 - 設置頁
單擊運行。
幾分鐘后(實際情況中,由于大型數據集往往需要創建數百個模型,這可能會花費數小時或更長的時間),構建生成的模型塊將放到工作區和窗口右上角的模型選項板中。您可瀏覽模型塊,或以多種其他方式將其保存或部署。
我們從工作區打開模型塊,它將列出在運行期間所創建的每個模型的詳細信息。如果需要進一步探索任何單獨的模型,可在模型列中雙擊此模型塊圖標,以瀏覽單獨模型結果,甚至可以用它們生成建模節點、模型塊或評估圖表。在圖形列中,可以雙擊縮略圖生成標準大小的圖形進行直觀的顯示。
圖 37. 自動分類器模型塊 - 模型頁
默認情況下,模型會基于總體精確性排序,這是我們在自動分類器節點模型選項卡中選擇的度量。根據這一度量,C51 模型的精確性最高,但 C&R 樹和 CHAID 模型的精確性與之相差不大。您可以通過單擊其他列的標題對該列進行排序,或者也可以從工具欄的排序方式下拉列表中選擇所需的度量。
基于這些結果,我們決定使用所有三個最準確的模型。通過結合多個模型的預測,可以避免單個模型的局限性,從而使整體準確性更高。在是否使用列中,選擇 C51, C&R 樹和 CHAID 模型。
在模型塊后附加一個分析節點(位于下方輸出選項板)。右鍵單擊分析節點,然后選擇運行以運行流。
由整體模型生成的匯總得分將顯示在名為 $XF-response 的字段中。當根據訓練數據評分時,預測值與實際響應(如原始響應字段中的記錄所示)匹配的總體精確性為 92.82%。盡管這不如本例中三個模型的最高精確性高(C51 為 92.86%),但它們之間的差距小得可以忽略不計。一般來說,整體模型應用到訓練數據之外的數據集時,通常比單個模型效果更好。
圖 38. 自動分類器模型塊的分析結果
摘要
綜上所述,我們使用自動分類器節點比較了多種不同的模型,然后使用三個最準確的模型并將它們作為一個整體自動分類器模型塊添加到流中。
小結
本文從 IBM SPSS Modeler 基本概念開始詳細介紹其基本操作,通過典型的數據挖掘算法介紹使用 SPSS Modeler 進行數據挖掘的基本流程,以及 SPSS Modeler 強大的自動建模功能。
本文所展示的只是 SPSS Modeler 很基礎的一小部分使用。隨著用戶使用的加深,將會了解到 SPSS Modeler 更為強大的功能,如 ADP(自動數據準備)、數據庫建模等等。
spss modeler:
spss statistics:
詳情請咨詢!
客服熱線:023-66090381
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn