IBM SPSS Modeler 算法優(yōu)化神器——Bagging 和 Boosting
在IBM SPSS Modeler中,每個算法都會有相應的默認參數設置,對初學者來說,即使不是很懂算法,也可以生成模型結果,但在實際項目中,我們?yōu)榱耸沟媚P透拥膬?yōu)化,提升模型的準確率,經常會對算法的參數做一些相應的調整,那么今天,我們給大家介紹兩個參數,分別是Bagging和Boosting,讓大家了解下它們是怎么用的,能帶來什么樣的模型優(yōu)化結果。
用途:
Bagging和Boosting都是用來提高模型準確率的方法。
計算邏輯:
Bagging是Bootstrap Aggregating的一種方式,是一種根據均勻概率分布從數據集中重復抽樣(有放回的)的技術。每個自助樣本集都和原數據集一樣大。由于抽樣過程是有放回的,因此一些樣本可能在同個訓練數據集中出現多次,而其它一些卻可能被忽略。假設我設置了Bagging的次數是10,也就是說我會根據上面的重復抽樣方式,抽取10份數據,分別構建10個模型,得到10個預測結果,對最后的判定,如果是分類問題采用投票方式,對回歸問題采用簡單平均方法。
Boosting主要是AdaBoost (Adaptive Boosting),初始化時對每一個訓練集賦相等的權重1/n,然后用該學算法對訓練集訓練t輪,每次訓練后,對訓練失敗的訓練例賦以較大的權重,也就是讓學習算法在后續(xù)的學習中集中對比較難的訓練例進行學習,從而得到一個預測函數序列h_1,?, h_m , 其中h_i也有一定的權重,預測效果好的預測函數權重較大,反之較小。最終的預測函數H對分類問題采用有權重的投票方式,對回歸問題采用加權平均的方法對新示例進行判別。
Bagging與Boosting的區(qū)別:
二者的主要區(qū)別是取樣方式不同。Bagging采用均勻取樣,而Boosting根據錯誤率來取樣,因此Boosting的分類精度要優(yōu)于Bagging。Bagging的訓練集的選擇是隨機的,各輪訓練集之間相互獨立,而Boosting的各輪訓練集的選擇與前面各輪的學習結果有關;Bagging的各個預測函數沒有權重,而Boosting是有權重的;Bagging的各個預測函數可以并行生成,而Boosting的各個預測函數只能順序生成。對于像神經網絡這樣極為耗時的學習方法,Bagging可通過并行訓練節(jié)省大量時間開銷。
Bagging和Boosting都可以有效地提高分類的準確性。在大多數數據中,Boosting的準確性比Bagging高;在有些數據集中,Boosting會引起退化------過度擬合。
IBM SPSS Modeler中的應用:
在IBM SPSS Modeler中,可以設置Bagging或Boosting功能的在算法包括:
Neural
Network
CHAID
QUEST
C&RT
Linear
以CHAID決策樹為例:
接下來我們通過電信流失客戶分析模型的創(chuàng)建來體驗下這兩個參數的設置對預測結果的影響。
首先,我們創(chuàng)建一數據流文件 ,如下圖:

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

Step2:類型節(jié)點設置影響因素及目標:

Step3:選擇CHAID決策樹算法,并使用默認參數設置生成模型:

Step4:生成的模型結果,可以在摘要面板查看默認的參數設置內容:

Step5:通過評估節(jié)點查看模型準確率為84.49%:

接下來,我們第一次更改算法的設置內容,在構建選項的目標面板中,選中“增強模型穩(wěn)定性”,在整體面板中,設置模型數量為“10”。


重新運行模型后,可以看到,得到10個模型結果及各自的準確率:

也可以看到該算法中參數設置的內容:

再用評估節(jié)點,看到新模型準確率與之前的準確率相比,增加到88.16%:

同樣的道理,如果我們設置為Boosting選項,生成的模型可以看到它的準確度緩慢提升:

同樣的,用評估節(jié)點,可以看到模型的準確率會增加到92.03%:

總結:
通過上面的例子,我們可以看到使用Bagging和Boosting對模型帶來的影響,可以在實際項目中嘗試著使用,當然啦,因為使用這兩個選項后,它的計算量會大大增加,比如原來要構建一個決策樹模型,現在要構建N個(取決于你設置的模型個數),因此計算量是原來的N倍,所以,請耐心等待……
慧都控件網年終促銷第一波已開啟,全場6折起,豪禮搶不停>>>
截止時間:2016年10月30日
詳情請咨詢!
客服熱線:023-66090381