IBM SPSS Modeler隨機森林算法介紹
在之前的文章《Bagging 或Boosting讓你的模型更加優化》中,我們介紹了可以通過Bagging或Boosting技術,使得模型更加穩定和準確率更高,那么今天要介紹的隨機森林算法,本身的算法邏輯已經使用了Bagging技術,來構建多棵樹,最終實現構建“森林”的目的。
首先我們先來了解下這個算法,記住幾個要點就可以:
1.在中,隨機森林構建的每棵樹,使用的算法是C&RT,關于C&RT算法的介紹可以參考之前的文章《》;
2.使用Bagging,每構建一棵樹,都是通過隨機選擇樣本數據來構建(有放回的);
3.除了使用Bagging技術,對使用的輸入指標,也隨機選擇。比如說一共有20個輸入指標,每選完一次樣本數據后,會再隨機選擇其中的10個指標來構建樹。
4.最終的預測結果,會綜合前面構建的決策樹通過投票的方式得到最終的預測結果,如果是數值型的預測,則是取平均值做為最終的預測結果。
5.在中,隨機森林算法不僅支持傳統的關系型數據庫,比如DB2、Oracle、SQL Server等通過ODBC可連接的數據庫,也支持Haoop分布式架構的數據,它可以生成MapReduce或者Spark,放到Hadoop平臺上去執行,從而提升整個計算效率。
那么接下來,我們來看下在IBM SPSS Modeler的隨機森林算法實現客戶的流失預測,能給我們呈現出什么樣的結果。
首先,我們創建數據流文件 ,如下圖:

Step1:連接數據源Excel文件,文件內容如下:

Step2:類型節點設置影響因素及目標,如下圖:

Step3:選擇隨機森林算法,并使用默認參數設置生成模型。

該面板主要涉及到模型構建和樹增長兩方面的參數,包括以下內容:
- 構建的模型數量:即構建多少棵樹;
- 樣本大小:是每次隨機選擇的樣本占原來的百分比,如果是1的話,代表每次選擇的樣本數據與原來的數據量一樣,如果是0.9,則選擇原來的數據量的90%作為的樣本數據,在處理大數據集時,減少樣本大小可以提高性能。
- 是否需要處理不平衡數據:如果模型的目標是標志結果(例如,流失或不流失) 比率很小,那么數據是不平衡數據并且模型所執行的 Bootstrap 采樣可能會影響模型精確性。要提高準確性,請選中此復選框;模型隨后會捕獲所需結果中的更大比例部分并生成更好的模型。
- 使用加權采樣選擇變量: 缺省情況下,每個葉節點的變量是使用同一概率隨機選擇的。要將加權用于變量并改進選擇過程,請選中此復選框。
- 最大節點數:指定允許各個樹中存在的最大葉節點數。如果下一次分割時將超過此數字,那么樹增長將在進行拆分之前停止。
- 最大樹深度:指定根節點下方的最大葉節點級別數;即,樣本進行遞歸拆分的次數。
- 最小子節點大?。褐付ú鸱指腹濣c之后必須包含在子節點中的最小記錄數。如果子節點包含的記錄數少于您輸入的數目,那么不會拆分父節點。
- 指定要用于拆分的最小預測變量數:如果是構建拆分模型,請設置要用于構建每個拆分的最小預測變量數。這防止拆分創建過小的子組。
- 當準確性無法再提高時停止構建:要改進模型構建時間,請選擇此選項,以在結果的準確性無法提高時停止模型構建過程。
在高級面板中,考慮到對樣本數據選擇的質量要求,該算法也涵蓋了數據準備的內容。

數據準備可設置的參數包括:
- 缺失值最大百分比指定允許任何輸入中存在的缺失值的最大百分比:如果該百分比超過了此數字,那么將從模型構建中排除此輸出。
- 排除單個類別多數超過以下值的字段指定單個類別可以在某個字段中具有的最大記錄百分比:如果任何類別值表示的記錄百分比高于指定值,那么將從模型構建中排除整個字段。
- 最大字段類別數:指定字段中可以包含的最大類別數。如果類別數超過了此數字,那么將從模型構建中排除此字段。
- 最小字段變化:如果連續字段的變異系數小于您在此處指定的值,那么將從模型構建中排除此字段。
- 分箱數:請指定要用于連續輸入的均等頻率分箱數??捎眠x項包括:2、4、5、10、20、25、50 或 100。
Step4:生成客戶流失分析模型。
在生成的模型結果里面,會包括對輸入指標的重要性排序,如下圖:

模型結果中,也會包含在生成的這些樹中,最頻繁出現的規則集,包括決策規則內容、類別、準確性等內容。這些規則集可以協助我們做一些業務解讀。

Step5:可以通過表格查看預測結果。

Step6:通過分析節點查看模型準確率。

慧都控件網超級促銷月,全場6折起,豪禮搶不停>>>
截止時間:2016年11月30日
詳情請咨詢!
客服熱線:023-66090381